Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> ฐานข้อมูล

การโคลนฐานข้อมูลโดยใช้คำสั่ง DBCA ใน Oracle 19c

บล็อกนี้จะแนะนำวิธีการใช้งาน Database Configuration Assistant (DBCA) ซึ่งเป็นคุณลักษณะใหม่ใน Oracle 19c เพื่อโคลนฐานข้อมูลแบบเสียบปลั๊กระยะไกล (PDB) ลงในฐานข้อมูลคอนเทนเนอร์ (CDB) โดยไม่ต้องสำรองฐานข้อมูลต้นทาง

ใช้เวลาน้อยที่สุดในการโคลนจากแหล่งที่มาไปยังเป้าหมาย

รายละเอียดฐานข้อมูลต้นทาง

CDB:LCONCDBPDB:LCON การโคลนฐานข้อมูลโดยใช้คำสั่ง DBCA ใน Oracle 19c ต่อไปนี้คือจำนวนทั้งหมด ของไฟล์ DBF ภายใต้แต่ละคอนเทนเนอร์ (CDB และ PDB) ในซอร์ส ที่ต้องตรวจสอบหลังจากโคลนอยู่ในเป้าหมาย จาก DB ต้นทางด้านบน คุณจะสร้าง CDB และ PDB ในโฮสต์เป้าหมาย

รายละเอียดฐานข้อมูลเป้าหมาย

CDB:- KCONCDBPDB:- KCON

ขั้นตอนเบื้องต้นที่ต้องทำให้เสร็จ ได้แก่ :-

  1. ติดตั้ง Oracle Database 19c ในโฮสต์เป้าหมาย หรือคุณสามารถสร้าง RDBMS19c tar จากต้นทางและ untar ในโหนดเป้าหมายได้ หรือคุณสามารถใช้คำสั่ง rsync จากต้นทางไปยังเป้าหมายเพื่อทำให้ RDBMS เหมือนกับต้นทางได้
  2. สร้างไฟล์ xml เพื่อเรียกใช้ perl adclonectx.pl และให้รายละเอียด หลังจาก 19c RDBMS ติดตั้ง/สร้าง คุณต้องสร้างไฟล์บริบทสำหรับโหนด DB เป้าหมาย ต่อไปนี้เป็นคำสั่งเพื่อสร้างไฟล์บริบทในโหนดฐานข้อมูลเป้าหมาย

`[oraki@nglusnj bin]$ perl adclonectx.pl \

Contextfile=/u02/oracle/KCON/product/19.3/appsutil/NYAPP_nglusnj.xmlCopyright (c) 2011, 2015 Oracle Corporationเรดวูดชอร์ส แคลิฟอร์เนีย สหรัฐอเมริกา

                    Oracle E-Business Suite Rapid Clone

                             Version 12.2

                  adclonectx Version 120.30.12020000.22`

กำลังรัน:/u02/oracle/KCON/product/19.3/appsutil/clone/bin/../jre/bin/java -Xmx600M -Doracle.jdbc.autoCommitSpecCompliant=false -classpath /u02/oracle/KCON/product /19.3/appsutil/clone/bin/../jlib/ojdbc8.jar:/u02/oracle/KCON/product/19.3/appsutil/clone/bin/../jlib/xmlparserv2.jar:/u02/oracle/KCON /product/19.3/appsutil/clone/bin/../jlib/java:oracle.apps.ad.context.CloneContext -e /u02/oracle/KCON/product/19.3/appsutil/NYAPP_nglusnj.xml -tmpl /u02/ oracle/KCON/product/19.3/appsutil/clone/bin/../context/db/adxdbctx.tmp

ใส่รหัสผ่าน APPS :

ไฟล์บันทึกอยู่ที่ /u02/oracle/KCON/product/19.3/appsutil/clone/bin/CloneContext_0227034250.log

ระบุค่าที่จำเป็นสำหรับการสร้างไฟล์บริบทฐานข้อมูลใหม่

ชื่อโฮสต์ของระบบเป้าหมาย (เสมือนหรือปกติ) [nglusnj] :nglusnj

ขอแนะนำให้ตรวจสอบข้อมูลที่คุณป้อนเข้าโดยโปรแกรม อย่างไรก็ตาม คุณอาจเลือกที่จะไม่ตรวจสอบข้อมูลในกรณีต่อไปนี้:

    -If cloning a context on source system for a remote system.
    -If cloning a context on a machine where the ports are taken and
     you do not want to shutdown the services at this point.
    -If cloning a context but the database it needs to connect is not available.

คุณต้องการให้อินพุตถูกตรวจสอบความถูกต้องหรือไม่ (y/n) [n] ? :n

ไดเร็กทอรีพื้นฐานของระบบเป้าหมาย :/u02/oracle/KCON

Target Instance is RAC (y/n) [n] :

