Since a few days Oracle updated the Certified Matrix for the Oracle Fusion Middleware Products concerning certified Oracle Databases.
Now Oracle 19c (19.3+) is certified with Oracle Fusion Middleware 12.2.1.2.0 and 12.2.1.3.0.
For example Oracle WebLogic Server 12.2.1.3.0 / 12.2.1.2.0 can use an Oracle 19c Database as target database for AppData, Repository Creation Utility (RCU) and WLS Features.
The same applies to Oracle Forms & Repors 12.2.1.3.0 / 12.2.1.2.0.
As well for Oracle SOA Suite 12.2.1.3.0 / 12.2.1.2.0
The complete certification matrix can be retrieved either in My Oracle Support https://support.oracle.com under the tab "Certifications" or on the Oracle Technical Resources (formerly Oracle Technology Network) website https://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html
This Blog is discontinued, its only read-only
Pages - Menu
▼
Pages
▼
Friday, June 28, 2019
Thursday, June 27, 2019
Offline Updating WebLogic Images using Oracle WebLogic Image Tool
This is next article about the Oracle WebLogic Image Tool https://github.com/oracle/weblogic-image-tool, in which I will show you, how to update an existing Oracle WebLogic Server Image in an offline environment (no access to the internet).
The previous articles can be found under:
Just download the Patch 29921455 for the release 12.2.1.3.190416 and copy the Zip File to your target server, assuming to /work/software. The only tricky part here is to provide the correct format for the parameter --patchID for the command cache addPatch of the imagetool. The Patch is 29921455, but this Patch ID exists for multiple Oracle WebLogic Releases (e.g. 12.2.1.3.190416, 12.2.1.3.190115). So you need to define your --patchID as <PatchNumber>_<WebLogicRelease>.
So for the shown example 29921455_12.2.1.3.190419.
As you can see, the patch 29921455 was added to the imagetool cache as entry id "29921455_12.2.1.3.190416".
Now we can update the existing Docker image. In my environment the Docker image is called oracle/wls_new:1.0. My new target image should be oracle/wls_new:2.0 and should contain the patch 29921455.
For this you need to execute the imagetool with the command "update", declare the source image (--fromImage) and the target image (--tag) and reference the patch to be applied (--patches). For the option "--patches" you have to use the cache entry with which you added the patch to the imagetool cache. In my example "29921455_12.2.1.3.190416".
Now we have a new Docker image which was build as oracle/wls_new:2.0 and it contains the patch 29921455.
The previous articles can be found under:
- Oracle WebLogic Image Tool https://dirknachbar.blogspot.com/2019/06/oracle-weblogic-image-tool.html
- Updating WebLogic Images using Oracle WebLogic Image Tool https://dirknachbar.blogspot.com/2019/06/updating-weblogic-images-using-oracle.html
Just download the Patch 29921455 for the release 12.2.1.3.190416 and copy the Zip File to your target server, assuming to /work/software. The only tricky part here is to provide the correct format for the parameter --patchID for the command cache addPatch of the imagetool. The Patch is 29921455, but this Patch ID exists for multiple Oracle WebLogic Releases (e.g. 12.2.1.3.190416, 12.2.1.3.190115). So you need to define your --patchID as <PatchNumber>_<WebLogicRelease>.
So for the shown example 29921455_12.2.1.3.190419.
#
$ docker images | grep oracle/wls_new
oracle/wls_new 1.0 dad1b3068c40 2 hours ago 1.22GB
$ cd <Path to your imagetool bin directory>
# Source the setup.sh
$ . ./setup.sh
# Add the Patch to the imagetool cache
$ imagetool cache addPatch --patchId=29921455_12.2.1.3.190416 --path=/work/software/p29921455_12213190416_Generic.zip
[2019-06-27 13:02:28] [com.oracle.weblogic.imagetool.cli.cache.AddPatchEntry] [INFO ] adding key 29921455_12.2.1.3.190416
[2019-06-27 13:02:28] [com.oracle.weblogic.imagetool.cli.cache.AddPatchEntry] [INFO ] adding key 29921455_12.2.1.3.190416
[2019-06-27 13:02:28] [com.oracle.weblogic.imagetool.cli.cache.AddPatchEntry] [INFO ] Added Patch entry 29921455_12.2.1.3.190416=/work/software/p29921455_12213190416_Generic.zip for wls
# Check if the Patch was correctly added to the imagetool cache
$ imagetool cache listItems
Cache contents
cache.dir=/home/din/cache
jdk_8u202=/work/software/server-jre-8u202-linux-x64.tar.gz
29016089_12.2.1.3.0=/home/din/cache/p29016089_122130_Generic.zip
wls_12.2.1.3.0=/work/software/fmw_12.2.1.3.0_wls_Disk1_1of1.zip
28186730_opatch=/home/din/cache/p28186730_139400_Generic.zip
29921455_12.2.1.3.190416=/work/software/p29921455_12213190416_Generic.zip
As you can see, the patch 29921455 was added to the imagetool cache as entry id "29921455_12.2.1.3.190416".
Now we can update the existing Docker image. In my environment the Docker image is called oracle/wls_new:1.0. My new target image should be oracle/wls_new:2.0 and should contain the patch 29921455.
For this you need to execute the imagetool with the command "update", declare the source image (--fromImage) and the target image (--tag) and reference the patch to be applied (--patches). For the option "--patches" you have to use the cache entry with which you added the patch to the imagetool cache. In my example "29921455_12.2.1.3.190416".
# $ imagetool update --fromImage oracle/wls_new:1.0 --tag oracle/wls_new:2.0 --patches 29921455_12.2.1.3.190416 [2019-06-27 13:17:25] [com.oracle.weblogic.imagetool.cli.menu.UpdateImage] [INFO ] tmp directory in for docker run: /home/din/wlsimgbuilder_temp1812783530686130006 [2019-06-27 13:17:32] [com.oracle.weblogic.imagetool.cli.menu.UpdateImage] [INFO ] OPatch patch number 28186730 cached file /home/din/cache/p28186730_139400_Generic.zip version 13.9.4.2.0 [2019-06-27 13:17:32] [com.oracle.weblogic.imagetool.cli.menu.UpdateImage] [INFO ] ID="ol" [2019-06-27 13:17:32] [com.oracle.weblogic.imagetool.cli.menu.UpdateImage] [INFO ] OPATCH_VERSION=13.9.4.2.0 [2019-06-27 13:17:32] [com.oracle.weblogic.imagetool.cli.menu.UpdateImage] [INFO ] WLS_VERSION=12.2.1.3.0 [2019-06-27 13:17:32] [com.oracle.weblogic.imagetool.cli.menu.UpdateImage] [INFO ] ORACLE_HOME=/u01/oracle [2019-06-27 13:17:32] [com.oracle.weblogic.imagetool.cli.menu.UpdateImage] [INFO ] VERSION_ID="7.6" . . . . . . Backup area for restore has been cleaned up. For a complete list of files/directories deleted, Please refer log file. OPatch succeeded. Removing intermediate container c7487cd7ea8b ---> 6669bd543ace Successfully built 6669bd543ace Successfully tagged oracle/wls_new:2.0 # Lets check $ docker images | grep oracle/wls_new oracle/wls_new 2.0 6669bd543ace 15 minutes ago 1.35GB oracle/wls_new 1.0 dad1b3068c40 2 hours ago 1.22GB # Get inside the new Docker Image and check if the patch was applied correctly $ docker run --rm -it oracle/wls_new:2.0 /bin/bash [oracle@0eae36070e05 oracle]$ cd OPatch [oracle@0eae36070e05 OPatch]$ ./opatch lsinventory . . . . . . Local Machine Information:: Hostname: 0eae36070e05 ARU platform id: 226 ARU platform description:: Linux x86-64 Interim patches (6) : Patch 29921455 : applied on Thu Jun 27 11:17:56 GMT 2019 Unique Patch ID: 22975494 Patch description: "One-off" Created on 18 Jun 2019, 13:22:28 hrs PST8PDT Bugs fixed: 29921455 This patch overlays patches: 29016089 This patch needs patches: 29016089 as prerequisites . . . . . . OPatch succeeded. [oracle@0eae36070e05 OPatch]$ exit
Now we have a new Docker image which was build as oracle/wls_new:2.0 and it contains the patch 29921455.
Monday, June 24, 2019
Updating WebLogic Images using Oracle WebLogic Image Tool
On 21st June 2019 I was showing in a blog post the Oracle WebLogic Image Tool and how to create Oracle WebLogic Images on Docker with the Oracle WebLogic Image Tool https://dirknachbar.blogspot.com/2019/06/oracle-weblogic-image-tool.html
Today, I will show how to update an existing Oracle WebLogic Image on Docker with the Oracle WebLogic Image Tool https://github.com/oracle/weblogic-image-tool
Let's assume, I have one Oracle WebLogic 12.2.1.3.0 Docker Image named oracle/wls_serverjre:1.0 and I want to apply the Patch 29637821 and tag the Image as oracle/wls_serverjre:2.0
As you can see from the above displayed opatch lsinventory, on the oracle/wls_serverjre:1.0 are just the 4 Patches which are applied during the base software installation and the latest PSU 29016089 from April 2019.
Now let's start to update the Docker Image oracle/wls_serverjre:1.0 and apply the Patch 29637821
First trial => FAILED ! Unfortunately the documentation is is a bit confusing on this section, it just states that sometimes you have to use p[nnnnnnnn] and sometimes just the PatchNumber without the starting "p". So in case you receive above shown error, just try it without the leading "p" and use just the plain PatchNumber.
Now, we can check if the new Docker Image was build correctly and if the Patch 29637821 was correctly applied on the new Image.
You can see, that the new WebLogic Server Image oracle/wls_serverjre:2.0 was correctly build and the Patch 29637821 was applied correctly to the new Image. The only minor problem is the handling of the Patch Number with the Oracle WebLogic Image Tool, if Oracle can with a unique approach how to pass the Patches (either with leading "p" or without), the tool becomes really useful.
Today, I will show how to update an existing Oracle WebLogic Image on Docker with the Oracle WebLogic Image Tool https://github.com/oracle/weblogic-image-tool
Let's assume, I have one Oracle WebLogic 12.2.1.3.0 Docker Image named oracle/wls_serverjre:1.0 and I want to apply the Patch 29637821 and tag the Image as oracle/wls_serverjre:2.0
# $ docker images | grep oracle/wls_serverjre oracle/wls_serverjre 1.0 ca40e90b620f 3 hours ago 1.22GB # Lets get into the oracle/wls_serverjre:1.0 Image # and check which Patches are already applied $ docker run --rm -it oracle/wls_serverjre:1.0 /bin/bash [oracle@c629e274ef67 oracle]$ cd OPatch/ [oracle@c629e274ef67 OPatch]$ ./opatch lsinventory Oracle Interim Patch Installer version 13.9.4.2.0 Copyright (c) 2019, Oracle Corporation. All rights reserved. Oracle Home : /u01/oracle Central Inventory : /u01/oracle/oraInventory from : /u01/oracle/oraInst.loc OPatch version : 13.9.4.2.0 OUI version : 13.9.4.0.0 Log file location : /u01/oracle/cfgtoollogs/opatch/opatch2019-06-24_10-28-39AM_1.log OPatch detects the Middleware Home as "/u01/oracle" Lsinventory Output file location : /u01/oracle/cfgtoollogs/opatch/lsinv/lsinventory2019-06-24_10-28-39AM.txt -------------------------------------------------------------------------------- Local Machine Information:: Hostname: c629e274ef67 ARU platform id: 226 ARU platform description:: Linux x86-64 Interim patches (5) : Patch 29016089 : applied on Mon Jun 24 08:02:18 GMT 2019 Unique Patch ID: 22640288 Patch description: "WLS PATCH SET UPDATE 12.2.1.3.190416" Created on 31 Jan 2019, 00:50:49 hrs PST8PDT Bugs fixed: 23076695, 23103220, 25387569, 25488428, 25580220, 25665727, 25750303 25800186, 25987400, 25993295, 26026959, 26080417, 26098043, 26144830 26145911, 26248394, 26267487, 26268190, 26353793, 26439373, 26473149 26499391, 26502060, 26547016, 26589850, 26608537, 26624375, 26626528 26731253, 26791760, 26806438, 26828499, 26835012, 26929163, 26936500 26943614, 26985581, 27033250, 27055227, 27086845, 27111664, 27117282 27118731, 27131483, 27187631, 27213775, 27234961, 27272911, 27284496 27397287, 27411153, 27417245, 27445260, 27469756, 27486993, 27516977 27561226, 27603087, 27617877, 27693510, 27803728, 27819370, 27912485 27927071, 27928833, 27934864, 27947832, 27948303, 27988175, 28071913 28103938, 28110087, 28138954, 28140800, 28142116, 28149607, 28166483 28171852, 28172380, 28311332, 28313163, 28319690, 28360225, 28375173 28375702, 28409586, 28503638, 28550962, 28559579, 28594324, 28626991 28632521, 28651365, 28748179, 28774974, 28874066, 28891448, 28895280 28958819, 28984617, 29140508, 29140516, 29140540, 29140549, 29140551 29140555 Patch 26355633 : applied on Mon Jun 24 08:00:52 GMT 2019 Unique Patch ID: 21447583 Patch description: "One-off" Created on 1 Aug 2017, 21:40:20 hrs UTC Bugs fixed: 26355633 Patch 26287183 : applied on Mon Jun 24 08:00:43 GMT 2019 Unique Patch ID: 21447582 Patch description: "One-off" Created on 1 Aug 2017, 21:41:27 hrs UTC Bugs fixed: 26287183 Patch 26261906 : applied on Mon Jun 24 08:00:29 GMT 2019 Unique Patch ID: 21344506 Patch description: "One-off" Created on 12 Jun 2017, 23:36:08 hrs UTC Bugs fixed: 25559137, 25232931, 24811916 Patch 26051289 : applied on Mon Jun 24 08:00:25 GMT 2019 Unique Patch ID: 21455037 Patch description: "One-off" Created on 31 Jul 2017, 22:11:57 hrs UTC Bugs fixed: 26051289 -------------------------------------------------------------------------------- OPatch succeeded. [oracle@c629e274ef67 OPatch]$ exit
As you can see from the above displayed opatch lsinventory, on the oracle/wls_serverjre:1.0 are just the 4 Patches which are applied during the base software installation and the latest PSU 29016089 from April 2019.
Now let's start to update the Docker Image oracle/wls_serverjre:1.0 and apply the Patch 29637821
# $ imagetool update \ --fromImage oracle/wls_serverjre:1.0 \ --tag oracle/wls_serverjre:2.0 \ --user <Your MyOracleSupport UserAccount> \ --password=<Your MyOracleSupport Password> \ --patches p29637821 [2019-06-24 12:31:42] [com.oracle.weblogic.imagetool.cli.menu.UpdateImage] [INFO ] tmp directory in for docker run: /home/din/wlsimgbuilder_temp3197293039367443425 [2019-06-24 12:31:50] [com.oracle.weblogic.imagetool.cli.menu.UpdateImage] [INFO ] ID="ol" [2019-06-24 12:31:50] [com.oracle.weblogic.imagetool.cli.menu.UpdateImage] [INFO ] OPATCH_VERSION=13.9.4.2.0 [2019-06-24 12:31:50] [com.oracle.weblogic.imagetool.cli.menu.UpdateImage] [INFO ] WLS_VERSION=12.2.1.3.0 [2019-06-24 12:31:50] [com.oracle.weblogic.imagetool.cli.menu.UpdateImage] [INFO ] ORACLE_HOME=/u01/oracle [2019-06-24 12:31:50] [com.oracle.weblogic.imagetool.cli.menu.UpdateImage] [INFO ] VERSION_ID="7.6" [2019-06-24 12:31:50] [com.oracle.weblogic.imagetool.cli.menu.UpdateImage] [INFO ] opatch-lsinventory file exists at: /home/din/wlsimgbuilder_temp3197293039367443425/opatch-lsinventory.txt [Fatal Error] :11:11: Open quote is expected for attribute "rel" associated with an element type "link". [2019-06-24 12:32:23] [com.oracle.weblogic.imagetool.cli.CLIDriver] [SEVERE ] Response code: -1, message: Malformed XML document
First trial => FAILED ! Unfortunately the documentation is is a bit confusing on this section, it just states that sometimes you have to use p[nnnnnnnn] and sometimes just the PatchNumber without the starting "p". So in case you receive above shown error, just try it without the leading "p" and use just the plain PatchNumber.
# $ imagetool update \ --fromImage oracle/wls_serverjre:1.0 \ --tag oracle/wls_serverjre:2.0 \ --user <Your MyOracleSupport UserAccount> \ --password=<Your MyOracleSupport Password> \ --patches 29637821 [2019-06-24 12:34:38] [com.oracle.weblogic.imagetool.cli.menu.UpdateImage] [INFO ] tmp directory in for docker run: /home/din/wlsimgbuilder_temp402222832861943526 [2019-06-24 12:34:46] [com.oracle.weblogic.imagetool.cli.menu.UpdateImage] [INFO ] ID="ol" [2019-06-24 12:34:46] [com.oracle.weblogic.imagetool.cli.menu.UpdateImage] [INFO ] OPATCH_VERSION=13.9.4.2.0 [2019-06-24 12:34:46] [com.oracle.weblogic.imagetool.cli.menu.UpdateImage] [INFO ] WLS_VERSION=12.2.1.3.0 [2019-06-24 12:34:46] [com.oracle.weblogic.imagetool.cli.menu.UpdateImage] [INFO ] ORACLE_HOME=/u01/oracle [2019-06-24 12:34:46] [com.oracle.weblogic.imagetool.cli.menu.UpdateImage] [INFO ] VERSION_ID="7.6" [2019-06-24 12:34:46] [com.oracle.weblogic.imagetool.cli.menu.UpdateImage] [INFO ] opatch-lsinventory file exists at: /home/din/wlsimgbuilder_temp402222832861943526/opatch-lsinventory.txt [2019-06-24 12:35:17] [com.oracle.weblogic.imagetool.cli.menu.UpdateImage] [INFO ] patch conflict check successful [2019-06-24 12:35:26] [com.oracle.weblogic.imagetool.cli.menu.UpdateImage] [INFO ] docker cmd = docker build --force-rm=true --no-cache --tag oracle/wls_serverjre:2.0 --build-arg BASE_IMAGE=oracle/wls_serverjre:1.0 --build-arg PATCHDIR=patches /home/din/wlsimgbuilder_temp6168038296324443485 Sending build context to Docker daemon 22.53kB . . . . . . Backup area for restore has been cleaned up. For a complete list of files/directories deleted, Please refer log file. OPatch succeeded. Removing intermediate container d47fbeb76474 ---> 1556d1cd3aa7 Successfully built 1556d1cd3aa7 Successfully tagged oracle/wls_serverjre:2.0
Now, we can check if the new Docker Image was build correctly and if the Patch 29637821 was correctly applied on the new Image.
# $ docker images | grep oracle/wls_serverjre oracle/wls_serverjre 2.0 1556d1cd3aa7 2 minutes ago 1.22GB oracle/wls_serverjre 1.0 ca40e90b620f 3 hours ago 1.22GB $ docker run --rm -it oracle/wls_serverjre:2.0 /bin/bash [oracle@7170ca6878ab oracle]$ cd OPatch/ [oracle@7170ca6878ab OPatch]$ ./opatch lsinventory Oracle Interim Patch Installer version 13.9.4.2.0 Copyright (c) 2019, Oracle Corporation. All rights reserved. Oracle Home : /u01/oracle Central Inventory : /u01/oracle/oraInventory from : /u01/oracle/oraInst.loc OPatch version : 13.9.4.2.0 OUI version : 13.9.4.0.0 Log file location : /u01/oracle/cfgtoollogs/opatch/opatch2019-06-24_10-36-41AM_1.log OPatch detects the Middleware Home as "/u01/oracle" Lsinventory Output file location : /u01/oracle/cfgtoollogs/opatch/lsinv/lsinventory2019-06-24_10-36-41AM.txt -------------------------------------------------------------------------------- Local Machine Information:: Hostname: 7170ca6878ab ARU platform id: 226 ARU platform description:: Linux x86-64 Interim patches (6) : Patch 29637821 : applied on Mon Jun 24 10:35:39 GMT 2019 Unique Patch ID: 22888395 Patch description: "One-off" Created on 24 Apr 2019, 22:39:34 hrs PST8PDT Bugs fixed: 29637821 Patch 29016089 : applied on Mon Jun 24 08:02:18 GMT 2019 Unique Patch ID: 22640288 Patch description: "WLS PATCH SET UPDATE 12.2.1.3.190416" Created on 31 Jan 2019, 00:50:49 hrs PST8PDT Bugs fixed: 23076695, 23103220, 25387569, 25488428, 25580220, 25665727, 25750303 25800186, 25987400, 25993295, 26026959, 26080417, 26098043, 26144830 26145911, 26248394, 26267487, 26268190, 26353793, 26439373, 26473149 26499391, 26502060, 26547016, 26589850, 26608537, 26624375, 26626528 26731253, 26791760, 26806438, 26828499, 26835012, 26929163, 26936500 26943614, 26985581, 27033250, 27055227, 27086845, 27111664, 27117282 27118731, 27131483, 27187631, 27213775, 27234961, 27272911, 27284496 27397287, 27411153, 27417245, 27445260, 27469756, 27486993, 27516977 27561226, 27603087, 27617877, 27693510, 27803728, 27819370, 27912485 27927071, 27928833, 27934864, 27947832, 27948303, 27988175, 28071913 28103938, 28110087, 28138954, 28140800, 28142116, 28149607, 28166483 28171852, 28172380, 28311332, 28313163, 28319690, 28360225, 28375173 28375702, 28409586, 28503638, 28550962, 28559579, 28594324, 28626991 28632521, 28651365, 28748179, 28774974, 28874066, 28891448, 28895280 28958819, 28984617, 29140508, 29140516, 29140540, 29140549, 29140551 29140555 Patch 26355633 : applied on Mon Jun 24 08:00:52 GMT 2019 Unique Patch ID: 21447583 Patch description: "One-off" Created on 1 Aug 2017, 21:40:20 hrs UTC Bugs fixed: 26355633 Patch 26287183 : applied on Mon Jun 24 08:00:43 GMT 2019 Unique Patch ID: 21447582 Patch description: "One-off" Created on 1 Aug 2017, 21:41:27 hrs UTC Bugs fixed: 26287183 Patch 26261906 : applied on Mon Jun 24 08:00:29 GMT 2019 Unique Patch ID: 21344506 Patch description: "One-off" Created on 12 Jun 2017, 23:36:08 hrs UTC Bugs fixed: 25559137, 25232931, 24811916 Patch 26051289 : applied on Mon Jun 24 08:00:25 GMT 2019 Unique Patch ID: 21455037 Patch description: "One-off" Created on 31 Jul 2017, 22:11:57 hrs UTC Bugs fixed: 26051289 -------------------------------------------------------------------------------- OPatch succeeded.
You can see, that the new WebLogic Server Image oracle/wls_serverjre:2.0 was correctly build and the Patch 29637821 was applied correctly to the new Image. The only minor problem is the handling of the Patch Number with the Oracle WebLogic Image Tool, if Oracle can with a unique approach how to pass the Patches (either with leading "p" or without), the tool becomes really useful.
Friday, June 21, 2019
Oracle WebLogic Image Tool
As I am currently working mainly with Oracle Products on Docker (Oracle Databases, Oracle JDK's and Oracle WebLogic Servers) I had a quick look on the Oracle WebLogic Image Tool https://github.com/oracle/weblogic-image-tool
This utility provided by Oracle is creating for you Docker Images of Oracle WebLogic Servers, downloads Patches directly from My Oracle Support and applying these patches into your Docker Image.
What you will need to do, at first get the Oracle WebLogic Image Tool from GitHub, and build the project with Maven, take note that you need to create upfront the build a cache directory under $HOME !
As next modify the imagetool-1.0.1-SNAPSHOT/bin/setup.sh script and add your JAVA_HOME
Now we can add the required Oracle JDK 1.8 software and the Oracle WebLogic Server installation software to the imagetool cache. The Oracle JDK 1.8 and Oracle WebLogic Server installation software you will need to download upfront and transfer them to your target server.
Now as we have added the required installation software to the imagetool cache we can start to create our image.
Just create under imagetool-1.0.1-SNAPSHOT/bin a new Shell script called create-wls-image.sh with following content and align the JAVA_HOME variable to your environment and the path to the imagetool lib directory. On top set the --tag to your desired Image Name
Now we can start to create our Docker Image
Lets check.
As you can see, the imagetool added the latest PSU for our Oracle WebLogic Server 12.2.1.3.0 and the OPatch Patch, so that when we build the next image, these patches are already added to the cache and don't need to be downloaded again. The only minor problem which I see, is the key value for the latest PSU is just given with "null_12.2.1.3.0", my personal wish would be, that Oracle is displaying instead of the "null" the Patch Number.
You can even use this utility in an "Offline-Mode" with no internet connection, you just need to download upfront the required patches from My Oracle Support and transfer them to your server and add them manually into the imagetool cache.
This utility provided by Oracle is creating for you Docker Images of Oracle WebLogic Servers, downloads Patches directly from My Oracle Support and applying these patches into your Docker Image.
What you will need to do, at first get the Oracle WebLogic Image Tool from GitHub, and build the project with Maven, take note that you need to create upfront the build a cache directory under $HOME !
# # Clone the Oracle WebLogic Image Tool from GitHub $ git clone https://github.com/oracle/weblogic-image-tool.git Cloning into 'weblogic-image-tool'... remote: Enumerating objects: 303, done. remote: Counting objects: 100% (303/303), done. remote: Compressing objects: 100% (169/169), done. remote: Total 2339 (delta 117), reused 243 (delta 81), pack-reused 2036 Receiving objects: 100% (2339/2339), 410.24 KiB | 1.24 MiB/s, done. Resolving deltas: 100% (985/985), done. # Create the required cache directory under $HOME $ mkdir $HOME/cache # Build the project with Maven $ mvn clean package . . . . . . [INFO] [INFO] --- maven-jar-plugin:3.1.1:jar (default-jar) @ imagetool --- [INFO] Building jar: /work/projects/weblogic-image-tool/imagetool/target/imagetool.jar [INFO] [INFO] --- exec-maven-plugin:1.6.0:exec (generate-autocompletion-script) @ imagetool --- [INFO] [INFO] --- maven-assembly-plugin:2.2-beta-5:single (build-zip-installer) @ imagetool --- [INFO] Reading assembly descriptor: src/assembly/zip.xml [INFO] Building zip: /work/projects/weblogic-image-tool/imagetool/target/imagetool-1.0.1-SNAPSHOT.zip [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] [INFO] Build Tools 1.0 .................................... SUCCESS [ 0.789 s] [INFO] WebLogic Image Tool (parent) 1.0.1-SNAPSHOT ........ SUCCESS [ 0.001 s] [INFO] WebLogic Image Tool 1.0.1-SNAPSHOT ................. SUCCESS [ 4.835 s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 5.742 s [INFO] Finished at: 2019-06-21T09:17:03+02:00 [INFO] ------------------------------------------------------------------------ # Copy and extract the packaged Oracle WebLogic Image Tool to your target destination $ mkdir -p /work/tools $ cp imagetool/target/imagetool-1.0.1-SNAPSHOT.zip /work/tools $ cd /work/tools $ unzip imagetool-1.0.1-SNAPSHOT.zip $ cd imagetool-1.0.1-SNAPSHOT $ tree . ├── bin │ ├── logging.properties │ └── setup.sh └── lib ├── commons-codec-1.10.jar ├── commons-logging-1.2.jar ├── fluent-hc-4.5.6.jar ├── httpclient-4.5.6.jar ├── httpcore-4.4.10.jar ├── httpmime-4.5.6.jar ├── imagetool_completion.sh ├── imagetool.jar ├── json-20180813.jar └── picocli-3.8.0.jar 2 directories, 12 files
As next modify the imagetool-1.0.1-SNAPSHOT/bin/setup.sh script and add your JAVA_HOME
# # Align the bin/setup.sh with the required JAVA_HOME, must be a JDK 1.8 # Add just below the line "umask 27" a line with your JAVA_HOME $ vi bin/setup.sh . . . umask 27 export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_211 . . .
Now we can add the required Oracle JDK 1.8 software and the Oracle WebLogic Server installation software to the imagetool cache. The Oracle JDK 1.8 and Oracle WebLogic Server installation software you will need to download upfront and transfer them to your target server.
# # Assuming that you have downloaded and transferred already the installation software # to your target server, e.g. /work/software $ ls /work/software/ fmw_12.2.1.3.0_wls_Disk1_1of1.zip jdk-8u211-linux-x64.tar.gz # Source the setup.sh script $ cd /work/tools/imagetool-1.0.1-SNAPSHOT/bin $ . ./setup.sh # Adding Oracle JDK 1.8.0_211 to the Oracle WebLogic Image Tool cache $ imagetool cache addInstaller --type jdk --version 8u211 --path /work/software/jdk-8u211-linux-x64.tar.gz # Adding Oracle WebLogic Server 12.2.1.3.0 to the Oracle WebLogic Image Tool cache $ imagetool cache addInstaller --type wls --version 12.2.1.3.0 --path /work/software/fmw_12.2.1.3.0_wls_Disk1_1of1.zip # Check the content of the imagetool cache $ imagetool cache listItems Cache contents cache.dir=/home/din/cache jdk_8u211=/work/software/jdk-8u211-linux-x64.tar.gz wls_12.2.1.3.0=/work/software/fmw_12.2.1.3.0_wls_Disk1_1of1.zip
Now as we have added the required installation software to the imagetool cache we can start to create our image.
Just create under imagetool-1.0.1-SNAPSHOT/bin a new Shell script called create-wls-image.sh with following content and align the JAVA_HOME variable to your environment and the path to the imagetool lib directory. On top set the --tag to your desired Image Name
#!/bin/sh export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_211 export PATH=$JAVA_HOME/bin:$PATH alias imagetool='java -cp "/work/tools/imagetool-1.0.1-SNAPSHOT/lib/*" com.oracle.weblogic.imagetool.cli.CLIDriver' imagetool create \ --tag=oracle/wls:1.0 \ --fromImage=oraclelinux:7-slim \ --jdkVersion=8u211 \ --latestPSU \ --version=12.2.1.3.0 \ --type=wls \ --user=<Your MyOracleSupport UserAccount> \ --password=<Your MyOracleSupport Password> # Cleanup dangling images echo " ***********************************" echo " Cleanup dangling images" echo " ***********************************" docker rmi $(docker images --filter "dangling=true" -q --no-trunc)
Now we can start to create our Docker Image
# $ chmod +x create-wls-image.sh $ ./create-wls-image.sh Jun 21, 2019 9:51:34 AM com.oracle.weblogic.imagetool.cli.menu.CreateImage call INFO: tmp directory used for build context: /home/din/wlsimgbuilder_temp770248339375336616 Jun 21, 2019 9:51:35 AM com.oracle.weblogic.imagetool.cli.menu.CreateImage call INFO: tmp directory for docker run: /home/din/wlsimgbuilder_temp8049214846342972141 Jun 21, 2019 9:51:36 AM com.oracle.weblogic.imagetool.cli.menu.CreateImage lambda$call$0 INFO: ID="ol" Jun 21, 2019 9:51:36 AM com.oracle.weblogic.imagetool.cli.menu.CreateImage lambda$call$0 INFO: VERSION_ID="7.6" Jun 21, 2019 9:52:48 AM com.oracle.weblogic.imagetool.cli.menu.CreateImage call INFO: docker cmd = docker build --force-rm=true --no-cache --tag oracle/wls:1.0 --build-arg WLS_PKG=fmw_12.2.1.3.0_wls_Disk1_1of1.zip --build-arg JAVA_PKG=jdk-8u211-linux-x64.tar.gz --build-arg BASE_IMAGE=oraclelinux:7-slim --build-arg PATCHDIR=patches /home/din/wlsimgbuilder_temp770248339375336616 Sending build context to Docker daemon 1.108GB . . . . . . Removing intermediate container f37f08f14b51 ---> 067e69f6d893 Successfully built 067e69f6d893 Successfully tagged oracle/wls:1.0 *********************************** Cleanup dangling images *********************************** . . . . . . Deleted: sha256:64ad73b32a2b8912c122fede17be996843f570999e74faec5a6bacafa4932714
Lets check.
# $ docker images | grep oracle/wls oracle/wls 1.0 067e69f6d893 3 minutes ago 1.48GB # Lets check the cache content of the Oracle WebLogic Image Tool $ imagetool cache listItems Cache contents cache.dir=/home/din/cache jdk_8u211=/work/software/jdk-8u211-linux-x64.tar.gz null_12.2.1.3.0=/home/din/cache/p29016089_122130_Generic.zip wls_12.2.1.3.0=/work/software/fmw_12.2.1.3.0_wls_Disk1_1of1.zip 28186730_opatch=/home/din/cache/p28186730_139400_Generic.zip
As you can see, the imagetool added the latest PSU for our Oracle WebLogic Server 12.2.1.3.0 and the OPatch Patch, so that when we build the next image, these patches are already added to the cache and don't need to be downloaded again. The only minor problem which I see, is the key value for the latest PSU is just given with "null_12.2.1.3.0", my personal wish would be, that Oracle is displaying instead of the "null" the Patch Number.
You can even use this utility in an "Offline-Mode" with no internet connection, you just need to download upfront the required patches from My Oracle Support and transfer them to your server and add them manually into the imagetool cache.
Thursday, June 20, 2019
No more ALTER USER RENAME under Oracle 19c
Some times ago, I have published a blog series about the undocumented feature "ALTER USER RENAME":
Now let's try if the undocumented feature "ALTER USER RENAME" is still working:
As you can see, if you try to perform the ALTER USER RENAME command, you will receive immediately an "ORA-03001: unimplemented feature" :-(
I really hope, that one day Oracle will pick up the Database Idea proposal "Need a command to rename a schema" (https://community.oracle.com/ideas/2334) from the Database Idea Community Forum. If you haven't currently voted up for this Database Idea in the Database Idea Community Forum, please do so ...
- Part 1: ALTER USER RENAME - A half official option: https://dirknachbar.blogspot.ch/2016/03/alter-user-rename-half-official-option.html
- Part 2: ALTER USER RENAME - Part 2: https://dirknachbar.blogspot.ch/2016/03/alter-user-rename-part-2.html
- Part 3: ALTER USER RENAME - Part 3: https://dirknachbar.blogspot.ch/2016/03/alter-user-rename-part-3.html
- Oracle 18c - ALTER USER RENAME: https://dirknachbar.blogspot.ch/2018/03/oracle-18c-alter-user-rename.html
# $ sqlplus sys/<password>@db19cpdb1 as sysdba SQL*Plus: Release 19.0.0.0.0 - Production on Thu Jun 20 13:14:31 2019 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0 SQL> select banner from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production SQL> create user test identified by "Oracle19c" default tablespace users quota unlimited on users; User created. SQL> grant connect, resource, create table, create view to test; Grant succeeded. SQL> connect test/Oracle19c@db19cpdb1 SQL> create table t1 (id number, col1 varchar2(50)); Table created. SQL> insert into t1 values (1, 'Test 1'); 1 row created. SQL> commit; Commit completed. SQL> create view v1 as select * from t1; View created. SQL> exit
Now let's try if the undocumented feature "ALTER USER RENAME" is still working:
# sqlplus sys/<password>@db19cpdb1 as sysdba SQL> alter session set "_enable_rename_user"=true; Session altered. SQL> alter system enable restricted session; System altered. SQL> alter user test rename to test_new identified by "Oracle19c"; alter user test rename to test_new identified by "Oracle19c" * ERROR at line 1: ORA-03001: unimplemented feature SQL> alter system disable restricted session; System altered.
As you can see, if you try to perform the ALTER USER RENAME command, you will receive immediately an "ORA-03001: unimplemented feature" :-(
I really hope, that one day Oracle will pick up the Database Idea proposal "Need a command to rename a schema" (https://community.oracle.com/ideas/2334) from the Database Idea Community Forum. If you haven't currently voted up for this Database Idea in the Database Idea Community Forum, please do so ...
Oracle Developer Tools for Visual Studio Code
Since yesterday Oracle published the Visual Studio Code Extension "Oracle Developer Tools for VS Code" https://www.oracle.com/database/technologies/appdev/dotnet/odtvscodequickstart.html
I am normally not a Microsoft guy, but I have to admit that the Visual Studio Code from Microsoft is really cool, even on my Ubuntu Laptop.
In order to setup the Oracle Developer Tools for VS Code on Ubuntu you will need to complete following pre-requirements:
Install at first the .NET Core 2.2 SDK for Linux Ubuntu
As next you can install the "Oracle Developer Tools for VS Code" within your Visual Studio Code.
Go on the Extensions (Crtl+Shift+X) and search for the "Oracle Developer Tools for VS Code" and install it.
After the Extension is installed open a simple SQL Script, in the down menu bar make sure, that the Oracle-SQL and PLSQL Language Mode is selected. Beside you will find the menu bar entry "Disconnected"
Click on the "Disconnected" or alternatively you can use the F1 key and choose "Oracle:Connect" and a popup window will open in which you have to provide your Database Connection "servername:ListenerPort/ServiceName"
As next you have to choose if it should be a "normal" (Non-Administrator) connection or "as sysdba" (Administrator)
Then provide your User ID (username)
In the next window you will have to provide the password of your user
Then choose if the password should be saved or not
Finally accept the default name for the connection to be saved or provide your own name for the connection to be saved
After that you can execute your SQL Script directly from Visual Studio Code against your database connection. Just make a right click in your SQL Script and choose the context menu option "Execute Query" or use Ctrl+E
The query result will be displayed in a new screen right beside your SQL Script
In the query result screen you have several options like save the output in CSV or JSON, copy selected rows to your clipboard and so on.
This extension from Oracle for Visual Studio Code is really cool and useful :-)
I am normally not a Microsoft guy, but I have to admit that the Visual Studio Code from Microsoft is really cool, even on my Ubuntu Laptop.
In order to setup the Oracle Developer Tools for VS Code on Ubuntu you will need to complete following pre-requirements:
Install at first the .NET Core 2.2 SDK for Linux Ubuntu
# $ wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb $ sudo dpkg -i packages-microsoft-prod.deb [sudo] password for din: Selecting previously unselected package packages-microsoft-prod. (Reading database ... 217409 files and directories currently installed.) Preparing to unpack packages-microsoft-prod.deb ... Unpacking packages-microsoft-prod (1.0-ubuntu18.04.2) ... Setting up packages-microsoft-prod (1.0-ubuntu18.04.2) ... $ sudo add-apt-repository universe 'universe' distribution component is already enabled for all sources. sudo apt-get install apt-transport-https Reading package lists... Done Building dependency tree Reading state information... Done apt-transport-https is already the newest version (1.6.11). The following packages were automatically installed and are no longer required: linux-headers-4.18.0-20 linux-headers-4.18.0-20-generic linux-image-4.18.0-20-generic linux-modules-4.18.0-20-generic linux-modules-extra-4.18.0-20-generic Use 'sudo apt autoremove' to remove them. 0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded. $ sudo apt-get update Get:1 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB] . . . . . . Reading package lists... Done $ sudo apt-get install dotnet-sdk-2.2 Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: linux-headers-4.18.0-20 linux-headers-4.18.0-20-generic linux-image-4.18.0-20-generic linux-modules-4.18.0-20-generic linux-modules-extra-4.18.0-20-generic Use 'sudo apt autoremove' to remove them. The following additional packages will be installed: aspnetcore-runtime-2.2 dotnet-host dotnet-hostfxr-2.2 dotnet-runtime-2.2 dotnet-runtime-deps-2.2 liblttng-ust-ctl4 liblttng-ust0 liburcu6 The following NEW packages will be installed: aspnetcore-runtime-2.2 dotnet-host dotnet-hostfxr-2.2 dotnet-runtime-2.2 dotnet-runtime-deps-2.2 dotnet-sdk-2.2 liblttng-ust-ctl4 liblttng-ust0 liburcu6 0 upgraded, 9 newly installed, 0 to remove and 3 not upgraded. Need to get 135 MB of archives. After this operation, 397 MB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://ch.archive.ubuntu.com/ubuntu bionic/main amd64 liburcu6 amd64 0.10.1-1 [52.1 kB] . . . . . . Welcome to .NET Core! --------------------- Learn more about .NET Core: https://aka.ms/dotnet-docs Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs Telemetry --------- The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell. Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry Configuring... -------------- A command is running to populate your local package cache to improve restore speed and enable offline access. This command takes up to one minute to complete and only runs once. Processing triggers for libc-bin (2.27-3ubuntu1) ... $
As next you can install the "Oracle Developer Tools for VS Code" within your Visual Studio Code.
Go on the Extensions (Crtl+Shift+X) and search for the "Oracle Developer Tools for VS Code" and install it.
After the Extension is installed open a simple SQL Script, in the down menu bar make sure, that the Oracle-SQL and PLSQL Language Mode is selected. Beside you will find the menu bar entry "Disconnected"
Click on the "Disconnected" or alternatively you can use the F1 key and choose "Oracle:Connect" and a popup window will open in which you have to provide your Database Connection "servername:ListenerPort/ServiceName"
As next you have to choose if it should be a "normal" (Non-Administrator) connection or "as sysdba" (Administrator)
Then provide your User ID (username)
In the next window you will have to provide the password of your user
Then choose if the password should be saved or not
Finally accept the default name for the connection to be saved or provide your own name for the connection to be saved
After that you can execute your SQL Script directly from Visual Studio Code against your database connection. Just make a right click in your SQL Script and choose the context menu option "Execute Query" or use Ctrl+E
The query result will be displayed in a new screen right beside your SQL Script
In the query result screen you have several options like save the output in CSV or JSON, copy selected rows to your clipboard and so on.
This extension from Oracle for Visual Studio Code is really cool and useful :-)
Tuesday, June 11, 2019
Oracle Database 19c for Windows and Linux on System z available
Since this weekend the latest Oracle Database 19c (19.3) are also available for Windows (64-bit) and Linux on System z.
The Installation sources can be found under https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
The Windows (64-bit) version can be found under the following link under Oracle Technology Network https://www.oracle.com/technetwork/database/enterprise-edition/downloads/oracle19c-windows-5539283.html
The zLinux version can be found under the following link under Oracle Technology Network https://www.oracle.com/technetwork/database/enterprise-edition/downloads/oracle19c-linux-zseries64-193000-5539116.html
Happy download :-)
The Installation sources can be found under https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
The Windows (64-bit) version can be found under the following link under Oracle Technology Network https://www.oracle.com/technetwork/database/enterprise-edition/downloads/oracle19c-windows-5539283.html
The zLinux version can be found under the following link under Oracle Technology Network https://www.oracle.com/technetwork/database/enterprise-edition/downloads/oracle19c-linux-zseries64-193000-5539116.html
Happy download :-)