This year will be time for migration from an on-premise customer environment to the Cloud which is not a very easy task with all unknown complexity compare to on-premise.
My recommendation: if you have the plan to migrate the application to Kubernetes architecture first to migrate your on-premise environment to the Cloud in order to discover all specifics, what is supported and what is not supported from infrastructure, Application, Database etc.
You can check also the following blog for WebLogic 12.2 and Database 19c support matrix - http://dirknachbar.blogspot.com/2019/06/oracle-19c-certified-for-oracle-fusion.html
What is the scope of this post:
- Create a free Oracle account in order to create all infrastructure - this will be available soon
- Export current standard edition database - this will be available soon
- Setup ssh configuration in order to be able to export X11 Display - Here
- Install WebLogic infrastructure - Software - this will be available soon
- Apply Patch of WebLogic software, be aware of the following issue with PSU - 12.2.1.4.191220 - Here
- Create all infrastructure schemas with RCU utility - current post
- Create all infrastructure schemas with RCU utility silent - Here
- Create a WebLogic domain in order to install our Application
There is a lot of information related to the ATP database with WebLogic by using Kubernetes but I haven't found how to run RCU for schema creation and WebLogic domain creation with ATP database on VM.
The first challenge is how to run RCU for schema creation within ATP database because in order to connect to the database you should integrate wallet for DB connection.
Copy all files into $MW_HOME/oracle_common/modules/oracle.jdbc
cp * ../
You should have the following files:
[weblogic@weblogic oracle.jdbc]$ ll total 28268 -rw-r-----. 1 weblogic oinstall 1346512 Jan 26 2017 aqapi.jar --- initial install -rw-r-----. 1 weblogic oinstall 6738480 Dec 20 11:51 ojdbc8dms_g.jar --- initial install -rw-r-----. 1 weblogic oinstall 5623494 Dec 20 11:51 ojdbc8dms.jar --- initial install -rw-r-----. 1 weblogic oinstall 6709154 Dec 20 11:51 ojdbc8_g.jar --- initial install -rw-r-----. 1 weblogic oinstall 4161744 Jan 3 09:17 ojdbc8.jar --- initial install -r-xr-xr-x. 1 weblogic oinstall 11596 Jan 3 09:17 ojdbc.policy -r--r--r--. 1 weblogic oinstall 144428 Jan 3 09:17 ons.jar -r--r--r--. 1 weblogic oinstall 307817 Jan 3 09:17 oraclepki.jar -r--r--r--. 1 weblogic oinstall 1661545 Jan 3 09:17 orai18n.jar -r--r--r--. 1 weblogic oinstall 205152 Jan 3 09:17 osdt_cert.jar -r--r--r--. 1 weblogic oinstall 306854 Jan 3 09:17 osdt_core.jar -rw-r--r--. 1 weblogic oinstall 2595 Jan 3 09:17 README.txt -rw-r-----. 1 weblogic oinstall 29103 Jan 3 09:17 simplefan.jar --- initial install -r--r--r--. 1 weblogic oinstall 1398331 Jan 3 09:17 ucp.jar -r--r--r--. 1 weblogic oinstall 262415 Jan 3 09:17 xdb6.jar [weblogic@weblogic oracle.jdbc]$
In order to force RCU to use the wallet, you should add following on rcu.properties configuration
e.g. $ORACLE_HOME/oracle_common/rcu/config rcu.properties WALLETDIR=/shared/network/admin
Execute RCU: In ATP database there is an option to copy the connection string
e.g. adb.eu-frankfurt-1.oraclecloud.com:1522/xlzxpzqtkxmczd7_orata_high.atp.oraclecloud.com
This is not going to work due to the fact that you should initiate a secure connection with TCPS protocol not with TCP
The default configuration using TCP based on the log file, so if you don't specify TCPS it will be added automatically TCP but you don't have a drop-down option to specify :)
also, export system environment for TNS_ADMIN e.g.
export TNS_ADMIN=/shared/network/admin ( ths is very important step!!!! )
Start RCU
Select the following option in order to generate a script for later execution with DBA user
if you select the first option you will be prompted with the following message
ERROR - RCU-6002 Prerequisite validation failed. CAUSE - RCU-6002 The minimum requirements to load metadata repository were not met for the specified database. ACTION - RCU-6002 Modify the database configuration to meet the prerequisite requirements.
ERROR - RCU-6080 Global prerequisite check failed for the specified database. CAUSE - RCU-6080 Global prerequisite check failed. Check the requirement for the specified database. ACTION - RCU-6080 Modify the database configuration to meet the global prerequisite requirements. User should have sysdba or dba privilages.
Select database type, add connection string as described above, add admin user for ATP database and password, normal mode because we don't have SYSDBA or DBA - Admin ATP user is just a privilage user :)
Once you click next from the above screen you have to wait for a few seconds, You can click on ignore option because ATP min version is 18c, RCU is only aware of 12c - this should be change somehow becuase based on the current information 19c should be supported by WebLogic 12.2.1.3/4 as database.
Once you ignore, you can proceed with the next step
Here you need to specify a prefix of the schema creation and you need to select which components you need to the installation
This will take about 5min which is depending on the ATP PDB and number of PDB`s in the container or maybe with other resource configuration. I have executed the same SQL on my current on-prem database and takes me about 0.15 compare to 5min is very big differences but let`s not focus on this because this is just a POC and all this is depending on resources, configuration etc.
FROM sys.dba_temp_files d, v$temp_extent_pool t, v$tempfile v
WHERE (t.file_id (+)= d.file_id) AND (d.file_id = v.file#)
After a successful check, you should see all listed components as green - click OK
Now you have to select default tablespace for the listed schemas, in my case I select DATA
Here you have to select Temp tablespace for the listed schemas, in my case I just select TEMP
You can save Response file and save pass
Click on Generate in order to create scripts for schema creation
Final completion, if you need to check all logs, you can find it here
Two scripts have been generated for execution with Admin user by using Oracle client with wallet
In order to execute scripts targeting Oracle ATP database, you can download instant database client from oracle site with version 19.5 which is compatible with ATP database 18c
This is the download link ( you need to have valid Oracle Account )
SQL*Plus: Release 19.0.0.0.0 - Production on Fri Jan 3 14:04:49 2020
Version 19.5.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Enter password: < add admin password here >
Last Successful login time: Fri Jan 03 2020 13:58:26 +00:00
Connected to:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.4.0.0.0
SQL> @script_systemLoad.sql
SQL> @script_postDataLoad.sql
Error:
FROM IAU_COMMON, IAU_CUSTOM_01, IAU_USERSESSION, IAU_CUSTOM, IAU_AUDITSERVICE WHERE IAU_COMMON.IAU_ID = IAU_CUSTOM_01.IAU_ID AND IAU_COMMON.IAU_ID = IAU_USERSESSION.IAU_ID AND IAU_COMMON.IAU_ID = IAU_CUSTOM.IAU_ID AND IAU_COMMON.IAU_ID = IAU_AUDITSERVICE.IAU_ID AND IAU_COMMON.IAU_ComponentType = 'JPS'
*
ERROR at line 163:
ORA-00980: synonym translation is no longer valid
Once you are ready with script execution, you can proceed with RCU Product Load
Next -> RCU Product Load
Start RCU again
Select Perform Product Load
Add connection string, user Admin and password for Oracle ATP database
RCU will discover all components and you have to click Next, this will take a few seconds
Here you need to select "Use same passwords for all schemas" - add the same password what has been added for each schema creation during the execution of the above two script
This is just a summary, tablespace names are wrong here, I select DATA and TEMP but I don't know why information is wrong here
Click on Data Load, this process will take a few sec/min
During the data load may popup some errors like in my case
How to resolve:
--- This is exact error - in order to avoid it, just modify table COMPONENT_SCHEMA_INFO - column DB_PORTNUMBER
"DB_PORTNUMBER" VARCHAR2(10), to "DB_PORTNUMBER" VARCHAR2(15)
SQL> alter table "FMW12213_STB"."COMPONENT_SCHEMA_INFO" MODIFY DB_PORTNUMBER VARCHAR2(15);
Exact Error:
Caused by: Error : 12899, Position : 181, Sql = insert into FMW12213_STB.COMPONENT_SCHEMA_INFO (SCHEMA_USER,COMP_ID,PREFIX_NAME,DB_HOSTNAME,DB_SERVICE,DB_PORTNUMBER,DATABASE_NAME,STATUS ) values (:1, :2, :3, :4, :5, :6, :7,'INITIALIZED'), OriginalSql = insert into FMW12213_STB.COMPONENT_SCHEMA_INFO (SCHEMA_USER,COMP_ID,PREFIX_NAME,DB_HOSTNAME,DB_SERVICE,DB_PORTNUMBER,DATABASE_NAME,STATUS ) values (? , ? , ? , ? , ? , ? , ? ,'INITIALIZED'), Error Msg = ORA-12899: value too large for column "FMW12213_STB"."COMPONENT_SCHEMA_INFO"."DB_PORTNUMBER" (actual: 15, maximum: 10)
Please check the status of all loaded products
col COMP_NAME format A40
col OWNER format A30
col VERSION format A11
col OWNER format A40
col STATUS format A10
select comp_name,version,owner,status from schema_version_registry;
You need to download ojdbc-full.. check post section -
Update: 22.01.2020
ATP documentation in regards to connection
Copy ojdbc8-full.tar.gz to $MW_HOME/oracle_common/modules/oracle.jdbc
cp /tmp/ojdbc8-full.tar.gz $MW_HOME/oracle_common/modules/oracle.jdbc
untar ojdbc8-full.tar.gz
tar -zcvf ojdbc8-full.tar.gz
Go inside in the folder ojdbc8-full
cd ojdbc8-full/
Copy all files into $MW_HOME/oracle_common/modules/oracle.jdbc
you need to export TNS_ADMIN location
Also i find the way to be more easy but i will share very soon
We found that “script_postDataLoad” should be run AFTER step “perform product load” in RCU. When we ran it before, like what you show here, it generated the same error “ORA-00980″, and we failed to run “dataLoad” using RCU command in silent-mode.
The main problem is that RCU is not ready for ATP at all
If you check what I give you as a link, you can see that you don’t execute rcu with sysdba but with normal admin user which is just high privileges user.
Great article!