ชื่อ CDB ระบบเป้าหมาย :KCONCDB

ชื่อ PDB ระบบเป้าหมาย :KCON

ผู้ใช้ Oracle OS [oraki] :

Oracle OS Group [dba] :

รองรับการแยกบทบาท y/n [n] ? :n

จำนวน DATA_TOP บนระบบเป้าหมาย [2] :

Target System DATA_TOP Directory 1 [/u02/oracle/KCON/NYAPPCDB] :/u02/oracle/KCON/KCONCDB

ระบบเป้าหมาย DATA_TOP ไดเร็กทอรี 2 [/u02/oracle/KCON/data] :

ระบุค่าสำหรับกลุ่ม OSBACKUPDBA [dba] :

ระบุค่าสำหรับกลุ่ม OSDGDBA [dba] :

ระบุค่าสำหรับกลุ่ม OSKMDBA [dba] :

ระบุค่าสำหรับกลุ่ม OSRACDBA [dba] :

ไดเรกทอรีระบบเป้าหมาย RDBMS ORACLE_HOME [/u02/oracle/KCON/19.0.0] :/u02/oracle/KCON/product/19.3

คุณต้องการที่จะรักษาการแสดงผล [nglusnj:0.0] (y/n) :y

Target System Port Pool [0-99] :20 ไฟล์รายงานอยู่ที่ /u02/oracle/KCON/product/19.3/appsutil/temp/portpool.lst

พาธบริบทใหม่และชื่อไฟล์ [/u02/oracle/KCON/product/19.3/appsutil/KCON_nglusnj.xml] :/u02/oracle/KCON/product/19.3/appsutil/KCON_nglusnj.xml ไฟล์มีอยู่แล้ว รหัส>

คุณต้องการที่จะเขียนทับมัน (y/n) [n] ? :y กำลังแทนที่ไฟล์ /u02/oracle/KCON/product/19.3/appsutil/KCON_nglusnj.xml สร้างไฟล์บริบทฐานข้อมูลใหม่แล้ว:/u02/oracle/KCON/product/19.3/appsutil/KCON_nglusnj.xml contextfile=/u02/oracle/KCON/product/19.3/appsutil/KCON_nglusnj.xml Check Clone Context logfile /u02/ oracle/KCON/product/19.3/appsutil/clone/bin/CloneContext_0227034250.log สำหรับรายละเอียด [oraki@nglusnj bin]$ perl

  1. เมื่อคุณสร้างไฟล์บริบทในโหนด DB เป้าหมายแล้ว คุณต้องกำหนดค่า 19C RDBMS เพื่อเรียกใช้ adcfgclone ในโหนด DB เป้าหมาย และส่งไฟล์บริบทที่คุณสร้างไว้ด้านบน ตัวอย่างต่อไปนี้ครอบคลุมขั้นตอนในการรันคำสั่ง

[oraki@nglusnj bin]$ perl adcfgclone.pl dbTechStack /u02/oracle/KCON/product/19.3/appsutil/KCON_nglusnj.xml

                 Copyright (c) 2002, 2015 Oracle Corporation
                    Redwood Shores, California, USA

                    Oracle E-Business Suite Rapid Clone

                             Version 12.2

                  adcfgclone Version 120.63.12020000.65

ใส่รหัสผ่าน APPS :

รัน Rapid Clone ด้วยคำสั่ง:

กำลังวิ่ง: perl /u02/oracle/KCON/product/19.3/appsutil/clone/bin/adclone.pl java=/u02/oracle/KCON/product/19.3/appsutil/clone/bin/../jre mode=apply stage=/u02/oracle/KCON/product/19.3/appsutil/clone component=dbTechStack method=CUSTOM dbctxtg=/u02/oracle/KCON/product/19.3/appsutil/KCON_nglusnj.xml showProgress contextValidated=false

เริ่มต้น rdbms home สมัคร - ส. 27 ก.พ. 04:25:16 น. 2021

/u02/oracle/KCON/product/19.3/appsutil/clone/bin/../jre/bin/java -Xmx600M -Doracle.jdbc.autoCommitSpecCompliant=false -DCONTEXT_VALIDATED=false -Doracle.installer.oui_loc=/ u02/oracle/KCON/product/19.3/oui -classpath /u02/oracle/KCON/product/19.3/appsutil/clone/jlib/xmlparserv2.jar:/u02/oracle/KCON/product/19.3/appsutil/clone/jlib /ojdbc8.jar:/u02/oracle/KCON/product/19.3/appsutil/clone/jlib/java:/u02/oracle/KCON/product/19.3/appsutil/clone/jlib/oui/OraInstaller.jar:/u02/ oracle/KCON/product/19.3/appsutil/clone/jlib/oui/ewt3.jar:/u02/oracle/KCON/product/19.3/appsutil/clone/jlib/oui/share.jar:/u02/oracle/KCON/ ผลิตภัณฑ์/19.3/appsutil/clone/jlib/oui/srvm.jar:/u02/oracle/KCON/product/19.3/appsutil/clone/jlib/ojmisc.jar oracle.apps.ad.clone.ApplyDBTechStack -e /u02/ oracle/KCON/product/19.3/appsutil/KCON_nglusnj.xml -stage /u02/oracle/KCON/product/19.3/appsutil/clone -showProgress APPS Password :ล็อกไฟล์อยู่ที่ /u02/oracle/KCON/product/19.3/appsutil /log/KCON_nglusnj/ApplyDBTechStac k_02270425.log | สำเร็จ 0%

