This note suggest the steps to lift and shift an eBS 12cR1 database to OCI as a PDB.
The backup is supposed to be uploaded on a shared file system.
From the OCI console:
#1 Provision a dbsystem with ebs as the CDB name and specify a PDB with the same name as the target PDB. Carefully pick the database character set !
On the new db system:
#2 Copy the customer keystore
Copy the customer keystore to /opt/oracle/dcs/commonstore/wallets/tde/<db unique name>
I think nicer to keep the same fraxxx number as the CDB.
#2 Generate the wallet using the source database master key
cd /opt/oracle/dcs/commonstore/wallets/tde/<db unique name> orapki wallet create -wallet ./ -pwd "<key>" -auto_login
#3 Mount the staging file system where the rman backup is located
service rpcbind start mkdir /mnt/stagingarea mount 10.x.x.x:/stagingarea /mnt/stagingarea
#4 Optionally, create the directory to match with the logfile directory and tempfile as they exist from the source database. They will be recreated on the restore is complete
mkdir -p /database/prod/logfile chown oracle:oinstall /database/prod/logfile
#5 Run the database restore
#6 Recreate the redo and tempfile on ASM. Make sure no legacy location is still being used.
#7 To prepare for datapatch, create the missing patch from the new ORACLE_HOME. A first database run would proovide the missing files
cd $ORACLE_HOME/sqlpatch cp -Rv <old oracle_home>/sqlpatch/<missing patches> .
cp -r /mnt/stagingarea/database/12.1.0/sqlpatch/24006101 .
#8 Optionally, recreate the loader objects to prevent datapatch to fail with the error ORA-22308: operation not allowed on evolved type (Doc ID 2327572.1)
DROP TYPE sys.oracle_loader; DROP TYPE sys.oracle_datapump; @?/rdbms/admin/dpload.sql
#9 Run datapatch
#10 Increase recovery_dest_size to 200GB
Default is 34G, not enough to run utlrp.sql on an eBS database.
#11 Apply the dbms patches
Download the the EBS Technology CodeLevel Checker patch (Currently 175377119)
Run the checkDBPatch.sh utility
If applicable download and apply the recommanded patch
Restart the database
#12 Copy the Non-CDB as a PDB
Checkout this note.
sudo firewall-cmd --zone=public --permanent --add-port=1531/tcp sudo firewall-cmd --reload
iptables -I INPUT 5 -p tcp -m state –state NEW -m tcp -s 0.0.0.0/0 –dport 1531 -j ACCEPT -m comment –comment “For eBS”
iptables -I INPUT 5 -p tcp -m state –state NEW -m tcp -s 0.0.0.0/0 –dport 8010 -j ACCEPT -m comment –comment “For eBS”