Oig Database Migration CDB Architecture2
Oig Database Migration CDB Architecture2
Governance Database to
Container Database
Architecture in an On-
premises Infrastructure
1 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure
Version 1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
PURPOSE STATEMENT
This document provides strategy, detailed execution steps, post-migration steps for the supported options for migrating
Oracle Identity Governance (OIG) Database to Container Database (CDB) Architecture in an On-premises infrastructure. This
paper is oriented to a technical audience having knowledge of Oracle Container and Non-Container Databases, Oracle
Identity Governance, Oracle Database administration, and basic operating system knowledge.
DISCLAIMER
This document in any form, software or printed matter, contains proprietary information that is the exclusive property of
Oracle. Your access to and use of this material is subject to the terms and conditions of your Oracle software license and
service agreement, which has been executed and with which you agree to comply. This document is not part of your license
agreement nor can it be incorporated into any contractual agreement with Oracle or its subsidiaries or affiliates.
This document is for informational purposes only and is intended solely to assist you in planning for the implementation
and product features described. It is not a commitment to deliver any material, code, or functionality, and should not be
relied upon in making purchasing decisions. The development, release, and timing of any features or functionality
described in this document remains at the sole discretion of Oracle.
2 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure
Version 1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
TABLE OF CONTENTS
Purpose Statement 2
Disclaimer 2
Introduction 3
Assumptions 3
Oracle Identity Governance 3
Oracle Database 3
Abbreviations 3
Migration Strategy 4
Migrate an On-premises OIG DB From Non-CDB to CDB 5
Remote Cloning 5
Hot Cloning - Source and Target with Same Database Version 10
Hot Cloning - Source and Target with Different Database Version 16
Data Pump 36
Migrate an On-premises OIG DB From Existing CDB To Higher Version CDB 38
Hot Cloning – Using DBCA and DB Link 38
Plugging In 58
Appendix 78
References 78
Mid-Tier OIG JDBC Connection Configuration 78
3 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure
Version 1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
INTRODUCTION
This paper describes supported migration options and best practices for Oracle Identity Governance Database (OIG DB)
migration to Container Database (CDB) architecture in an On-premises infrastructure.
It covers migration strategy to CDB, detailed steps for supported OIG DB migration options to CDB architecture both from
Non-CDB as well as within CDB.
Assumptions
This paper assumes that the majority of administrators planning to migrate Oracle Identity Governance Database (OIG DB)
to Container Databases (CDB) architecture are using similar configurations.
Oracle Database
Oracle Database is configured On-premises as part of an Oracle Real Application Cluster (HA) or Single Instance (Non-HA)
deployment.
Abbreviations
6 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
13 DBCA Database Configuration Assistant
MIGRATION STRATEGY
OIG DB supports the following On-premises Oracle Database versions. Refer to product certification matrix for detailed
information about the same based on respective Oracle Identity Governance version.
• 11g (11.2.0.4.0)
• 12c Release 1 (12.1.0.2.0)
• 12c Release 2 (12.2.0.1.0)
• 18c
• 19c
Although, OIG DB supports deployment as both Non-Container (Non-CDB) and Container (CDB) architectures, Oracle
recommends to use CDB architecture over non-CDB starting Oracle Database 12c onwards.
This paper provides migration strategy for the following OIG DB deployment scenarios in an On-premises infrastructure:
1. Migrate OIG DB from Non-CDB to CDB
2. Migrate OIG DB from existing CDB to higher version CDB
To migrate an On-premises OIG DB workload to Oracle Cloud Infrastructure (OCI) DBaaS or Oracle Autonomous Database
(ATP), migration of OIG DB to CDB architecture in an On-premises infrastructure is a necessary pre-requisite, because OCI
DBaaS (version 12c onwards) and OCI ATP supports only CDB architecture. Hence, above scenarios are also applicable
during OIG DB migration to Oracle Cloud.
Oracle supports several migration options as described in Creating and Removing PDBs and Application Containers.
Customers can choose to select below supported options or other documented options.
The below figure depicts the supported options for migrating OIG DB to CDB architecture in an On-premises infrastructure.
6 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
MIGRATE AN ON-PREMISES OIG DB FROM NON-CDB TO CDB
Below sections, provide details about supported methods to migrate OIG DB from non-CDB to CDB architecture in an
Onpremises infrastructure.
Remote Cloning
Overview
• Cloning means creating a new PDB from a source PDB or from a non-CDB.
• When the source is a non-CDB, you must specify a database link to the non-CDB in the FROM clause.
• The database link must exist in the target CDB (not the remote/source CDB).
• The database link connects from the target CDB to the remote/source CDB.
• 12.1.0.2.0 non-CDB
• 12.2.0.1.0 non-CDB
• 18c non-CDB
• 19c non-CDB
• 12.1.0.2.0 CDB
• 12.2.0.1.0 CDB
• 18c CDB
• 19c CDB (recommended)
Pre-requisites
• The current user must have the CREATE PLUGGABLE DATABASE system privilege in the root of the CDB that will
contain the target PDB.
• The source and target platforms must meet the following requirements:
• They must have the same endianness.
• The database options installed on the source platform must be the same as, or a subset of, the database options
installed on the target platform.
• The source non-CDB and target CDB are deployed on different hosts.
• The target CDB and the source non-CDB must be running Oracle Database 12c Release 1 (12.1.0.2) or later.
• The target CDB and the source non-CDB must be running the same Oracle Database release.
• If the source non-CDB is in NOARCHIVELOG mode, then it must be open in Read-Only mode. If the source nonCDB
is in ARCHIVELOG mode, then it can be open in Read-Only or Read-Write modes.
• A database link must enable a connection from the target CDB to the source non-CDB.
• If source non-CDB is TDE enabled, then TDE password would be required during creation of pluggable database
from target CDB.
6 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
o It is required for source non-CDB to have password based TDE wallet.
o If source non-CDB has Autologin based TDE wallet, then it needs to be converted to password based TDE
wallet and then proceed with execution steps.
• The user that the database link connects with must have the CREATE PLUGGABLE DATABASE system privilege.
Execution Steps
1. Create database link from target CDB connecting to source non-CDB. Execute from CDB SYS user in target CDB.
2. Verify database link is operational, by querying dictionary view in source non-CDB from target CDB using database
link. Execute from CDB SYS user in target CDB.
E.g.
SQL> SELECT name, open_mode, cdb FROM v$database@oig_dblink;
NAME OPEN_MODE CDB
-------------------- -------------------- ---
ORCL READ WRITE NO
3. At this stage, execute below steps in source host and source Non-CDB:
a. Shutdown OIG and SOA Managed Server instances using Enterprise Manager or CLI.
b. Stop the SOA queues. Execute from SOAINFRA user in source non-CDB.
c. Stop any running DBMS_SCHEDULER jobs currently executing in OIG. Execute from OIG user in source
non-CDB.
6 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
-- Fetch current running job name
SQL> SELECT job_name, session_id, running_instance, elapsed_time FROM
user_scheduler_running_jobs;
-- In case of any running jobs, either wait until its completion or stop the job
'gracefully' using the below
SQL> BEGIN
DBMS_SCHEDULER.stop_job('<job_name>');
END; /
-- Fetch data files location for source non-CDB and target CDB
SQL> SELECT file_name FROM dba_data_files;
b. Create new PDB in target CDB. Execute from CDB SYS user.
5. Verify that new cloned target PDB is created in "NEW" state. Execute from CDB SYS user in target CDB.
E.g.
SQL> SHOW pdbs;
PDB_NAME STATUS
---------------- ---------
PDB$SEED NORMAL
OIGPDB1 NEW
6 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
6. Run the ORACLE_HOME/rdbms/admin/noncdb_to_pdb.sql script. This script must be run before the new cloned
target PDB can be opened for the first time. Execute from CDB SYS user in target CDB.
E.g.
SQL> ALTER SESSION SET CONTAINER = OIGPDB1;
Session altered.
SQL> @$ORACLE_HOME/rdbms/admin/noncdb_to_pdb.sql
7. Open the new cloned target PDB in Read-Write mode. Execute from CDB SYS user in target CDB.
E.g.
SQL> ALTER PLUGGABLE DATABASE OIGPDB1 OPEN;
8. Verify new cloned target PDB configurations. Execute from PDB SYS user in target CDB.
6 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
SQL> SHOW con_id
SQL> SHOW pdbs;
SQL> SELECT pdb_name, status FROM cdb_pdbs;
SQL> SELECT username FROM dba_users WHERE username LIKE '<oig_schema_prefix>%' ORDER BY
username;
E.g.
SQL> show con_id
CON_ID
------------------------------
3
PDB_NAME STATUS
---------------- ---------
OIGPDB1 NORMAL
11 rows selected.
9. Verify OIG DB accessible using new cloned target PDB connection credentials.
$ sqlplus
<oig_user>/<oig_user_password>@//<target_hostname>:<target_port>/<target_pdb_service_name>
E.g.
$ sqlplus DEV_OIM/<oig_user_password>@//targethost.example.com:1521/OIGPDB1.example.com
10. OIG DB in new cloned target PDB is now available for use.
11. Drop database link from target CDB. Execute from CDB SYS user.
E.g.
SQL> DROP DATABASE LINK oig_dblink;
6 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
12. Start the SOA queues. Execute from SOAINFRA user in new cloned target PDB. -- Fetch SOA queues names
SQL> SELECT name, enqueue_enabled, dequeue_enabled FROM USER_QUEUES where queue_type =
'NORMAL_QUEUE';
13. Modify connection configuration in OIG data sources and other artifacts to reflect new cloned target PDB
connection credentials.
a. Refer to Appendix section “Mid-Tier OIG JDBC Connection Configuration”. Execute steps provided in the
section.
14. OIG application is available for use with OIG DB deployed in new cloned target PDB
Overview
• 12.1.0.2.0 non-CDB
• 12.2.0.1.0 non-CDB
• 18c non-CDB
• 19c non-CDB
• 12.1.0.2.0 CDB
• 12.2.0.1.0 CDB
• 18c CDB
• 19c CDB (recommended)
Pre-requisites
• The current user must have the CREATE PLUGGABLE DATABASE system privilege in the root of the CDB that will
contain the target PDB.
• The source non-CDB and target CDB are deployed on same host.
• The target CDB and the source non-CDB must be running Oracle Database 12c Release 1 (12.1.0.2) or later.
6 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
• The target CDB and the source non-CDB must be running the same Oracle Database release.
• If the source non-CDB is in NOARCHIVELOG mode, then it must be open in Read-Only mode. If the source nonCDB
is in ARCHIVELOG mode, then it can be open Read-Only or Read-Write modes.
• If source non-CDB is TDE enabled, then TDE password would be required during creation of pluggable database
from target CDB.
o It is required for source non-CDB to have password based TDE wallet.
o If source non-CDB has Autologin based TDE wallet, then it needs to be converted to password based TDE
wallet and then proceed with next steps.
Execution Steps
1. Shutdown and open source non-CDB is Read-Only mode. Execute from SYS user in source non-CDB.
E.g.
SQL> SHUT IMMEDIATE;
Database closed.
Database dismounted.
ORACLE instance shut down.
2. In source non-CDB, generate XML metadata file. Execute from SYS user.
E.g.
SQL> BEGIN
DBMS_PDB.DESCRIBE(pdb_descr_file => '/u01/nonCDBMetadata.xml');
END;
/
6 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
SQL> SET SERVEROUTPUT ON SQL>
DECLARE
compatible CONSTANT VARCHAR2(3) :=
CASE DBMS_PDB.CHECK_PLUG_COMPATIBILITY(
pdb_descr_file => '<directory_path>/<xml_metadata_filename>.xml',
pdb_name => '<target_pdb_name>')
WHEN TRUE THEN 'YES'
ELSE 'NO'
END;
BEGIN
DBMS_OUTPUT.PUT_LINE(compatible); END;
E.g.
SQL> SET SERVEROUTPUT ON SQL>
DECLARE
compatible CONSTANT VARCHAR2(3) :=
CASE DBMS_PDB.CHECK_PLUG_COMPATIBILITY(
pdb_descr_file => '/u01/nonCDBMetadata.xml',
pdb_name => 'OIGPDB1')
WHEN TRUE THEN 'YES'
ELSE 'NO'
END;
BEGIN
DBMS_OUTPUT.PUT_LINE(compatible);
END;
/
YES
4. After running compatibility check, validate the PDB_PLUG_IN_VIOLATIONS view from target CDB for any error
raised. Execute from CDB SYS user in target CDB.
Ignore WARNING messages (like below). This will be resolved in later steps, as post successful migration,
mentioned SQL would be executed in target PDB.
E.g.
SQL> SELECT name, cause, type, message, status FROM pdb_plug_in_violations WHERE
name='SOURCEDB';
NAME CAUSE TYPE MESSAGE STATUS
5. At this stage, perform the below in source host and source Non-CDB.
a. Shutdown OIG and SOA Managed Server instances using Enterprise Manager or CLI.
b. Stop the SOA queues. Execute from SOAINFRA user in source non-CDB.
6 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
'NORMAL_QUEUE';
c. Stop any running DBMS_SCHEDULER jobs currently executing in OIG. Execute from OIG user in source
non-CDB.
-- In case of any running jobs, either wait until its completion or stop the job
'gracefully'
SQL> BEGIN
DBMS_SCHEDULER.stop_job('<job_name>');
END;
/
-- Fetch data files location for source non-CDB and target CDB
SQL> SELECT file_name FROM dba_data_files;
b. Create new PDB in target CDB. Execute from CDB SYS user.
7. Verify that new cloned target PDB is created in "NEW" state. Execute from CDB SYS user in target CDB.
6 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
SQL> SHOW pdbs;
SQL> SELECT pdb_name, status FROM cdb_pdbs;
Eg:-
SQL> SHOW pdbs;
PDB_NAME STATUS
---------------- ---------
PDB$SEED NORMAL
OIGPDB1 NEW
8. Run the $ORACLE_HOME/rdbms/admin/noncdb_to_pdb.sql script. This script must be run before the new cloned
target PDB can be opened for the first time. Execute from CDB SYS user in target CDB.
E.g.
SQL> ALTER SESSION SET CONTAINER = OIGPDB1;
Session altered.
SQL> @$ORACLE_HOME/rdbms/admin/noncdb_to_pdb.sql
9. Open the new cloned target PDB in Read-Write mode. Execute from CDB SYS user in target CDB.
E.g.
SQL> ALTER PLUGGABLE DATABASE OIGPDB1 OPEN;
10. Verify that new cloned target PDB configurations. Execute from CDB SYS user in target CDB.
6 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
SQL> SHOW con_id
SQL> SHOW pdbs;
SQL> SELECT pdb_name, status FROM cdb_pdbs;
SQL> SELECT username FROM dba_users WHERE username LIKE '<oig_schema_prefix>%' ORDER BY
username;
E.g.
SQL> show con_id
CON_ID
------------------------------
3
PDB_NAME STATUS
---------------- ---------
OIGPDB1 NORMAL
11 rows selected.
11. Verify OIG DB accessible using new cloned target PDB connection credentials.
$ sqlplus
<oig_user>/<oig_user_password>@//<target_hostname>:<target_port>/<target_pdb_service_name>
E.g.
$ sqlplus DEV_OIM/<oig_user_password>@//targethost.example.com:1521/OIGPDB1.example.com
12. OIG DB in new cloned target PDB is now available for use.
13. Start the SOA queues. Execute from SOAINFRA user in new cloned target PDB.
6 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
DBMS_AQADM.START_QUEUE ('<queueN_name>');
END;
/
15. Modify connection configuration in OIG data sources and other artifacts to reflect new cloned target PDB connection
credentials.
a. Refer to Appendix section “Mid-Tier OIG JDBC Connection Configuration”. Execute steps provided in the
section.
14. OIG application is available for use with OIG DB deployed in new cloned target PDB
Overview
• 12.1.0.2.0 non-CDB
• 12.2.0.1.0 non-CDB
• 18c non-CDB
• 12.2.0.1.0 CDB
• 18c CDB
• 19c CDB (recommended)
Pre-requisites
• The current user must have the CREATE PLUGGABLE DATABASE system privilege in the root of the CDB that will
contain the target PDB.
• The source non-CDB and target CDB are deployed on same host.
• The target CDB and the source non-CDB must be running Oracle Database 12c Release 1 (12.1.0.2) or later.
• The target CDB must be running different Oracle Database release from source non-CDB.
• If the source non-CDB is in NOARCHIVELOG mode, then it must be open in Read-Only mode. If the source nonCDB
is in ARCHIVELOG mode, then it can be open Read-Only or Read-Write modes.
• If source non-CDB is TDE enabled, then TDE password would be required during creation of pluggable database
from target CDB.
o It is required for source non-CDB to have password based TDE wallet.
o If source non-CDB has Autologin based TDE wallet, then it needs to be converted to password based TDE
wallet and then proceed with next steps.
6 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
Execution Steps
E.g.
SQL> SHUT IMMEDIATE;
Database closed.
Database dismounted.
ORACLE instance shut down.
2. In source non-CDB, generate XML metadata file. Execute from SYS user.
E.g.
SQL> BEGIN
DBMS_PDB.DESCRIBE(pdb_descr_file => '/u01/nonCDBMetadata.xml');
END;
/
3. Using DBMS_PDB.CHECK_PLUG_COMPATIBILITY function determine whether the source non-CDB is compatible with
the target CDB. Execute from CDB SYS user in target CDB.
• Since target CDB is on different database version from source non-CDB, the compatibility check will give
NO as output. This is expected result for this migration scenario. Ignore the same and continue with next
steps.
6 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
SQL> SET SERVEROUTPUT ON SQL>
DECLARE
compatible CONSTANT VARCHAR2(3) :=
CASE DBMS_PDB.CHECK_PLUG_COMPATIBILITY(
pdb_descr_file => '<directory_path>/<xml_metadata_filename>.xml',
pdb_name => '<target_pdb_name>')
WHEN TRUE THEN 'YES'
ELSE 'NO'
END;
BEGIN
DBMS_OUTPUT.PUT_LINE(compatible);
END;
/
E.g.
SQL> SET SERVEROUTPUT ON SQL>
DECLARE
compatible CONSTANT VARCHAR2(3) :=
CASE DBMS_PDB.CHECK_PLUG_COMPATIBILITY(
pdb_descr_file => '/u01/nonCDBMetadata.xml',
pdb_name => 'OIGPDB1')
WHEN TRUE THEN 'YES'
ELSE 'NO'
END;
BEGIN
DBMS_OUTPUT.PUT_LINE(compatible);
END;
/
NO
4. After running compatibility check, validate the PDB_PLUG_IN_VIOLATIONS dictionary view from target CDB for any
error raised. Execute from CDB SYS user in target CDB.
• Ignore WARNING messages. After cloned target PDB upgrade, most of them will be corrected.
• Ignore below ERROR message, as we need to later upgrade the cloned target PDB after plug in operation is
complete into target CDB.
"PDB’s version does not match CDB’s version: PDB’s version 12.2.0.1.0. CDB’s version 19.0.0.0.0."
E.g.
SQL> SELECT name, cause, type, message, status FROM pdb_plug_in_violations WHERE
name='SOURCEDB';
NAME CAUSE TYPE MESSAGE STATUS
6 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
SOURCEDB VSN not match ERROR PDB's version does not match CDB's
PENDING version: PDB's version
12.2.0.1.0. CDB's version 19.0.0.0.0.
5. At this stage, perform the below in source host and source Non-CDB.
a. Shutdown OIG and SOA Managed Server instances using Enterprise Manager or CLI.
b. Stop the SOA queues. Execute from SOAINFRA user in source non-CDB.
c. Stop any running DBMS_SCHEDULER jobs currently executing in OIG. Execute from OIG user in source
non-CDB.
6 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
SQL> SELECT job_name, session_id, running_instance, elapsed_time FROM
user_scheduler_running_jobs;
-- In case of any running jobs, either wait until its completion or stop the job
'gracefully'
SQL> BEGIN
DBMS_SCHEDULER.stop_job('<job_name>');
END; /
-- Fetch data files location for source non-CDB and target CDB
SQL> SELECT file_name FROM dba_data_files;
b. Create new PDB in target CDB. Execute from CDB SYS user.
6 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
-- Create Pluggable database (when source non-CDB is Non-TDE enabled). With source non-
CDB and target CDB are deployed on same host.
SQL> CREATE PLUGGABLE DATABASE <target_pdb_name> USING
'<directory_path>/<xml_metadata_filename>.xml'
COPY
FILE_NAME_CONVERT = ('<source_data_file_loc>', '<target_data_file_loc>');
-- Create Pluggable database (when source non-CDB has PASSWORD based TDE wallet
enabled). With source non-CDB and target CDB are deployed on same host.
SQL> CREATE PLUGGABLE DATABASE <target_pdb_name> USING
'<directory_path>/<xml_metadata_filename>.xml'
KEYSTORE IDENTIFIED BY <source_noncdb_tde_password>
COPY
FILE_NAME_CONVERT = ('<source_data_file_loc>', '<target_data_file_loc>');
-- Create Pluggable database (when source non-CDB is Non-TDE enabled). With source non-
CDB and target CDB deployed on different host.
SQL> CREATE PLUGGABLE DATABASE <target_pdb_name> FROM FROM NON$CDB@<database_link_name>
FILE_NAME_CONVERT = ('<source_data_file_loc>', '<target_data_file_loc>');
-- Create Pluggable database (when source non-CDB has PASSWORD based TDE wallet
enabled). With source non-CDB and target CDB deployed on different host.
SQL> CREATE PLUGGABLE DATABASE <target_pdb_name> FROM NON$CDB@<database_link_name>
KEYSTORE IDENTIFIED BY <source_noncdb_tde_password>
FILE_NAME_CONVERT = ('<source_data_file_loc>', '<target_data_file_loc>');
E.g.
-- Create Pluggable database (when source non-CDB is Non-TDE enabled). With source non-
CDB and target CDB are deployed on same host.
SQL> CREATE PLUGGABLE DATABASE OIGPDB1 USING '/u01/nonCDBMetadata.xml' COPY
FILE_NAME_CONVERT = ('/u01/app/oracle/oradata/sourcedb',
'/u01/app/oracle/oradata/targetdb/OIGPDB1');
-- Create Pluggable database (when source non-CDB has PASSWORD based TDE wallet
enabled). With source non-CDB and target CDB deployed on different host.
SQL> CREATE PLUGGABLE DATABASE OIGPDB1 FROM NON$CDB@oig_dblink
KEYSTORE IDENTIFIED BY <source_noncdb_tde_password>
FILE_NAME_CONVERT = ('/u01/app/oracle/oradata/sourcedb',
'/u01/app/oracle/oradata/targetdb/OIGPDB1');
7. Verify that new cloned target PDB is created in "NEW" state. Execute from CDB SYS user in target CDB.
6 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
SQL> SHOW pdbs;
SQL> SELECT pdb_name, status FROM cdb_pdbs;
E.g.
SQL> SHOW pdbs;
PDB_NAME STATUS
---------------- ---------
PDB$SEED NORMAL OIGPDB1
NEW
8. Open the new cloned target PDB in UPGRADE mode. Execute from CDB SYS user in target CDB.
E.g.
SQL> ALTER SESSION SET CONTAINER = OIGPDB1;
Session altered.
9. Upgrade the new cloned PDB using the Parallel Upgrade Utility command (catctl.pl). Execute from CDB SYS user
in target CDB.
6 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
$ $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catctl.pl -d \
> $ORACLE_HOME/rdbms/admin -c '<target_pdb_name>' -l $ORACLE_BASE catupgrd.sql
E.g.
$ $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catctl.pl -d \
> $ORACLE_HOME/rdbms/admin -c 'OIGPDB1' -l $ORACLE_BASE catupgrd.sql
Argument list for [/u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/catctl.pl]
For Oracle internal use only A = 0
Run in c = OIGPDB1
Do not run in C = 0
Input Directory d = /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin
Echo OFF e = 1
Simulate E = 0
6 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
Forced cleanup F = 0
Log Id i = 0
Child Process I = 0
Log Dir l = /u01/app/oracle
Priority List Name L = 0
Upgrade Mode active M = 0
SQL Process Count n = 0
SQL PDB Process Count N = 0
Open Mode Normal o = 0
Start Phase p = 0
End Phase P = 0
Reverse Order r = 0
AutoUpgrade Resume R = 0
Script s = 0
Serial Run S = 0
RO User Tablespaces T = 0
Display Phases y = 0
Debug catcon.pm z = 0
Debug catctl.pl Z = 0
catctl.pl VERSION:
[19.0.0.0.0] STATUS:
[Production]
BUILD: [Build_id]
/u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/orahome =
[/u01/app/oracle/product/19.0.0/dbhome_1]
/u01/app/oracle/product/19.0.0/dbhome_1/bin/orabasehome =
[/u01/app/oracle/product/19.0.0/dbhome_1]
catctlGetOraBaseLogDir = [/u01/app/oracle/product/19.0.0/dbhome_1]
Analyzing file /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/catupgrd.sql
Log file directory = [/u01/app/oracle]
Number of Cpus = 8
Database Name = targetdb
DataBase Version = 19.0.0.0.0
Generated PDB Inclusion:[OIGPDB1]
CDB$ROOT Open Mode = [OPEN]
Parallel SQL Process Count (PDB) = 2
Parallel SQL Process Count (CDB$ROOT) = 8
Concurrent PDB Upgrades = 1
6 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
Input Directory d = /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin Echo
OFF e = 1
6 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
6 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
Simulate E = 0
Forced cleanup F = 0
Log Id i = OIGPDB1
Child Process I = 1
Log Dir l = /u01/app/oracle
Priority List Name L = 0
Upgrade Mode active M = 0
SQL Process Count n = 2
SQL PDB Process Count N = 0
Open Mode Normal o = 0
Start Phase p = 0
End Phase P = 0
Reverse Order r = 0
AutoUpgrade Resume R = 0
Script s = 0
Serial Run S = 0
RO User Tablespaces T = 0
Display Phases y = 0
Debug catcon.pm z = 0
Debug catctl.pl Z = 0
catctl.pl VERSION:
[19.0.0.0.0] STATUS:
[Production]
BUILD: [Build_id]
/u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/orahome =
[/u01/app/oracle/product/19.0.0/dbhome_1]
/u01/app/oracle/product/19.0.0/dbhome_1/bin/orabasehome =
[/u01/app/oracle/product/19.0.0/dbhome_1]
catctlGetOraBaseLogDir = [/u01/app/oracle/product/19.0.0/dbhome_1]
Analyzing file /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/catupgrd.sql
Log file directory = [/u01/app/oracle]
Number of Cpus = 8
Database Name = targetdb
DataBase Version = 19.0.0.0.0
OIGPDB1 Open Mode = [MIGRATE]
Generated PDB Inclusion:[OIGPDB1]
CDB$ROOT Open Mode = [OPEN]
Components in [OIGPDB1]
Installed [APS CATALOG CATJAVA CATPROC CONTEXT DV JAVAVM OLS ORDIM OWM SDO XDB XML XOQ]
Not Installed [APEX EM MGW ODM RAC WK]
------------------------------------------------------
Phases [0-107] Start Time:[2020_05_27 06:43:58]
Container Lists Inclusion:[OIGPDB1] Exclusion:[NONE]
------------------------------------------------------
*********** Executing Change Scripts ***********
Serial Phase #:0 [OIGPDB1] Files:1 Time: 22s
*************** Catalog Core SQL ***************
6 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
Serial Phase #:1 [OIGPDB1] Files:5 Time: 32s Restart
Phase #:2 [OIGPDB1] Files:1 Time: 0s
*********** Catalog Tables and Views ***********
6 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
Parallel Phase #:3 [OIGPDB1] Files:19 Time: 16s
Restart Phase #:4 [OIGPDB1] Files:1 Time: 0s
************* Catalog Final Scripts ************
………
………
………
10. Review upgrade results. Execute from CDB SYS user in target CDB.
a. Refer to documentation to upgrade database time zone.
29 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version 1.0
Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
-- Verify "upg_summary.log" from $ORACLE_BASE location
$ cd $ORACLE_BASE
$ cat upg_summary.log
E.g.
$ cd $ORACLE_BASE
$ cat upg_summary.log
Database time zone version is 26. It is older than current release time zone version
32. Time zone upgrade is needed using the DBMS_DST package.
11. Review whether any post upgrade fixups are required. Execute from CDB SYS user in target CDB.
Check for file with name "postupgrade_fixups.sql". If file is not present, no action is required.
E.g.
$ $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catcon.pl -c 'OIGPDB1' -n 1 -e -b
postfixups -d '''.''' <directory_path>/postupgrade_fixups.sql
12. Use the utility catcon.pl to run utlrp.sql from the $ORACLE_HOME/rdbms/admin directory. The script recompiles
INVALID objects in the database. Execute from CDB SYS user in target CDB.
30 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version 1.0
Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
$ cd $ORACLE_HOME/rdbms/admin
$ $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catcon.pl -c '<target_pdb_name>' -n 1 -e
-b comp -d '''.''' $ORACLE_HOME/rdbms/admin/utlrp.sql
E.g. $ $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catcon.pl -c 'OIGPDB1' -n 1 -e -b
comp d '''.''' $ORACLE_HOME/rdbms/admin/utlrp.sql
catcon::set_log_file_base_path: ALL catcon-related output will be written
to
[/u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/comp_catcon_12291.lst]
13. Run the $ORACLE_HOME/rdbms/admin/noncdb_to_pdb.sql script. This script must be run before the new cloned
target PDB can be opened for the first time. Execute from CDB SYS user in target CDB.
E.g.
SQL> ALTER SESSION SET CONTAINER = OIGPDB1;
Session altered.
SQL> @$ORACLE_HOME/rdbms/admin/noncdb_to_pdb.sql
14. Open the new cloned target PDB in Read-Write mode. Execute from CDB SYS user in target CDB.
E.g.
SQL> ALTER PLUGGABLE DATABASE OIGPDB1 OPEN;
15. Verify all violations (in particular ERROR) in PDB_PLUG_IN_VIOLATIONS dictionary view are in RESOLVED status.
Execute from CDB SYS user in target CDB.
31 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version 1.0
Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
SQL> COL CAUSE FOR a20
SQL> COL NAME FOR a20
SQL> COL MESSAGE FOR a35 word_wrapped
SQL> SET LIN 2000 PAGES 2000
SQL> SELECT name, cause, type, message, status FROM pdb_plug_in_violations WHERE
name='<target_pdb_name>';
E.g.
SQL> SELECT name, cause, type, message, status FROM pdb_plug_in_violations WHERE
name='OIGPDB1';
NAME CAUSE TYPE MESSAGE STATUS
-------------------- -------------------- --------- ----------------------------------- -------
-
OIGPDB1 OPTION ERROR Database option APS mismatch: PDB
RESOLVED
installed version 12.2.0.1.0. CDB
installed version 19.0.0.0.0.
32 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version 1.0
Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
33 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
OIGPDB1 Parameter WARNING CDB parameter
RESOLVED session_cached_cursors
mismatch: Previous 800 Current
50
OIGPDB1 Parameter WARNING CDB parameter open_cursors
RESOLVED
mismatch: Previous 1000 Current 300
34 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
OIGPDB1 VSN not match ERROR PDB's version does not match CDB's
RESOLVED version: PDB's version 12.2.0.1.0.
CDB's version 19.0.0.0.0.
16. Verify new cloned target PDB configurations. Execute from CDB SYS user in target CDB.
E.g.
SQL> show con_id
CON_ID
------------------------------
3
PDB_NAME STATUS
---------------- ---------
OIGPDB1 NORMAL
11 rows selected.
17. Verify OIG DB accessible using new cloned target PDB connection credentials.
35 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
$ sqlplus
<oig_user>/<oig_user_password>@//<target_hostname>:<target_port>/<target_pdb_service_name>
E.g.
$ sqlplus DEV_OIM/<oig_user_password>@//targethost.example.com:1521/OIGPDB1.example.com
18. OIG DB in new cloned target PDB is now available for use.
19. Drop database link from target CDB. Execute from CDB SYS user in target CDB.
E.g.
SQL> DROP DATABASE LINK oig_dblink;
20. Start the SOA queues. Execute from SOAINFRA user in new cloned target PDB.
21. Modify connection configuration in OIG data sources and other artifacts to reflect new cloned target PDB connection
credentials.
a. Refer to Appendix section “Mid-Tier OIG JDBC Connection Configuration”. Execute steps provided in the
section.
22. OIG application is available for use with OIG DB deployed in new cloned target PDB.
Data Pump
Overview
Recommended approach for migrating an On-premises OIG DB from database version 11.2.0.4.0 to higher version like
19c CDB.
• 11.2.0.4.0 (recommended)
• 12.1.0.2.0 non-CDB
• 12.2.0.1.0 non-CDB
• 18c non-CDB
36 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
Supported Target Oracle Database Versions and Architecture
• 12.1.0.2.0 CDB
• 12.2.0.1.0 CDB
• 18c CDB
• 19c CDB (recommended)
Pre-requisites
Follow pre-requisites as per MoS: OIM 12c: Schema Backup and Restoration using Data Pump Client Utility (Doc ID
2584066.1).
Execution Steps
Follow execution steps (Pre-Export, Export, Post-Export, Pre-Import, Import, Post-Import) as per MoS: OIM 12c: Schema
Backup and Restoration using Data Pump Client Utility (Doc ID 2584066.1).
37 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
MIGRATE AN ON-PREMISES OIG DB FROM EXISTING CDB TO HIGHER VERSION CDB
Below sections, provide details about supported options for migrating OIG DB from existing CDB to higher version CDB in an
On-premises infrastructure.
Overview
• Create common user in source CDB. o This will be used internally to create database link when executing DBCA
command.
• Check local UNDO and ARCHIVELOG mode status in source and target CDB.
• Hot Clone PDB using DBCA to higher version target CDB. o Move a PDB from existing version to higher version
CDB by using the DBMS_PDB.DESCRIBE procedure.
o The DBMS_PDB package allows you to generate an XML metadata file.
o Using the generated XML metadata file (and database files), to plug the source PDB into the target CDB.
• Once cloning is complete at target CDB, upgrade the earlier release PDB to a later release in target CDB.
• The database link must exist in the target CDB (not the remote/source CDB).
• The database link connects from the target CDB to the remote/source CDB.
• 12.1.0.2.0 CDB
• 12.2.0.1.0 CDB
• 18c CDB
• 12.2.0.1.0 CDB
• 18c CDB
• 19c CDB (recommended)
Pre-requisites
• Hot Cloning using DBCA is available from Oracle Database 12c Release 2 onwards.
• Hot Cloning using DB Link is available from Oracle Database 12c Release 1 onwards.
• The current user must have the CREATE PLUGGABLE DATABASE system privilege in the root of the CDB that will
contain the target PDB.
• The source and target CDB are deployed on same host.
• The target CDB must be running different Oracle Database release from source CDB.
• If the source CDB is in NOARCHIVELOG mode, then it must be open in read-only mode. If the source CDB is in
ARCHIVELOG mode, then it can be open read-only or read/write.
• A database link must enable a connection from the target CDB to the source CDB.
• The user that the database link connects with must have the CREATE PLUGGABLE DATABASE system privilege.
• If source CDB is TDE enabled, then TDE password would be required during creation of pluggable database from
target CDB.
o It is required for source CDB to have password based TDE wallet.
o If source CDB has Autologin based TDE wallet, then it needs to be converted to password based TDE wallet
and then proceed with next steps.
38 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
Execution Steps
1. Create common user and grant appropriate privileges to the same in source CDB. Execute from CDB SYS user in
source CDB.
Follow guidelines as per documentation to create common user in Oracle Database 12c Release 1 and later.
-- Create common user
SQL> CREATE USER <common_user_name> IDENTIFIED BY <common_user_password> CONTAINER=ALL;
Grant succeeded.
2. Check whether source and target CDB is in local UNDO mode and ARCHIVELOG mode. Execute from CDB SYS user in
both source and target CDB.
E.g.
SQL> SELECT property_name, property_value
FROM database_properties
WHERE property_name = 'LOCAL_UNDO_ENABLED';
PROPERTY_NAME
--------------------------------------------------------------------------------
PROPERTY_VALUE
--------------------------------------------------------------------------------
LOCAL_UNDO_ENABLED
TRUE
LOG_MODE
------------
ARCHIVELOG
3. If Hot Cloning is being executed using “DB Link”, perform the below extra steps in target CDB.
a. Create an entry in $ORACLE_HOME/network/admin/tnsnames.ora pointing to the source CDB for use in the
USING clause of the database link. Execute in target host.
39 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
-- Create below in ‘tnsnames.ora’ in target CDB to point to source CDB
$ cd $ORACLE_HOME/network/admin
$ vim tnsnames.ora
sourceCDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = <source_host_name>)(PORT = <source_port>))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = <source_cdb_service_name>)
)
)
E.g.
$ cd $ORACLE_HOME/network/admin
$ vim tnsnames.ora
sourceCDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = sourcehost.example.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = sourcedb.example.com)
)
)
b. Create a DB link pointing to the source CDB or remote database. Execute from CDB SYS user in target CDB.
E.g.
SQL> CREATE DATABASE LINK oig_dblink CONNECT TO c##remote_clone_user IDENTIFIED BY
<common_user_password> USING 'sourceCDB ';
4. At this stage, perform the below in source host and source PDB:
a. Shutdown OIG and SOA Managed Server instances using Enterprise Manager or CLI.
b. Stop the SOA queues. Execute from SOAINFRA user in source PDB.
c. Stop any running DBMS_SCHEDULER jobs currently executing in OIG. Execute from OIG user in source PDB.
40 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
-- Fetch current running job name
SQL> SELECT job_name, session_id, running_instance, elapsed_time FROM
user_scheduler_running_jobs;
-- In case of any running jobs, either wait until its completion or stop the job
'gracefully'
SQL> BEGIN
DBMS_SCHEDULER.stop_job('<job_name>');
END; /
b. Create PDB using DB Link in target CDB. Execute from CDB SYS user.
41 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
-- Fetch data files location for both source and target CDB
SQL> SELECT file_name FROM dba_data_files;
-- Create Pluggable database (when source CDB has PASSWORD based TDE wallet enabled)
SQL> CREATE PLUGGABLE DATABASE OIGPDB1NEW FROM OIGPDB1@oig_dblink
KEYSTORE IDENTIFIED BY <source_cdb_tde_password>
FILE_NAME_CONVERT=('/u01/app/oracle/oradata/sourcedb/OIGPDB1','/u01/app/oracle/oradata/
targetdb/OIGPDB1NEW');
6. Check the PDB_PLUG_IN_VIOLATIONS dictionary view from target CDB for any error raised.
• Ignore WARNING messages. After cloned target PDB upgrade, most of them will be corrected.
• Ignore below ERROR message, as we need to later upgrade the cloned target PDB after plug in operation is
complete into target CDB.
"PDB’s version does not match CDB’s version: PDB’s version 12.2.0.1.0. CDB’s version 19.0.0.0.0.
42 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
SQL> SELECT name, cause, type, message, status FROM pdb_plug_in_violations WHERE
name='<target_pdb_name>';
E.g.
SQL> SELECT name, cause, type, message, status FROM pdb_plug_in_violations WHERE
name='OIGPDB1NEW';
NAME CAUSE TYPE MESSAGE STATUS
-------------------- -------------------- --------- ----------------------------------- -------
-
OIGPDB1NEW OPTION ERROR Database option APS mismatch: PDB
PENDING
installed version 12.2.0.1.0. CDB
installed version 19.0.0.0.0.
43 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
OIGPDB1NEW OPTION ERROR Database option ORDIM mismatch: PDB
PENDING
installed version 12.2.0.1.0. CDB
installed version 19.0.0.0.0.
OIGPDB1NEW VSN not match ERROR PDB's version does not match CDB's
PENDING version: PDB's version
12.2.0.1.0. CDB's version
19.0.0.0.0.
20 rows selected
7. Verify that new cloned target PDB is created in "NEW" state. Execute from CDB SYS user in target CDB.
44 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
E.g.
SQL> SHOW pdbs;
PDB_NAME STATUS
---------------- ---------
PDB$SEED NORMAL OIGPDB1NEW
NEW
8. Open the new cloned target PDB in UPGRADE mode. Execute from CDB SYS user in target CDB.
Session altered.
9. Upgrade the new cloned PDB using the Parallel Upgrade Utility command (catctl.pl). Execute in target CDB host.
45 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
$ $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catctl.pl -d \
> $ORACLE_HOME/rdbms/admin -c '<target_pdb_name>' -l $ORACLE_BASE catupgrd.sql
E.g.
$ $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catctl.pl -d \
> $ORACLE_HOME/rdbms/admin -c 'OIGPDB1NEW' -l $ORACLE_BASE catupgrd.sql
Argument list for [/u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/catctl.pl]
For Oracle internal use only A = 0
Run in c = OIGPDB1NEW
Do not run in C = 0
Input Directory d = /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin
Echo OFF e = 1
Simulate E = 0
Forced cleanup F = 0
Log Id i = 0
Child Process I = 0
Log Dir l = /u01/app/oracle
Priority List Name L = 0
Upgrade Mode active M = 0
SQL Process Count n = 0
46 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
SQL PDB Process Count N = 0
Open Mode Normal o = 0
Start Phase p = 0
End Phase P = 0
Reverse Order r = 0
AutoUpgrade Resume R = 0
Script s = 0
Serial Run S = 0
RO User Tablespaces T = 0
Display Phases y = 0
Debug catcon.pm z = 0
Debug catctl.pl Z = 0
catctl.pl VERSION:
[19.0.0.0.0] STATUS:
[Production]
BUILD: [Build_id]
/u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/orahome =
[/u01/app/oracle/product/19.0.0/dbhome_1]
/u01/app/oracle/product/19.0.0/dbhome_1/bin/orabasehome =
[/u01/app/oracle/product/19.0.0/dbhome_1]
catctlGetOraBaseLogDir = [/u01/app/oracle/product/19.0.0/dbhome_1]
Analyzing file /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/catupgrd.sql
Log file directory = [/u01/app/oracle]
Number of Cpus = 24
Database Name = targetdb
DataBase Version = 19.0.0.0.0
Generated PDB Inclusion:[OIGPDB1NEW]
CDB$ROOT Open Mode = [OPEN]
Parallel SQL Process Count (PDB) = 2
Parallel SQL Process Count (CDB$ROOT) = 8
Concurrent PDB Upgrades = 1
47 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
Priority List Name L = 0
Upgrade Mode active M = 0
48 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
49 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
SQL Process Count n = 2
SQL PDB Process Count N = 0
Open Mode Normal o = 0
Start Phase p = 0
End Phase P = 0
Reverse Order r = 0
AutoUpgrade Resume R = 0
Script s = 0
Serial Run S = 0
RO User Tablespaces T = 0
Display Phases y = 0
Debug catcon.pm z = 0
Debug catctl.pl Z = 0
catctl.pl VERSION:
[19.0.0.0.0] STATUS:
[Production]
BUILD: [Build_id]
/u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/orahome =
[/u01/app/oracle/product/19.0.0/dbhome_1]
/u01/app/oracle/product/19.0.0/dbhome_1/bin/orabasehome =
[/u01/app/oracle/product/19.0.0/dbhome_1]
catctlGetOraBaseLogDir = [/u01/app/oracle/product/19.0.0/dbhome_1]
Analyzing file /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/catupgrd.sql
Log file directory = [/u01/app/oracle]
Number of Cpus = 24
Database Name = targetdb
DataBase Version = 19.0.0.0.0
OIGPDB1NEW Open Mode = [MIGRATE]
Generated PDB Inclusion:[OIGPDB1NEW]
CDB$ROOT Open Mode = [OPEN]
Components in [OIGPDB1NEW]
Installed [APS CATALOG CATJAVA CATPROC CONTEXT DV JAVAVM OLS ORDIM OWM SDO XDB XML XOQ]
Not Installed [APEX EM MGW ODM RAC WK]
------------------------------------------------------
Phases [0-107] Start Time:[2020_05_22 21:53:43]
Container Lists Inclusion:[OIGPDB1NEW] Exclusion:[NONE]
------------------------------------------------------
*********** Executing Change Scripts ***********
Serial Phase #:0 [OIGPDB1NEW] Files:1 Time: 20s ***************
Catalog Core SQL ***************
Serial Phase #:1 [OIGPDB1NEW] Files:5 Time: 30s
Restart Phase #:2 [OIGPDB1NEW] Files:1 Time: 1s
………
………
………
50 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
Serial Phase #:99 [OIGPDB1NEW] Files:1 Time: 2s ***
End PDB Application Upgrade Pre-Shutdown ***
Serial Phase #:100 [OIGPDB1NEW] Files:1 Time: 2s
51 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
Serial Phase #:101 [OIGPDB1NEW] Files:1 Time: 4s
Serial Phase #:102 [OIGPDB1NEW] Files:1 Time: 2s
***************** Post Upgrade *****************
Serial Phase #:103 [OIGPDB1NEW] Files:1 Time: 110s
**************** Summary report ****************
Serial Phase #:104 [OIGPDB1NEW] Files:1 Time: 2s *** End PDB Application Upgrade Post-
Shutdown **
Serial Phase #:105 [OIGPDB1NEW] Files:1 Time: 2s
Serial Phase #:106 [OIGPDB1NEW] Files:1 Time: 2s
Serial Phase #:107 [OIGPDB1NEW] Files:1 Time: 0s
------------------------------------------------------
Phases [0-107] End Time:[2020_05_22 22:11:35]
Container Lists Inclusion:[OIGPDB1NEW] Exclusion:[NONE] -------------------------------------
-----------------
52 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
-- Verify "upg_summary.log" from $ORACLE_BASE location
$ cd $ORACLE_BASE
$ cat upg_summary.log
E.g.
$ cd $ORACLE_BASE
$ cat upg_summary.log
Database time zone version is 26. It is older than current release time zone version 32. Time
zone upgrade is needed using the DBMS_DST package.
11. Review whether any post upgrade fixups are required. Execute from target CDB host.
• Check for file with name "postupgrade_fixups.sql". If file is not present, no action is required.
12. Use the utility catcon.pl to run utlrp.sql from the $ORACLE_HOME/rdbms/admin directory. The script recompiles
INVALID objects in the database. Execute in target CDB host.
53 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
$ cd $ORACLE_HOME/rdbms/admin
$ $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catcon.pl -c '<target_pdb_name>' -n 1 -e
-b comp -d '''.''' $ORACLE_HOME/rdbms/admin/utlrp.sql
E.g.
$ $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catcon.pl -c 'OIGPDB1NEW' -n 1 -e -b
comp -d '''.''' $ORACLE_HOME/rdbms/admin/utlrp.sql
catcon::set_log_file_base_path: ALL catcon-related output will be written
to
[/u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/comp_catcon_31998.lst]
13. Open the new cloned target PDB in Read-Write mode. Execute from CDB SYS user in target CDB.
E.g.
SQL> ALTER PLUGGABLE DATABASE OIGPDB1NEW OPEN;
14. Verify all violations (in particular ERROR) in PDB_PLUG_IN_VIOLATIONS dictionary view are in RESOLVED status.
Execute from CDB SYS user in target CDB.
• Ignore the two WARNING entries in PENDING state, as it is a known Oracle Database issue. Contact Oracle
Database Support for more information on the fix for the issue. These do not affect any database or OIG
functionality in any way. Ignore the same and proceed with next steps.
54 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
SQL> SELECT name, cause, type, message, status FROM pdb_plug_in_violations WHERE
name='<target_pdb_name>';
E.g.
SQL> SELECT name, cause, type, message, status FROM pdb_plug_in_violations WHERE
name='OIGPDB1NEW';
NAME CAUSE TYPE MESSAGE STATUS
-------------------- -------------------- --------- ----------------------------------- -------
-
OIGPDB1NEW OPTION ERROR Database option APS mismatch: PDB
RESOLVED
installed version 12.2.0.1.0. CDB
installed version 19.0.0.0.0.
55 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
PDB installed version 12.2.0.1.0.
CDB installed version 19.0.0.0.0.
OIGPDB1NEW VSN not match ERROR PDB's version does not match CDB's
RESOLVED version: PDB's version
12.2.0.1.0. CDB's version 19.0.0.0.0.
OIGPDB1NEW missing XDB schema t WARNING There are common XDB schema types PENDING
ype missing from ROOT.
22 rows selected.
15. Verify new cloned target PDB configurations. Execute from CDB SYS user in target CDB.
56 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
SQL> SHOW con_id
SQL> SHOW pdbs;
SQL> SELECT pdb_name, status FROM cdb_pdbs;
SQL> SELECT username FROM dba_users WHERE username LIKE '<oig_schema_prefix>%' ORDER BY
username;
E.g.
SQL> show con_id
CON_ID
------------------------------
3
PDB_NAME STATUS
---------------- ---------
OIGPDB1NEW NORMAL
11 rows selected.
16. Verify OIG DB accessible using new cloned target PDB connection credentials.
$ sqlplus
<oig_user>/<oig_user_password>@//<target_hostname>:<target_port>/<target_pdb_service_name>
E.g.
$ sqlplus DEV_OIM/<oig_user_password>@//targethost.example.com:1522/OIGPDB1NEW.example.com
17. OIG DB in new cloned target PDB is now available for use.
18. Drop database link from target CDB and common user from source CDB. Execute from CDB SYS user.
57 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
-- From target CDB
SQL> DROP DATABASE LINK <database_link_name>;
E.g.
-- From target CDB
SQL> DROP DATABASE LINK oig_dblink;
User dropped.
19. Start the SOA queues. Execute from SOAINFRA user in new cloned target PDB.
20. Modify connection configuration in OIG data sources and other artifacts to reflect new cloned target PDB connection
credentials.
a. Refer to Appendix section “Mid-Tier OIG JDBC Connection Configuration”. Execute steps provided in the
section.
21. OIG application is available for use with OIG DB deployed in new cloned target PDB.
Plugging In
Overview
58 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
Supported Source Oracle Database Versions and Architecture
• 12.1.0.2.0 CDB
• 12.2.0.1.0 CDB
• 18c CDB
• 12.2.0.1.0 CDB
• 18c CDB
• 19c CDB (recommended)
Pre-requisites
• The current user must have the CREATE PLUGGABLE DATABASE system privilege in the root of the CDB that will
contain the target PDB.
• The source and target CDB are deployed on same host.
• The source and target CDB must be running Oracle Database 12c Release 1 (12.1.0.2.0) or later. The target CDB
must be running different Oracle Database release from source CDB.
• If the source CDB is in NOARCHIVELOG mode, then it must be open in read-only mode. If the source CDB is in
ARCHIVELOG mode, then it can be open read-only or read/write.
• If source CDB is TDE enabled, then TDE password would be required during creation of pluggable database from
target CDB.
o It is required for source CDB to have password based TDE wallet.
o If source CDB has Autologin based TDE wallet, then it needs to be converted to password based TDE wallet
and then proceed with next steps.
Execution Steps
c. Stop any running DBMS_SCHEDULER jobs currently executing in OIG. Execute from OIG user in source PDB.
59 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
-- Fetch current running job name
SQL> SELECT job_name, session_id, running_instance, elapsed_time FROM
user_scheduler_running_jobs;
-- In case of any running jobs, either wait until its completion or stop the job
'gracefully'
SQL> BEGIN
DBMS_SCHEDULER.stop_job('<job_name>');
END; /
60 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
-- Traverse to <preupg_output_directory> directory
$ cd <preupg_output_directory>
E.g.
$ cd /u01
Session altered.
SQL> @preupgrade_fixups_OIGPDB1.sql
Fixup
Check Name Status Further DBA Action ------
---- ------ ------------------
supported_version Failed Manual fixup required.
purge_recyclebin Passed None
invalid_objects_exist Failed Manual fixup recommended.
dictionary_stats Passed None mv_refresh
Failed Manual fixup recommended.
E.g.
SQL> ALTER PLUGGABLE DATABASE OIGPDB1 CLOSE;
d. Follow all recommendations listed in "preupgrade.log" file in Pre-Upgrade output log directory.
e. Unplug source PDB to XML file. Execute from CDB SYS user in source CDB.
61 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
-- Unplug source PDB to XML file
SQL> ALTER PLUGGABLE DATABASE <source_pdb_name> UNPLUG INTO
'<directory_path>/<source_pdb_xml_metadata>.xml';
E.g.
SQL> ALTER PLUGGABLE DATABASE OIGPDB1 UNPLUG INTO '/u01/OIGPDB1unplug.xml';
Pluggable database altered.
f. Drop source PDB (but keep datafiles). Execute from CDB SYS user in source CDB.
3. Plug In the unplugged source PDB in target CDB. Execute from CDB SYS user.
a. Fetch data files location for both source and target CDB. Execute from CDB SYS user.
b. Create new PDB in target CDB. Execute from CDB SYS user in target CDB.
-- Create Pluggable database
SQL> CREATE PLUGGABLE DATABASE <target_pdb_name> USING
'<directory_path>/<souce_pdb_unplugged_file_name>.xml'
FILE_NAME_CONVERT = ('<source_data_file_loc>', '<target_data_file_loc>');
E.g.
SQL> CREATE PLUGGABLE DATABASE OIGPDB1NEW USING '/u01/OIGPDB1unplug.xml'
FILE_NAME_CONVERT =
('/u01/app/oracle/oradata/sourcedb/OIGPDB1','/u01/app/oracle/oradata/targetdb/OIGPDB1NE
W');
4. Check the PDB_PLUG_IN_VIOLATIONS dictionary view from target CDB for any error raised.
• Ignore WARNING messages. After cloned target PDB upgrade, most of them will be corrected.
• Ignore below ERROR message, as we need to later upgrade the cloned target PDB after plug in operation is
complete into target CDB.
"PDB’s version does not match CDB’s version: PDB’s version 12.2.0.1.0. CDB’s version 19.0.0.0.0.
62 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
SQL> SELECT name,cause,type,message,status FROM pdb_plug_in_violations WHERE
name='<target_pdb_name>';
E.g.
SQL> SELECT name,cause,type,message,status FROM pdb_plug_in_violations WHERE
name='OIGPDB1NEW';
NAME CAUSE TYPE MESSAGE STATUS
-------------------- -------------------- --------- ----------------------------------- -------
-
OIGPDB1NEW Parameter WARNING CDB parameter filesystemio_options
PENDING
mismatch: Previous 'SETALL' Current
'none'
OIGPDB1NEW OPTION ERROR Database option APS mismatch: PDB
PENDING
installed version 12.2.0.1.0. CDB
installed version 19.0.0.0.0.
63 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
OIGPDB1NEW Parameter WARNING CDB parameter compatible mismatch:
PENDING
Previous '12.2.0' Current '19.0.0'
OIGPDB1NEW OPTION ERROR Database option CATJAVA mismatch:
PENDING
PDB installed version 12.2.0.1.0.
CDB installed version 19.0.0.0.0.
64 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
installed version 12.2.0.1.0. CDB
installed version 19.0.0.0.0.
OIGPDB1NEW VSN not match ERROR PDB's version does not match CDB's PENDING
version: PDB's version 12.2.0.1.0. CDB's
version 19.0.0.0.0.
OIGPDB1NEW missing XDB schema t WARNING There are common XDB schema types PENDING
ype missing from ROOT.
23 rows selected.
5. Verify that new cloned target PDB is created in "NEW" state. Execute from CDB SYS user in target CDB.
E.g.
SQL> SHOW pdbs;
PDB_NAME STATUS
---------------- ---------
PDB$SEED NORMAL OIGPDB1NEW
NEW
6. Open the new cloned target PDB in UPGRADE mode. Execute from CDB SYS user in target CDB.
Session altered.
65 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
SQL> ALTER PLUGGABLE DATABASE OPEN UPGRADE;
7. Upgrade the new cloned PDB using the Parallel Upgrade Utility command (catctl.pl). Execute in target CDB host.
$ $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catctl.pl -d \
> $ORACLE_HOME/rdbms/admin -c '<target_pdb_name>' -l $ORACLE_BASE catupgrd.sql
E.g.
$ $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catctl.pl -d \
> $ORACLE_HOME/rdbms/admin -c 'OIGPDB1NEW' -l $ORACLE_BASE catupgrd.sql
Argument list for [/u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/catctl.pl]
For Oracle internal use only A = 0
Run in c = OIGPDB1NEW
Do not run in C = 0
Input Directory d = /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin
Echo OFF e = 1
Simulate E = 0
Forced cleanup F = 0
Log Id i = 0
Child Process I = 0
Log Dir l = /u01/app/oracle
Priority List Name L = 0
Upgrade Mode active M = 0
SQL Process Count n = 0
SQL PDB Process Count N = 0
Open Mode Normal o = 0
Start Phase p = 0
End Phase P = 0
Reverse Order r = 0
AutoUpgrade Resume R = 0
Script s = 0
Serial Run S = 0
RO User Tablespaces T = 0
Display Phases y = 0
Debug catcon.pm z = 0
Debug catctl.pl Z = 0
catctl.pl VERSION:
[19.0.0.0.0] STATUS:
[Production]
BUILD: [Build_id]
/u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/orahome =
[/u01/app/oracle/product/19.0.0/dbhome_1]
/u01/app/oracle/product/19.0.0/dbhome_1/bin/orabasehome =
[/u01/app/oracle/product/19.0.0/dbhome_1]
catctlGetOraBaseLogDir = [/u01/app/oracle/product/19.0.0/dbhome_1]
Analyzing file /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/catupgrd.sql
Log file directory = [/u01/app/oracle]
66 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
catcon::set_log_file_base_path: ALL catcon-related output will be written to
[/u01/app/oracle/catupgrd_catcon_27977.lst]
Number of Cpus = 8
Database Name = targetdb
DataBase Version = 19.0.0.0.0
Generated PDB Inclusion:[OIGPDB1NEW]
CDB$ROOT Open Mode = [OPEN]
Parallel SQL Process Count (PDB) = 2
Parallel SQL Process Count (CDB$ROOT) = 8
Concurrent PDB Upgrades = 1
/u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/orahome =
[/u01/app/oracle/product/19.0.0/dbhome_1]
/u01/app/oracle/product/19.0.0/dbhome_1/bin/orabasehome =
[/u01/app/oracle/product/19.0.0/dbhome_1]
catctlGetOraBaseLogDir = [/u01/app/oracle/product/19.0.0/dbhome_1]
67 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
Analyzing file /u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/catupgrd.sql
Log file directory = [/u01/app/oracle]
68 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
69 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
catcon::set_log_file_base_path: ALL catcon-related output will be written to
[/u01/app/oracle/catupgrdoigpdb1new_catcon_28226.lst]
Number of Cpus = 8
Database Name = targetdb
DataBase Version = 19.0.0.0.0
OIGPDB1NEW Open Mode = [MIGRATE]
Generated PDB Inclusion:[OIGPDB1NEW]
CDB$ROOT Open Mode = [OPEN]
Components in [OIGPDB1NEW]
Installed [APS CATALOG CATJAVA CATPROC CONTEXT DV JAVAVM OLS ORDIM OWM SDO XDB XML XOQ]
Not Installed [APEX EM MGW ODM RAC WK]
------------------------------------------------------
Phases [0-107] Start Time:[2020_05_22 03:39:09]
Container Lists Inclusion:[OIGPDB1NEW] Exclusion:[NONE]
------------------------------------------------------
*********** Executing Change Scripts ***********
Serial Phase #:0 [OIGPDB1NEW] Files:1 Time: 23s ***************
Catalog Core SQL ***************
Serial Phase #:1 [OIGPDB1NEW] Files:5 Time: 34s
Restart Phase #:2 [OIGPDB1NEW] Files:1 Time: 1s
………
………
………
70 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
Grand Total Time: 1128s
71 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
LOG FILES: (/u01/app/oracle/catupgrd*.log)
E.g.
$ cd $ORACLE_BASE
$ cat upg_summary.log
Database time zone version is 26. It is older than current release time zone
version 32. Time zone upgrade is needed using the DBMS_DST package.
9. Review whether any post upgrade fixups are required. Execute in target CDB host.
• Check for file with name "postupgrade_fixups.sql". If file is not present, no action is required.
72 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
catcon::set_log_file_base_path:
catcon: See
[/u01/app/oracle/postfixups_*.lst
] files for spool files, if any
catcon.pl: completed
successfully
10. Use the utility catcon.pl to run utlrp.sql from the $ORACLE_HOME/rdbms/admin directory. The script recompiles
INVALID objects in the database. Execute in target CDB host.
$ cd $ORACLE_HOME/rdbms/admin
$ $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catcon.pl -c '<target_pdb_name>' -n 1 -e
-b comp -d '''.''' $ORACLE_HOME/rdbms/admin/utlrp.sql
E.g.
$ $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catcon.pl -c 'OIGPDB1NEW' -n 1 -e -b
comp -d '''.''' $ORACLE_HOME/rdbms/admin/utlrp.sql
catcon::set_log_file_base_path: ALL catcon-related output will be written
to
[/u01/app/oracle/product/19.0.0/dbhome_1/rdbms/admin/comp_catcon_8785.lst]
11. Open the new cloned target PDB in Read-Write mode. Execute from CDB SYS user in target CDB.
E.g.
SQL> ALTER PLUGGABLE DATABASE OIGPDB1NEW OPEN;
12. Verify all violations (in particular ERROR) in PDB_PLUG_IN_VIOLATIONS dictionary view are in RESOLVED status.
Ignore the two WARNING entries in PENDING state, as it is a known Oracle Database issue. Contact Oracle
Database Support for more information on the fix for the issue. These do not affect any database or OIG
functionality in any way. Ignore the same and proceed with next steps.
73 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
SQL> COL CAUSE FOR a20
SQL> COL NAME FOR a20
SQL> COL MESSAGE FOR a35 word_wrapped
SQL> SET LIN 2000 PAGES 2000
SQL> SELECT name, cause, type, message, status FROM pdb_plug_in_violations WHERE
name='<target_pdb_name>';
E.g.
SQL> SELECT name, cause, type, message, status FROM pdb_plug_in_violations WHERE
name='OIGPDB1NEW';
NAME CAUSE TYPE MESSAGE STATUS
-------------------- -------------------- --------- ----------------------------------- -------
-
OIGPDB1NEW Parameter WARNING CDB parameter filesystemio_options
RESOLVED
mismatch: Previous 'SETALL' Current
'none'
OIGPDB1NEW OPTION ERROR Database option APS mismatch: PDB
RESOLVED
74 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
installed version 12.2.0.1.0. CDB
installed version 19.0.0.0.0.
75 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
OIGPDB1NEW OPTION ERROR Database option OWM mismatch: PDB
RESOLVED
installed version 12.2.0.1.0. CDB
installed version 19.0.0.0.0.
OIGPDB1NEW VSN not match ERROR PDB's version does not match CDB's
RESOLVED version: PDB's version 12.2.0.1.0.
CDB's version 19.0.0.0.0.
OIGPDB1NEW missing XDB schema t WARNING There are common XDB schema types PENDING
ype missing from ROOT.
23 rows selected.
13. Verify new cloned target PDB configurations. Execute from CDB SYS user in target CDB.
E.g.
SQL> show con_id
CON_ID
------------------------------
3
76 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
PDB_NAME STATUS
---------------- ---------
OIGPDB1NEW NORMAL
14. Verify OIG DB accessible using new cloned target PDB connection credentials.
$ sqlplus
<oig_user>/<oig_user_password>@//<target_hostname>:<target_port>/<target_pdb_service_name>
E.g.
$ sqlplus DEV_OIM/<oig_user_password>@//targethost.example.com:1522/OIGPDB1NEW.example.com
15. OIG DB in new cloned target PDB is now available for use.
16. Start the SOA queues. Execute from SOAINFRA user in new cloned target PDB.
17. Modify connection configuration in OIG data sources and other artifacts to reflect new cloned target PDB connection
credentials.
a. Refer to Appendix section “Mid-Tier OIG JDBC Connection Configuration”. Execute steps provided in the
section.
18. OIG application is available for use with OIG DB deployed in new cloned target PDB.
77 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
APPENDIX
References
Creating and Removing PDBs and Application Containers
Overview
• Update OIG JDBC data sources, OIMAuthenticationProvider and DirectDB configuration using Enterprise Manager.
• Supported for all OIG versions.
Execution Steps
Value: jdbc:oracle:thin:@//<target_cdb_host>:<target_cdb_port>/<target_pdb_servicename>
E.g.
Value: jdbc:oracle:thin:@//targethost.example.com:1521/OIGPDB1.example.com
3. Open WebLogic Domain => JDBC Data Sources. Below is list of JDBC data sources which should be visible here based
on installed OIG version (E.g. Given below are OIG data sources in OIG 12cPS4).
78 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
4. Edit ALL JDBC Data Sources Connection Pool Database URLs to reflect target PDB connection details.
E.g.
Database URL: jdbc:oracle:thin:@//targethost.example.com:1521/OIGPDB1.example.com
5. Restart Weblogic Admin server and Start OIG and SOA Managed Server instances using Enterprise Manager or CLI.
6. Goto the System MBean Browser => Application Defined MBeans => oracle.iam => Server:oim_server1 =>XML Config
=> DirectDB.
a. Goto the Attributes tab => Look for ‘Url’.
b. Edit the connection URL info for ‘Url’ to reflect target PDB connection details.
Value: jdbc:oracle:thin:@//<target_cdb_host>:<target_cdb_port>/<target_pdb_servicename>
E.g.
Value: jdbc:oracle:thin:@//targethost.example.com:1521/OIGPDB1.example.com
79 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
7. Restart OIG Managed Server instance using Enterprise Manager or CLI, for DirectDB changes to take effect.
80 TECHNICAL BRIEF | Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure | Version
1.0 Copyright © 2020, Oracle and/or its affiliates | Confidential - Public
CONNECT WITH US
Call +1.800.ORACLE1 or visit oracle.com.
Outside North America, find your local office at oracle.com/contact.
Copyright © 2020, Oracle and/or its affiliates. All rights reserved. This document is provided for information purposes only, and the contents hereof are subject to change without
notice. This document is not warranted to be error-free, nor subject to any other warranties or conditions, whether expressed orally or implied in law, including implied warranties
and conditions of merchantability or fitness for a particular purpose. We specifically disclaim any liability with respect to this document, and no contractual obligations are formed
either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without
our prior written permission.
This device has not been authorized as required by the rules of the Federal Communications Commission. This device is not, and may not be, offered for sale or lease, or sold or
leased, until authorization is obtained.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of
SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered
trademark of The Open Group. 0120
Migrate of Oracle Identity Governance Database to Container Database Architecture in an On-premises Infrastructure August,
2020
Author: Sagar Dua