قبلا در مقاله های جداگانه، مطالبی را در مورد قابلیتهای PDB relocation و PDB cloning ارائه کردیم در اوراکل 19c، انجام این عملیات از طریق دستور DBCA آن هم به صورت silent قابل انجام است که در این مقاله، به این قابلیت جدید خواهیم پرداخت.
Remote PDB cloning با دستور DBCA
برای انجام عملیات Remote PDB cloning، در اوراکل 19c، پارامترهایی نظیر createFromRemotePDB و remotePDBName به دستور DBCA اضافه شده است.
در مثال زیر، با طی مراحلی، دیتابیس mypdb را از CDB1 در CDB2 تکثیر خواهیم کرد.
مرحله اول: ایجاد common user در CDB1
–CDB1
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /19c/arch
Oldest online log sequence 7
Next log sequence to archive 9
Current log sequence 9
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
———- —————————— ———- ———-
2 PDB$SEED READ ONLY NO
3 MYPDB READ WRITE NO
SQL> create user c##comm_usr identified by c container=all;
User created.
SQL> grant sysoper,sysdba,create pluggable database,create session to c##comm_usr container=all;
Grant succeeded.
مرحله دوم: اجرای دستور DBCA برای انجام عملیات Remote PDB cloning در CDB2
–CDB2
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 30
Next log sequence to archive 31
Current log sequence 31
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
———- —————————— ———- ———-
2 PDB$SEED READ ONLY NO
[oracle@CDB2 ~]$ dbca -silent –createPluggableDatabase -pdbname mypdb -sourceDB CDB2 -createFromRemotePDB -remotePDBName mypdb -dbLinkUsername c##comm_usr -remoteDBConnString “192.168.1.4:1521/cdb1” -remoteDBSYSDBAUserName SYS -dbLinkUserPassword c -remoteDBSYSDBAUserPassword sys -sysDBAUserName SYS -sysDBAPassword sys
Prepare for db operation
50% complete
Create pluggable database using remote clone operation
100% complete
Pluggable database “mypdb” plugged successfully.
Look at the log file “/19c/base/cfgtoollogs/dbca/CDB2/mypdb/CDB20.log” for further details.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
———- —————————— ———- ———-
2 PDB$SEED READ ONLY NO
4 MYPDB READ WRITE NO
Remote PDB relocation با دستور DBCA
برای انجام عملیات Remote PDB relocation از طریق DBCA، کافیست دستور اجرا شده در مرحله دوم مثال قبل، به صورت زیر تغییر کند:
[oracle@CDB2 ~]$ dbca -silent -relocatePDB -pdbname PDB_RELOC -sourceDB CDB1 -remotePDBName mypdb -dbLinkUsername c##comm_usr -remoteDBConnString “192.168.1.4:1521/cdb1” -remoteDBSYSDBAUserName SYS -dbLinkUserPassword c -remoteDBSYSDBAUserPassword sys -sysDBAUserName SYS -sysDBAPassword sys
Prepare for db operation
50% complete
Create pluggable database using relocate PDB operation
100% complete
Pluggable database “PDB_RELOC” plugged successfully.
Look at the log file “/19c/base/cfgtoollogs/dbca/CDB1/PDB_RELOC/CDB1.log” for further details.
با اجرای این دستور، ابتدا mypdb در CDB2 ایجاد تکثیر می شود و در نهایت از CDB1 حذف خواهد شد:
–CDB1
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
———- —————————— ———- ———-
2 PDB$SEED READ ONLY NO
4 MYPDB READ WRITE YES
5 PDB_RELOC READ WRITE YES
–CDB1
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
———- —————————— ———- ———-
2 PDB$SEED READ ONLY NO
Comment (1)