سلام به همه دوستان
خب اگه با من همراه باشید به خاطر دارید که ما دیتابیس 11.2.0.4 را upgrade کردیم به 18.3 و با استفاده از patch های که زدیم به نسخه 18.4 مهاجرت کردیم
یکی از Feature های خوبی که از 12.1 معرفی شد استفاده از PDB های بود که در مقاله ای سعی میکنم توضیح در مورد این نوع دیتابیس های بدم .
خب خیلی از دوستان که دیتابیس های 11.3 و11.4 را upgrade میکنن میخواهند از این feature جدید هم استفاده کنن که وقتی دیتابیس را 12 یا 18 کردن به صورت non CDB هست که در این پست من انتقال دیتابس از Non-cdb به cdb رو توضیح میدم که سعی میکنم حالت های مختلف رو اینجا و در پست های مختلف توضیح بدم
ما یه دیتابیسی داریم که 18.4 و به صورت non cdb هست
[oracle@testupgradedb ~]$ !sql sqlplus / as sysdba SQL*Plus: Release 18.0.0.0.0 - Production on Fri Mar 29 22:18:02 2019 Version 18.4.1.0.0 Copyright (c) 1982, 2018, Oracle. All rights reserved. Connected to: Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production Version 18.4.1.0.0 SQL> select name,cdb,con_id,log_mode,database_role from v$database; NAME CDB CON_ID LOG_MODE DATABASE_ROLE --------- --- ---------- ------------ ---------------- ORCLTEST NO 0 ARCHIVELOG PRIMARY SQL>
همانطور که در بالا مشاهده میکنید دیتابیس من در mod noncdb هست برای اینکار من یک دیتابیس cdb نصب کردم در همین سرور
SQL> select name,cdb,con_id,log_mode,database_role from v$database; NAME CDB CON_ID LOG_MODE DATABASE_ROLE --------- --- ---------- ------------ ---------------- CDB12C YES 0 ARCHIVELOG PRIMARY SQL>
SQL> shut immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup open read only; ORACLE instance started. Total System Global Area 1962930464 bytes Fixed Size 8659232 bytes Variable Size 570425344 bytes Database Buffers 1375731712 bytes Redo Buffers 8114176 bytes Database mounted. Database opened.
SQL> BEGIN DBMS_PDB.DESCRIBE(pdb_descr_file => '/tmp/orcltest.xml'); END; / 2 3 4 PL/SQL procedure successfully completed.
در این سناریو من دیتابیس cdb هم در یک host قرار دارد در سناریو های بعدی ما دیتابیس خودمون رو روی asm و در دیگر host قرا میدهیم
خب حالا به دینابیس CDB خودمون متصل میشیم
[oracle@testupgradedb ~]$ export ORACLE_SID=cdb12c [oracle@testupgradedb ~]$ sqlplus / as sysdba SQL*Plus: Release 18.0.0.0.0 - Production on Fri Mar 29 22:32:36 2019 Version 18.4.1.0.0 Copyright (c) 1982, 2018, Oracle. All rights reserved. Connected to: Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production Version 18.4.1.0.0 SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB1 READ WRITE NO SQL>
SQL> CREATE PLUGGABLE DATABASE pdb2 USING '/tmp/orcltest.xml' COPY; Pluggable database created. SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB1 READ WRITE NO 5 PDB2 MOUNTED
SQL> alter session set container=PDB2; Session altered. SQL> @noncdb_to_pdb.sql
SQL> select time,name,status,type,message from PDB_PLUG_IN_VIOLATIONS; TIME NAME STATUS TYPE MESSAGE ------------------------------ -------------------- --------- --------- ---------------------------------------------------------------------- 29-MAR-19 10.45.40.930962 PM PDB2 RESOLVED WARNING CDB parameter processes mismatch: Previous 300 Current 480 29-MAR-19 10.45.40.930962 PM PDB2 RESOLVED WARNING CDB parameter compatible mismatch: Previous '11.2.0.4.0' Current '18.0 .0' 29-MAR-19 10.45.40.930962 PM PDB2 RESOLVED WARNING CDB parameter pga_aggregate_target mismatch: Previous 620M Current 621
SQL> SET SERVEROUTPUT ON DECLARE compatible CONSTANT VARCHAR2(3) := CASE DBMS_PDB.CHECK_PLUG_COMPATIBILITY( pdb_descr_file => '/tmp/orcltest.xml', pdb_name => 'PDB2') WHEN TRUE THEN 'YES' ELSE 'NO' END; BEGIN DBMS_OUTPUT.PUT_LINE(compatible); END; /SQL> 2 3 4 5 6 7 8 9 10 11 12 YES PL/SQL procedure successfully completed.
SQL> col cause for a20 col name for a10 col message for a70 word_wrapped select name,cause,type,message,status from PDB_PLUG_IN_VIOLATIONS where name='PDB3';SQL> SQL> SQL> NAME CAUSE TYPE MESSAGE STATUS ---------- -------------------- --------- ---------------------------------------------------------------------- --------- PDB2 Parameter WARNING CDB parameter processes mismatch: Previous 300 Current 480 PENDING PDB2 Parameter WARNING CDB parameter compatible mismatch: Previous '11.2.0.4.0' Current PENDING '18.0.0' PDB2 Parameter WARNING CDB parameter pga_aggregate_target mismatch: Previous 620M Current PENDING 621M
SQL> alter pluggable database open; Pluggable database altered.