After Oracle released the Oracle Database 19c (19.3) for Linux and Solaris, now you can download as well the Oracle Database 19c (19.3) for IBM AIX and HP-UX ia64.
The software can be found under https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
Happy download :-)
This Blog is discontinued, its only read-only
Pages - Menu
▼
Pages
▼
Wednesday, May 29, 2019
Tuesday, May 14, 2019
Flexible Patching Concept for Optimized WebLogic Image on Docker
In the last days I was publishing my Optimized WebLogic Image on Docker Solution, see following links:
My latest update contains now the possibility to apply during the Image build multiple WebLogic Patches, just the OPatch Patch 28186730 is mandatory.
The latest sources you can find under my GitHub Repository https://github.com/DirkNachbar/Docker/tree/master/OracleWebLogic
The flexible patching concept is mainly based on Gerald Venzl's Patch Apply Solution for Oracle Database Docker Images https://github.com/oracle/docker-images/tree/master/OracleDatabase/SingleInstance/samples/applypatch, I took his solution as base and modified it for the usage for WebLogic 12.2.1.3.0 and aligned as well my Dockerfile.
Now you just have to download your desired patches and place them into the folder dockerfiles/12.2.1.3/patches/00n
For example you want to apply directly at the Image build the Oracle CPU April 2019 (29016089) and the WebLogic Patch 29637821, just download the 2 patches plus the mandatory OPatch Patch 28186730. Place the OPatch Patch 28186730 into the directory dockerfiles/12.2.1.3/patches. The Oracle CPU April 2019 (29016089) you place into dockerfiles/12.2.1.3/patches/001 and the WebLogic Patch 29637821 you place into dockerfiles/12.2.1.3/patches/002
In case you want to add a 3rd patch, simply create the folder dockerfiles/12.2.1.3/patches/003 and place your patch zip file there.
The applyPatches.sh script, which is executed while the Image build will take care of anything ;-)
Finally follow the instructions on how to build the image and how to start your Container from my GitHub Repository https://github.com/DirkNachbar/Docker/tree/master/OracleWebLogic
After you have started your WebLogic Server Container, you can verify the patch apply with following steps:
- https://dirknachbar.blogspot.com/2019/05/updated-version-of-optimized-weblogic.html
- https://dirknachbar.blogspot.com/2019/05/optimized-weblogic-image-on-docker.html
My latest update contains now the possibility to apply during the Image build multiple WebLogic Patches, just the OPatch Patch 28186730 is mandatory.
The latest sources you can find under my GitHub Repository https://github.com/DirkNachbar/Docker/tree/master/OracleWebLogic
The flexible patching concept is mainly based on Gerald Venzl's Patch Apply Solution for Oracle Database Docker Images https://github.com/oracle/docker-images/tree/master/OracleDatabase/SingleInstance/samples/applypatch, I took his solution as base and modified it for the usage for WebLogic 12.2.1.3.0 and aligned as well my Dockerfile.
Now you just have to download your desired patches and place them into the folder dockerfiles/12.2.1.3/patches/00n
For example you want to apply directly at the Image build the Oracle CPU April 2019 (29016089) and the WebLogic Patch 29637821, just download the 2 patches plus the mandatory OPatch Patch 28186730. Place the OPatch Patch 28186730 into the directory dockerfiles/12.2.1.3/patches. The Oracle CPU April 2019 (29016089) you place into dockerfiles/12.2.1.3/patches/001 and the WebLogic Patch 29637821 you place into dockerfiles/12.2.1.3/patches/002
# cd dockerfiles/12.2.1.3/patches tree ├── 001 │ └── p29016089_122130_Generic.zip ├── 002 │ └── p29637821_122130_Generic.zip ├── applyPatches.sh └── p28186730_139400_Generic.zip
In case you want to add a 3rd patch, simply create the folder dockerfiles/12.2.1.3/patches/003 and place your patch zip file there.
The applyPatches.sh script, which is executed while the Image build will take care of anything ;-)
Finally follow the instructions on how to build the image and how to start your Container from my GitHub Repository https://github.com/DirkNachbar/Docker/tree/master/OracleWebLogic
After you have started your WebLogic Server Container, you can verify the patch apply with following steps:
# $ docker exec -it <Your Container Name> /bin/bash [root@b08c600a5766 oracle]$ su - oracle [oracle@b08c600a5766 ~]$ cd /u01/oracle/ [oracle@b08c600a5766 ~]$ export ORACLE_HOME=`pwd` [oracle@b08c600a5766 ~]$ $ORACLE_HOME/OPatch/opatch lsinv Oracle Interim Patch Installer version 13.9.4.2.0 Copyright (c) 2019, Oracle Corporation. All rights reserved. . . . . . . Interim patches (6) : Patch 29637821 : applied on Tue May 14 12:53:46 UTC 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 Tue May 14 12:53:14 UTC 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 . . . . . . -------------------------------------------------------------------------------- OPatch succeeded.
Thursday, May 9, 2019
Updated Version of Optimized WebLogic Image on Docker
Yesterday I published my solution for an optimized WebLogic Image on Docker (https://dirknachbar.blogspot.com/2019/05/optimized-weblogic-image-on-docker.html). The yesterdays version was limited to the usage of Oracle Server JRE 8u152, due to an Oracle Bug 27117282.
So I updated my Optimized Solution, that you can integrate the necessary patches (Patch for OPatch Util and the latest CPU April 2019 for WebLogic 12.2.1.3.0), in order that you are able to use an actual Oracle Server JRE, e.g. Oracle Server JRE 8u202. But this requires that you have a My Oracle Support Login in order to download the 2 required patches.
The new Sources can be found under my GitHub Repo https://github.com/DirkNachbar/Docker/tree/master/OracleWebLogic
You just have to download the following 2 patches from My Oracle Support:
After that you can start to build your Oracle Server JRE Image as described in my yesterdays blogpost or in the README.md on my GitHub Repo, followed by the Docker Image build for the Oracle WebLogic Server 12.2.1.3.0 including the Patches.
This time you have to use instead of the option "-o" (stands for optimized) the option "-p" (stands for patch). This will update your OPatch Utility with the OPatch Patch 28186730 and apply afterwards the latest CPU April 2019 on your WebLogic Server 12.2.1.3.0 Software Home, so that you can use an actual Oracle Server JRE (e.g. 8u202) to create your WebLogic Domain without errors.
So I updated my Optimized Solution, that you can integrate the necessary patches (Patch for OPatch Util and the latest CPU April 2019 for WebLogic 12.2.1.3.0), in order that you are able to use an actual Oracle Server JRE, e.g. Oracle Server JRE 8u202. But this requires that you have a My Oracle Support Login in order to download the 2 required patches.
The new Sources can be found under my GitHub Repo https://github.com/DirkNachbar/Docker/tree/master/OracleWebLogic
You just have to download the following 2 patches from My Oracle Support:
- OPatch Patch, Patch 28186730 https://updates.oracle.com/Orion/Services/download/p28186730_139400_Generic.zip?aru=22731294&patch_file=p28186730_139400_Generic.zip
- CPU April 2019 Patch for WebLogic Server 12.2.1.3.0, Patch 29016089 https://updates.oracle.com/Orion/Services/download/p29016089_122130_Generic.zip?aru=22640288&patch_file=p29016089_122130_Generic.zip
After that you can start to build your Oracle Server JRE Image as described in my yesterdays blogpost or in the README.md on my GitHub Repo, followed by the Docker Image build for the Oracle WebLogic Server 12.2.1.3.0 including the Patches.
This time you have to use instead of the option "-o" (stands for optimized) the option "-p" (stands for patch). This will update your OPatch Utility with the OPatch Patch 28186730 and apply afterwards the latest CPU April 2019 on your WebLogic Server 12.2.1.3.0 Software Home, so that you can use an actual Oracle Server JRE (e.g. 8u202) to create your WebLogic Domain without errors.
Wednesday, May 8, 2019
Optimized WebLogic Image on Docker
As I am currently busy with optimizing Docker Images for Oracle stuff, I want to share with you my latest optimization for Oracle WebLogic Server 12.2.1.3.0 as Docker Image.
Under the Oracle GitHub Repository https://github.com/oracle/docker-images/tree/master/OracleWebLogic you can find all necessary files to build a Docker Image for Oracle WebLogic 12.2.1.x, which are quite useful, but the disadvantage of this image is the size. The Docker Image will be 2.93 GB !
So I spent some time and optimized the Docker build and my optimized Docker image is only 1.4 GB, so more than 50% space savings ;-)
The complete showcase you can find under my GitHub Repository https://github.com/DirkNachbar/Docker/tree/master/OracleWebLogic, just clone the Repo and perform following steps.
Download at first following software from Oracle Technology Network:
As next you can build the Oracle WebLogic Server 12.2.1.3.0 Image
Now create and run your Oracle WebLogic Server 12.2.1.3.0 Container:
With a little bit work of adding multi stage build in the Dockerfile, you are able to save more than 50% of the space in your Docker Image ;-)
Under the Oracle GitHub Repository https://github.com/oracle/docker-images/tree/master/OracleWebLogic you can find all necessary files to build a Docker Image for Oracle WebLogic 12.2.1.x, which are quite useful, but the disadvantage of this image is the size. The Docker Image will be 2.93 GB !
So I spent some time and optimized the Docker build and my optimized Docker image is only 1.4 GB, so more than 50% space savings ;-)
# Docker Images $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE oracle/weblogic 12.2.1.3-optimized 854be1c2bbb9 7 minutes ago 1.4GB oracle/weblogic 12.2.1.3-generic ba0d1c2dc430 25 minutes ago 2.93GB
The complete showcase you can find under my GitHub Repository https://github.com/DirkNachbar/Docker/tree/master/OracleWebLogic, just clone the Repo and perform following steps.
Download at first following software from Oracle Technology Network:
- Oracle Server JRE 8u152 (if you take a higher version, you will not be able to create a WebLogic Domain, due to a bug. I will post in the next days a solution to use a higher Server JRE) https://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html, place the tar.gz in the subdirectory dockerfiles/12.2.1.3/serverjre
- Oracle WebLogic Server 12.2.1.3.0 Generic Installer https://www.oracle.com/technetwork/middleware/weblogic/downloads/index.html, place the zip file in the subdirectory dockerfiles/12.2.1.3
# $ cd dockerfiles/12.2.1.3/serverjre $ ./buildDockerImage.sh $ docker images | grep serverjre REPOSITORY TAG IMAGE ID CREATED SIZE oracle/serverjre 8 63b4768f6557 About an hour ago 387MB
As next you can build the Oracle WebLogic Server 12.2.1.3.0 Image
# cd dockerfiles $ ./buildDockerImage.sh -v 12.2.1.3 -o Checking if required packages are present and valid... fmw_12.2.1.3.0_wls_Disk1_1of1.zip: OK ===================== Building image 'oracle/weblogic:12.2.1.3-optimized' ... Sending build context to Docker daemon 839MB Step 1/17 : FROM oracle/serverjre:8 as base ---> 63b4768f6557 Step 2/17 : LABEL maintainer="dirk.nachbar@trivadis.com" ---> Running in 9bfcf5aaa1d4 Removing intermediate container 9bfcf5aaa1d4 ---> 6cff4f8712d8 . . . . . . Step 13/17 : FROM base ---> 718f0506dfb8 Step 14/17 : COPY --chown=oracle:oracle --from=builder $ORACLE_HOME $ORACLE_HOME ---> 46ee0e3fd822 Step 15/17 : COPY --chown=oracle:oracle --from=builder $JAVA_HOME $JAVA_HOME ---> bddc30cf710e Step 16/17 : WORKDIR ${ORACLE_HOME} ---> Running in b7a122dc521b Removing intermediate container b7a122dc521b ---> 1b2aa03acef6 Step 17/17 : CMD ["/u01/oracle/createAndStartEmptyDomain.sh"] ---> Running in 296506a7fc03 Removing intermediate container 296506a7fc03 ---> 854be1c2bbb9 Successfully built 854be1c2bbb9 Successfully tagged oracle/weblogic:12.2.1.3-optimized WebLogic Docker Image for 'optimized' version 12.2.1.3 is ready to be extended: --> oracle/weblogic:12.2.1.3-optimized Build completed in 258 seconds. $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE oracle/weblogic 12.2.1.3-optimized 854be1c2bbb9 24 minutes ago 1.4GB
Now create and run your Oracle WebLogic Server 12.2.1.3.0 Container:
# $ docker run -d --name <ContainerName> \ -p 7001:7001 -p 9002:9002 \ -v <Host Path to subdirectory properties>:/u01/oracle/properties \ -e ADMINISTRATION_PORT_ENABLED=true -e DOMAIN_NAME=<DomainName> \ oracle/weblogic:12.2.1.3-optimized $ docker logs -f <ContainerName> # For Example: $ docker run -d --name wls12213optimized \ -p 7001:7001 -p 9002:9002 \ -v /work/OracleWebLogic/dockerfiles/12.2.1.3/properties:/u01/oracle/properties \ -e ADMINISTRATION_PORT_ENABLED=true -e DOMAIN_NAME=OptimizedDomain \ oracle/weblogic:12.2.1.3-optimized $ docker logs -f wls12213optimized . . . . . . <May 8, 2019 8:56:16,862 AM UTC> <Notice> <WebLogicServer> <BEA-000329> <Started the WebLogic Server Administration Server "AdminServer" for domain "OptimizedDomain" running in production mode.> <May 8, 2019 8:56:16,864 AM UTC> <Notice> <Server> <BEA-002613> <Channel "DefaultSecure[1]" is now listening on 127.0.0.1:7002 for protocols iiops, t3s, ldaps, https.> <May 8, 2019 8:56:16,865 AM UTC> <Notice> <Server> <BEA-002613> <Channel "DefaultSecure" is now listening on 172.17.0.2:7002 for protocols iiops, t3s, ldaps, https.> <May 8, 2019 8:56:16,865 AM UTC> <Notice> <Server> <BEA-002613> <Channel "Default" is now listening on 172.17.0.2:7001 for protocols iiop, t3, ldap, snmp, http.> <May 8, 2019 8:56:16,866 AM UTC> <Notice> <Server> <BEA-002613> <Channel "Default[1]" is now listening on 127.0.0.1:7001 for protocols iiop, t3, ldap, snmp, http.> <May 8, 2019 8:56:16,866 AM UTC> <Notice> <Server> <BEA-002613> <Channel "DefaultSecure[1]" is now listening on 127.0.0.1:7002 for protocols iiops, t3s, ldaps, https.> <May 8, 2019 8:56:16,866 AM UTC> <Notice> <Server> <BEA-002613> <Channel "DefaultSecure" is now listening on 172.17.0.2:7002 for protocols iiops, t3s, ldaps, https.> <May 8, 2019 8:56:16,867 AM UTC> <Notice> <Server> <BEA-002613> <Channel "Default" is now listening on 172.17.0.2:7001 for protocols iiop, t3, ldap, snmp, http.> <May 8, 2019 8:56:16,867 AM UTC> <Notice> <Server> <BEA-002613> <Channel "Default[1]" is now listening on 127.0.0.1:7001 for protocols iiop, t3, ldap, snmp, http.> <May 8, 2019 8:56:16,881 AM UTC> <Notice> <WebLogicServer> <BEA-000360> <The server started in RUNNING mode.> <May 8, 2019 8:56:16,911 AM UTC> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RUNNING.>
With a little bit work of adding multi stage build in the Dockerfile, you are able to save more than 50% of the space in your Docker Image ;-)
No Metrics visible for Standalone Oracle HTTP Server in Cloud Control 13c
Currently I had the problem within Oracle Cloud Control 13c (13.3), that when I added an Oracle HTTP Server Standalone 12.2.1.x, Cloud Control 13c was not able to display any kinds of metrics from the Oracle HTTP Server.
As you can see from the above screenshot, Cloud Control was able to show me the correct status (UP), but Cloud Control could not see any metrics or even no configured Virtual Hosts.
The problem is within the Oracle HTTP Server 12.2.1.x, as the Oracle HTTP Server doesn't contain all required dms jar files.
To solve this problem, simply apply the patch 22860384, which is available for following Oracle HTTP Server Releases:
Download the patch for your Oracle HTTP Server Release, copy the patch to the server on which your Oracle HTTP Server is running and apply the patch:
Now wait some minutes or if you are not really patient, perform on the Oracle Cloud Control Agent 13 multiple times "emctl upload agent"
After some time you should be able now to see in your configured Oracle HTTP Server Target in the Oracle Cloud Control 13c all metrics and even configured Virtual Hosts.
As you can see from the above screenshot, Cloud Control was able to show me the correct status (UP), but Cloud Control could not see any metrics or even no configured Virtual Hosts.
The problem is within the Oracle HTTP Server 12.2.1.x, as the Oracle HTTP Server doesn't contain all required dms jar files.
To solve this problem, simply apply the patch 22860384, which is available for following Oracle HTTP Server Releases:
- 12.2.1.0.0
- 12.2.1.1.0
- 12.2.1.2.0
Download the patch for your Oracle HTTP Server Release, copy the patch to the server on which your Oracle HTTP Server is running and apply the patch:
# Stop your Oracle HTTP Server $ cd $DOMAIN_HOME/bin $ ./stopComponent <OHS Component Name> # extract the zip file and go into the subdirectory 22860384 $ cd 22860384 $ $ORACLE_HOME/OPatch/opatch apply Oracle Interim Patch Installer version 13.9.1.0.0 Copyright (c) 2019, Oracle Corporation. All rights reserved. Oracle Home : /appl/oracle/product/fmw-webtier-12.2.1.2.0 Central Inventory : /appl/oracle/oraInventory from : /appl/oracle/product/fmw-webtier-12.2.1.2.0/oraInst.loc OPatch version : 13.9.1.0.0 OUI version : 13.9.1.0.0 Log file location : /appl/oracle/product/fmw-webtier-12.2.1.2.0/cfgtoollogs/opatch/opatch2019-05-08_13-21-31PM_1.log OPatch detects the Middleware Home as "/appl/oracle/product/fmw-webtier-12.2.1.2.0" Verifying environment and performing prerequisite checks... OPatch continues with these patches: 22860384 Do you want to proceed? [y|n] y User Responded with: Y All checks passed. Please shutdown Oracle instances running out of this ORACLE_HOME on the local system. (Oracle Home = '/appl/oracle/product/fmw-webtier-12.2.1.2.0') Is the local system ready for patching? [y|n] y User Responded with: Y Backing up files... Applying interim patch '22860384' to OH '/appl/oracle/product/fmw-webtier-12.2.1.2.0' ApplySession: Optional component(s) [ oracle.jmx, 12.2.1.0.0, higher version 12.2.1.2.0 found. ] not present in the Oracle Home or a higher version is found. Patching component oracle.jrf.thirdparty.jee, 12.2.1.2.0... Patching component oracle.jrf.thirdparty.jee, 12.2.1.2.0... Patch 22860384 successfully applied. Log file location: /appl/oracle/product/fmw-webtier-12.2.1.2.0/cfgtoollogs/opatch/opatch2019-05-08_13-21-31PM_1.log OPatch succeeded. # Startup your Oracle HTTP Server $ cd $DOMAIN_HOME/bin $ ./startComponent <OHS Component Name>
Now wait some minutes or if you are not really patient, perform on the Oracle Cloud Control Agent 13 multiple times "emctl upload agent"
After some time you should be able now to see in your configured Oracle HTTP Server Target in the Oracle Cloud Control 13c all metrics and even configured Virtual Hosts.
Friday, May 3, 2019
WildFly 16 Docker Image with Oracle JDBC Driver
Today some a bit off-topic blogpost from my usual classic Oracle blogpost, but with a bit of Oracle :-)
As more and more of my customers are moving away from Oracle WebLogic Server to JBoss/WildFly, I have create a small Docker Image with WildFly 16 including the Oracle JDBC Driver and a DataSource based on the Oracle JDBC Driver (18.3).
The full showcase you can find in my GitHub Repository https://github.com/DirkNachbar/Docker/tree/master/WildFly
Simply clone the repository to your machine hosting your Docker.
At first you will need to align the oracle-driver.cli script to reflect your required DataSource settings to connect to your Oracle Database
Now you can build the WildFly 16 Image:
In case you dont provide the --build-arg WILDFLY_ADMIN_PWD, the admin user of your WildFly will get the default password admin.
After the build is completed you can start your WildFly 16 Container with following command:
Now you can access the HAL Management Console of your WildFly 16 with your forwarded port of the Docker Container Port 9990, login with admin and your provided password in the --build-arg WILDFLY_ADMIN_PWD or if you didnt used the --build-arg you the password "admin"
After the Login, click on the option "Configuration"
On the Configuration screen navigate to "Subsystems / Datasources & Drivers / JDBC Drivers / oracle" to check your deployed JDBC Driver
On the Configuration screen navigate to "Subsystems / Datasources & Drivers / Datasources / testDS" to check your created DataSource
As more and more of my customers are moving away from Oracle WebLogic Server to JBoss/WildFly, I have create a small Docker Image with WildFly 16 including the Oracle JDBC Driver and a DataSource based on the Oracle JDBC Driver (18.3).
The full showcase you can find in my GitHub Repository https://github.com/DirkNachbar/Docker/tree/master/WildFly
Simply clone the repository to your machine hosting your Docker.
At first you will need to align the oracle-driver.cli script to reflect your required DataSource settings to connect to your Oracle Database
# Snippet from oracle-driver.cli data-source add --name=<DataSourceName> --driver-name="oracle" --jndi-name="java:<JNDI Lookup Name>" --statistics-enabled="true" --user-name="<Oracle Username>" --password="<Oracle User Password>" --initial-pool-size="<Initial Pool Size>" --max-pool-size="<Max Pool Size>" --min-pool-size="<Minimal Pool Size>" --connection-url="jdbc:oracle:thin:@<Oracle Database Servername>:<Listener Port>/<Database ServiceName>" --check-valid-connection-sql="select 1 from dual" # For example: data-source add --name=testDS --driver-name="oracle" --jndi-name="java:/jdbc/testDS" --statistics-enabled="true" --user-name="soe" --password="soe" --initial-pool-size="25" --max-pool-size="50" --min-pool-size="20" --connection-url="jdbc:oracle:thin:@oraxe18c:1521/XEPDB1" --check-valid-connection-sql="select 1 from dual" #
Now you can build the WildFly 16 Image:
In case you dont provide the --build-arg WILDFLY_ADMIN_PWD, the admin user of your WildFly will get the default password admin.
$ docker build [--build-arg WILDFLY_ADMIN_PWD=<your admin password>] -t wildfly . # For Example: $ docker build --build-arg WILDFLY_ADMIN_PWD=Oracle18c -t wildfly .
After the build is completed you can start your WildFly 16 Container with following command:
$ docker run -d --name wildfly \ [--network=<Your bridged network>] \ -p <Your Host Port>:8080 -p <Your Host Port>:9990 \ -e TZ=<Your Timezone> \ wildfly
Now you can access the HAL Management Console of your WildFly 16 with your forwarded port of the Docker Container Port 9990, login with admin and your provided password in the --build-arg WILDFLY_ADMIN_PWD or if you didnt used the --build-arg you the password "admin"
After the Login, click on the option "Configuration"
On the Configuration screen navigate to "Subsystems / Datasources & Drivers / JDBC Drivers / oracle" to check your deployed JDBC Driver
On the Configuration screen navigate to "Subsystems / Datasources & Drivers / Datasources / testDS" to check your created DataSource
Optimizing the Optimized Docker Image for Oracle XE 18c (18.4.0) including Archivelog
On 1st May 2019 I was publishing a solution on how to optimize the Docker image for Oracle XE 18c from 8.7 GB down to 5.41 GB (https://dirknachbar.blogspot.com/2019/05/optimized-docker-image-for-oracle-xe.html).
In the last 2 days I was playing a bit more with my optimized Docker image for Oracle XE 18c and I was able to downsize the Docker image once again to a current size of 4.02 GB. So its more than 50% of savings from the original Docker image size.
I mainly removed unnecessary directories from the $ORACLE_HOME and several binaries, which are not required in my opinion and I strip some of the big binaries to remove the comments from them.
You can find the optimized optimized Docker Image for Oracle XE 18c (18.4) in my GitHub Repository https://github.com/DirkNachbar/Docker/tree/master/OracleXE
Here is the list of directories and binaries which I removed from the image in order to come down to 4.02 GB:
I will continue to try to downsize the Docker image for Oracle XE 18c a bit more within the next days and will post updates on these topic.
In the last 2 days I was playing a bit more with my optimized Docker image for Oracle XE 18c and I was able to downsize the Docker image once again to a current size of 4.02 GB. So its more than 50% of savings from the original Docker image size.
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE oracle/database 18.4.0-xe 2018ad58d2f3 16 hours ago 4.02GB $
I mainly removed unnecessary directories from the $ORACLE_HOME and several binaries, which are not required in my opinion and I strip some of the big binaries to remove the comments from them.
You can find the optimized optimized Docker Image for Oracle XE 18c (18.4) in my GitHub Repository https://github.com/DirkNachbar/Docker/tree/master/OracleXE
Here is the list of directories and binaries which I removed from the image in order to come down to 4.02 GB:
# Snippet from Dockerfile.xe RUN cd $INSTALL_DIR && \ yum -y install $INSTALL_FILE_1 && \ rm -rf /var/cache/yum && \ rm -f $INSTALL_FILE_1 && \ rm -rf $ORACLE_HOME/demo && \ rm -rf $ORACLE_HOME/dmu && \ rm -rf $ORACLE_HOME/javavm && \ rm -rf $ORACLE_HOME/md && \ rm -rf $ORACLE_HOME/nls/demo && \ rm -rf $ORACLE_HOME/odbc && \ rm -rf $ORACLE_HOME/rdbms/demo && \ rm -rf $ORACLE_HOME/R && \ rm -rf $ORACLE_HOME/instantclient && \ rm -rf $ORACLE_HOME/inventory && \ rm -rf $ORACLE_HOME/deinstall && \ rm -r $ORACLE_HOME/lib/ra_aix_ppc64.zip && \ rm -r $ORACLE_HOME/lib/ra_hpux_ia64.zip && \ rm -r $ORACLE_HOME/lib/ra_solaris*.zip && \ rm -f $ORACLE_HOME/lib/ra_windows64.zip && \ rm -f $ORACLE_HOME/lib/ra_zlinux64.zip && \ rm -rf $ORACLE_HOME/crs && \ rm -f $ORACLE_HOME/bin/asmcmd && \ rm -f $ORACLE_HOME/bin/asmcmdcore && \ rm -f $ORACLE_HOME/bin/bdschecksw && \ rm -f £ORACLE_HOME/bin/dbv && \ rm -f $ORACLE_HOME/bin/ldap* && \ rm -f $ORACLE_HOME/bin/dbfs_client && \ rm -f $ORACLE_HOME/bin/afdboot && \ rm -f $ORACLE_HOME/bin/exp && \ rm -f $ORACLE_HOME/bin/imp && \ rm -f $ORACLE_HOME/bin/*.exe && \ rm -f $ORACLE_HOME/bin/lcsscan && \ rm -f $ORACLE_HOME/bin/dgmgrl && \ rm -f $ORACLE_HOME/bin/nid && \ rm -f $ORACLE_HOME/bin/orion && \ rm -f $ORACLE_HOME/bin/procob && \ rm -f $ORACLE_HOME/bin/setasmgid && \ rm -f $ORACLE_HOME/bin/wrap && \ rm -f $ORACLE_HOME/bin/*0 && \ rm -f $ORACLE_HOME/bin/tnsping && \ rm -f $ORACLE_HOME/bin/tkprof && \ rm -f $ORACLE_HOME/bin/srvctl && \ rm -f $ORCALE_HOME/bin/wrc && \ rm -rf $ORACLE_HOME/sdk && \ strip --remove-section=.comment $ORACLE_HOME/bin/oracle && \ strip --remove-section=.comment $ORACLE_HOME/bin/rman && \ strip --remove-section=.comment $ORACLE_HOME/bin/tnslsnr
I will continue to try to downsize the Docker image for Oracle XE 18c a bit more within the next days and will post updates on these topic.
Thursday, May 2, 2019
Oracle 19c for Solaris available
After the availability of the latest Oracle 19c Database for Linux platforms, Oracle has released now the Oracle 19c (19.3) Database for Solaris.
The software can be found under Oracle Technology Network: https://www.oracle.com/technetwork/database/enterprise-edition/downloads/oracle19c-solarisx86-5466166.html
Currently there is only the SPARC (64-bit) version available.
The software can be found under Oracle Technology Network: https://www.oracle.com/technetwork/database/enterprise-edition/downloads/oracle19c-solarisx86-5466166.html
Currently there is only the SPARC (64-bit) version available.
Wednesday, May 1, 2019
Optimized Docker Image for Oracle XE 18c (18.4.0) including Archivelog
In my current project I am mainly working with Oracle XE 18c (18.4.0) under Docker.
One pain point is size of the Docker Image for Oracle XE 18c, in case you will use the Scripts from https://github.com/oracle/docker-images/tree/master/OracleDatabase/SingleInstance for the build of Oracle XE 18c you will have an image size of 8.7 GB, which is not quite handy :-)
So I invested some time and have done some modifications on the Dockerfile.xe from the Oracle GitHub Repository, which is mainly to adopt multi stage and to remove some unnecessary directories from the $ORACLE_HOME, so that I finally come to an image size of 5.41 GB instead of 8.7 GB.
On top I have added some volumes to the Dockerfile.xe for fast recovery area and some tools (which are containing RMAN backup scripts) and a post setup script which will turn on the archivelog mode and flashback.
The full showcase you can find in my GitHub Repository https://github.com/DirkNachbar/Docker/tree/master/OracleXE
Just clone my above mentioned GitHub Repo, download the Oracle XE 18c rpm file from Oracle Technology Network https://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html and place it in the subdirectory 18.4.0.
On top you will need to create 4 directories on your Docker host, which will be the target directories for the following volume mapping:
Now you can execute the build of your Docker Image for Oracle XE 18c
Finally create your Docker Container:
Now you have a running Oracle XE 18c Container, your oradata, diag, fast_recovery_area and tools directories are mounted on your Docker Host and you can perform standard backups with RMAN against your Oracle XE 18c.
One pain point is size of the Docker Image for Oracle XE 18c, in case you will use the Scripts from https://github.com/oracle/docker-images/tree/master/OracleDatabase/SingleInstance for the build of Oracle XE 18c you will have an image size of 8.7 GB, which is not quite handy :-)
So I invested some time and have done some modifications on the Dockerfile.xe from the Oracle GitHub Repository, which is mainly to adopt multi stage and to remove some unnecessary directories from the $ORACLE_HOME, so that I finally come to an image size of 5.41 GB instead of 8.7 GB.
On top I have added some volumes to the Dockerfile.xe for fast recovery area and some tools (which are containing RMAN backup scripts) and a post setup script which will turn on the archivelog mode and flashback.
The full showcase you can find in my GitHub Repository https://github.com/DirkNachbar/Docker/tree/master/OracleXE
Just clone my above mentioned GitHub Repo, download the Oracle XE 18c rpm file from Oracle Technology Network https://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html and place it in the subdirectory 18.4.0.
On top you will need to create 4 directories on your Docker host, which will be the target directories for the following volume mapping:
- /opt/oracle/oradata
- /opt/oracle/diag
- /opt/oracle/fast_recovery_area
- /opt/oracle/tools
$ groupadd -g 54321 oinstall $ useradd -d /home/oracle -m -g oinstall [-G docker] -u 54321 oracle # Depending on your disk layout you will need to create 4 directories # e.g. you have one mount point called u01, create the following 4 directories below and switch the ownership to the oracle user $ mkdir -p /u01/diag $ mkdir -p /u01/oradata $ mkdir -p /u01/fast_recovery_area $ mkdir -p /u01/tools $ chown -R oracle:oinstall /u01/diag $ chown -R oracle:oinstall /u01/oradata $ chown -R oracle:oinstall /u01/fast_recovery_area $ chown -R oracle:oinstall /u01/tools
Now you can execute the build of your Docker Image for Oracle XE 18c
$ ./buildDockerImage.sh -v 18.4.0 -x . . . Successfully built ac71812fa9d3 Successfully tagged oracle/database:18.4.0-xe Oracle Database Docker Image for 'xe' version 18.4.0 is ready to be extended: --> oracle/database:18.4.0-xe Build completed in 697 seconds. $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE oracle/database 18.4.0-xe ac71812fa9d3 About an hour ago 5.41GB
Finally create your Docker Container:
docker run -d --name oraxe18c \ -p 1521:1521 -e ORACLE_PWD=[your password] \ -e ORACLE_CHARACTERSET=[your characterset] \ -e TZ=[your timezone] \ -v [host directory for oradata]:/opt/oracle/oradata \ -v [host directory for diag]:/opt/oracle/diag \ -v [host directory for fast_recovery_area]:/opt/oracle/fast_recovery_area \ -v [host directory for tools]:/opt/oracle/tools \ [--network [your bridged network] \ oracle/database:18.4.0-xe # For Example docker run -d --name oraxe18c \ -p 1521:1521 -e ORACLE_PWD=Oracle18c \ -e ORACLE_CHARACTERSET=AL32UTF8 \ -e TZ=Europe/Zurich \ -v /u01/oradata:/opt/oracle/oradata \ -v /u01/diag:/opt/oracle/diag \ -v /u01/fast_recovery_area:/opt/oracle/fast_recovery_area \ -v /u01/tools:/opt/oracle/tools \ --network mynet \ oracle/database:18.4.0-xe
Now you have a running Oracle XE 18c Container, your oradata, diag, fast_recovery_area and tools directories are mounted on your Docker Host and you can perform standard backups with RMAN against your Oracle XE 18c.
vi /u01/tools/full_bkp.rman connect target sys/[your password] run { backup database plus archivelog; } # For Example connect target sys/Oracle18c run { backup database plus archivelog; } # Now perform your RMAN Backup docker exec -it oraxe18c rman @/opt/oracle/tools/full_bkp.rman