ไฟล์บันทึกอยู่ที่ /u02/oracle/KCON/product/19.3/appsutil/log/KCON_nglusnj/ApplyDBTechStack_02270425.log

  • เสร็จสมบูรณ์ 0%

สมัครเสร็จแล้ว...

  1. ซอร์ส CDB ที่มี PDB ควรอยู่ในโหมดบันทึกการเก็บถาวร

คุณต้องตรวจสอบให้แน่ใจว่าฐานข้อมูลต้นทางอยู่ในโหมดบันทึกการเก็บถาวร

  1. เรียกใช้คำสั่ง DBCA บนโหนดเป้าหมายเพื่อโคลน CDB และ PDB ใน VNC

ไวยากรณ์:

./dbca -silent -createDuplicateDB -gdbName {CLONE_DB_NAME} -primaryDBConnectionString -sid {CLONE_DB_SID} -databaseConfigType SINGLE -initParams db_unique_name={CLONE_DB_NAME} -sysFIWD_SID} -databaseConfigType SINGLE -initParams db_unique_name={CLONE_DB_NAME} -sysFIWD_DATA_{PRIMARYPfileD> /code>

[oraki@nglusnj ~]$ dbca -silent -createDuplicateDB -gdbName KCONCDB -sid KCONCDB -primaryDBConnectionString nglusnj:1551/LCONCDB -databaseConfigType SI -initParams db_unique_name=KCONCDB - sysPassword LCONCDB! -datafileDestination /u02/oracle/KCON/product/oradata/KCONCDB

*-gdbName =Target Global Database Name.*-sid=Target sid Name*-primaryDBConnectionString =Source connection String..*-databaseConfigType =SI หมายถึง Single Instance*-initParams db_unique_name =Target db unique name*-sysPassword =sys รหัสผ่านผู้ใช้ *-datafileDestination =ตำแหน่งไฟล์ dbf ในเป้าหมาย

ตอนนี้ทั้ง CDB และ PDB ได้ถูกสร้างขึ้นแล้ว6. เปลี่ยนชื่อ PDB เนื่องจาก PDB มีชื่อเดียวกับชื่อ DB ต้นทาง ขั้นตอนต่อไปนี้จะช่วยให้คุณเปลี่ยนชื่อ PDB

SQL> แก้ไขชุดเซสชันคอนเทนเนอร์=LCON;

มีการเปลี่ยนแปลงเซสชัน

SQL> ปิดระบบทันที ปิดฐานข้อมูลที่เสียบได้ SQL> การจำกัดการเปิดเริ่มต้น เปิดฐานข้อมูลที่เสียบได้ SQL> เปลี่ยนฐานข้อมูลที่เสียบได้ LCON เปลี่ยนชื่อ global_name เป็น KCON

ฐานข้อมูลที่เสียบได้มีการเปลี่ยนแปลง

SQL> ปิดทันที; ปิดฐานข้อมูลแบบเสียบได้ SQL> แก้ไขฐานข้อมูลที่เปิดอยู่

ฐานข้อมูลมีการเปลี่ยนแปลง

ด้วยเหตุนี้การโคลนจึงเสร็จสมบูรณ์ คุณต้องตรวจสอบและจับคู่ไฟล์ DBF จากแหล่งที่มา จำนวนไฟล์ DBF ควรเท่ากัน

บทสรุป

การโคลน PDB การใช้ DBCA คุณลักษณะใหม่ใน Oracle 19c ในโหมดเงียบเป็นวิธีที่ง่ายที่สุดในการโคลนฐานข้อมูลในเวลาน้อยที่สุด คุณไม่จำเป็นต้องสำรองข้อมูลของฐานข้อมูลต้นทางและคัดลอกส่วนข้อมูลสำรองนั้นไปยังโฮสต์เป้าหมายสำหรับการโคลน ซึ่งช่วยประหยัดเวลาด้วย

ใช้แท็บคำติชมเพื่อแสดงความคิดเห็นหรือถามคำถาม คุณสามารถเริ่มการสนทนากับเราได้เช่นกัน