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

ใช้คุณสมบัติโคลนที่รีเฟรชได้ของ Oracle Database—ส่วนที่หนึ่ง:บทนำ

Oracle® Database 18c for Enterprise Edition บน Cloud มัดระบบวิศวกรรม (Exadata) พร้อมคุณสมบัติใหม่และปรับปรุงมากมาย รีลีส 18ci ปรับปรุงฟีเจอร์โคลนที่รีเฟรชได้จาก 12c รีลีส 2 โดยการเพิ่มสวิตช์ลัดหรือระบบเฟลโอเวอร์ คุณยังสามารถสร้างภาพหมุนสแน็ปช็อตเพื่อโคลนหรือจำลองฐานข้อมูลแบบเสียบได้ (PDB) ในสภาพแวดล้อมแบบหลายผู้ใช้

สำหรับสภาพแวดล้อมการใช้งานจริง ให้ใช้วงล้อสแน็ปช็อตที่มีฟีเจอร์ clonePDB ที่รีเฟรชได้เพื่อทำให้กิจกรรมการดูแลฐานข้อมูล (DBA) ง่ายขึ้น เช่น การป้องกันไฟดับที่คาดไม่ถึงหรือการแก้ไขปัญหาความเสียหายเชิงตรรกะ โพสต์นี้อธิบายการใช้งานจริงของโคลนที่สามารถรีเฟรชได้กับกรณีการสลับด้วยตนเองและอัตโนมัติ คุณสามารถใช้กับคุณลักษณะภาพหมุนสแน็ปช็อตเพื่อระบุและจัดการปัญหาความสมบูรณ์ของฐานข้อมูลต่อไปนี้:

  • ไม่มีฐานข้อมูลการผลิต

  • ปัญหาด้านประสิทธิภาพ

  • ความเสียหายเชิงตรรกะในฐานข้อมูล Oracle

โพสต์นี้เป็นส่วนหนึ่งของชุดโพสต์บล็อกสองส่วน อ่านต่อไปเพื่อเรียนรู้เกี่ยวกับ PDB โคลนที่รีเฟรชได้นั้น มันทำงานอย่างไร และควรใช้เมื่อใด

ส่วนที่สองของชุดข้อมูลจะอธิบายวิธีสร้าง กำหนดค่า บำรุงรักษา และวาง PDB โคลนที่รีเฟรชได้

คำถามเกี่ยวกับการโคลนและสแนปชอต

ส่วนนี้ให้คำตอบสำหรับคำถามพื้นฐานเกี่ยวกับการโคลนและภาพหมุนสแน็ปช็อต

การโคลนคืออะไร

เมื่อคุณโคลนอินสแตนซ์ คุณจะสำรองข้อมูลของอินสแตนซ์และกู้คืนข้อมูลสำรองที่อื่น โดยปกติ คุณจะกู้คืนบนเครื่องอื่นที่มีโครงสร้างไดเรกทอรีเดียวกัน คุณยังสามารถกู้คืนข้อมูลดังกล่าวในเครื่องเดียวกันได้โดยเปลี่ยน OracleSystem ID (SID) และชื่อฐานข้อมูล คุณสามารถใช้โคลนของอินสแตนซ์ที่ใช้งานจริงในเครื่องทดสอบเพื่อลองใช้สถานการณ์แบบ What-if เช่น การเปลี่ยนinit.ora พารามิเตอร์หรือแก้ไขโค้ดของคุณ เป็นต้น

การโคลน PDB ทำงานอย่างไร

คุณสามารถใช้การโคลน PDB เพื่อโคลน PDB ในสภาพแวดล้อมที่มีผู้เช่าหลายราย สำหรับ PDB ระยะไกลในเครื่อง ให้ใช้โคลนที่รีเฟรชได้หรือภาพหมุนสแน็ปช็อตเพื่อสร้างการโคลน PDB ในฐานข้อมูลคอนเทนเนอร์ในเครื่อง

สำหรับการโคลน PDB ระยะไกล ให้พิจารณาสิ่งต่อไปนี้:

  • ในการใช้โคลนที่รีเฟรชได้ คุณต้องมีลิงก์ฐานข้อมูลสำหรับ PDB และปิดใช้งานฐานข้อมูลที่ลอกแบบมา

  • ในการใช้ภาพหมุนสแน็ปช็อต คุณต้องสร้างโคลน PDB ทั่วไปโดยใช้ asnapshot จากนั้น ใช้ลิงก์ฐานข้อมูลหรือถอดปลั๊กและเสียบเข้ากับฐานข้อมูลอื่นคอนเทนเนอร์ คุณยังสามารถสร้างโคลนที่รีเฟรชได้จาก PDB ที่ลอกแบบมา

สแนปชอต PDB คืออะไร

สแน็ปช็อต PDB คือสำเนา PDB ในช่วงเวลาหนึ่ง สร้างสแน็ปช็อตด้วยตนเองโดยใช้ SNAPSHOT อนุประโยคของ CREATE PLUGGABLE DATABASE (หรือ ALTER PLUGGABLE DATABASE ) หรือโดยอัตโนมัติโดยใช้คำสั่ง EVERY ประโยคช่วงเวลา

ภาพหมุนสแนปชอต PDB จะรักษาไลบรารีของสแนปชอต PDB ล่าสุด ซึ่งคุณสามารถใช้เพื่อทำการกู้คืน ณ เวลาหนึ่งและเพื่อโคลน PDB

PDB โคลนที่รีเฟรชได้

คุณสามารถโคลน PDB ได้โดยใช้คุณลักษณะการโคลนที่รีเฟรชได้ ซึ่งปกป้องฐานข้อมูลจากความเสียหายของข้อมูลและภัยพิบัติโดยข้อมูลจะสูญหายน้อยที่สุด ขึ้นอยู่กับช่วงเวลาการรีเฟรชและอัตราการสร้างซ้ำ คุณสามารถใช้ฐานข้อมูล refreshableclone เป็นแบบจำลองเพื่อดำเนินการกับแอปพลิเคชันที่โหลดต่ำและไม่สำคัญต่อ คุณสามารถตั้งค่าฐานข้อมูลโคลนที่รีเฟรชได้เพื่ออัปเดตโดยอัตโนมัติตามช่วงเวลาที่กำหนดหรือด้วยตนเองโดยใช้แอปพลิเคชันบันทึกซ้ำ

รูปที่ 1 แสดงสถาปัตยกรรมของการประมวลผลโคลนที่รีเฟรชได้ มันแสดงส่วนประกอบหลักและกระบวนการ และแสดงความสัมพันธ์ระหว่างฐานข้อมูลการผลิตและฐานข้อมูลโคลนที่รีเฟรชได้ แผนภาพนี้แสดงการโคลนฐานข้อมูลที่เสียบได้ PDB1 ของฐานข้อมูลคอนเทนเนอร์ CDB1 ไปยังฐานข้อมูลอื่น CDB2 . การดำเนินการนี้ส่งผลให้เกิด PDB1 . เวอร์ชัน hot-cloned ชื่อ PDB1_REF_CLONE .

ใช้คุณสมบัติโคลนที่รีเฟรชได้ของ Oracle Database—ส่วนที่หนึ่ง:บทนำ รูปที่ 1

ภาพที่ 1

ตัวเลือกโหมดรีเฟรช

คุณสามารถเปลี่ยนโหมดรีเฟรชได้โดยการตั้งค่าสภาพแวดล้อมด้วยโหมดต่อไปนี้:

  • MANUAL

  • AUTOMATIC (โดยใช้ EVERY MINUTES )

  • NONE

สร้างและทำงานกับโคลนที่รีเฟรชได้

ใช้คำสั่งต่อไปนี้เพื่อโคลน PDB ต้นทางและกำหนดค่าโคลนให้รีเฟรชได้ การรีเฟรชโคลน PDB จะอัปเดตด้วยการทำซ้ำข้อมูลที่สะสมตั้งแต่บันทึกการทำซ้ำครั้งล่าสุดมีผลใช้บังคับ

CREATE PLUGGABLE DATABASE ... REFRESH MODE [ MANUAL / AUTOMATIC (using EVERY n MINUTES) / NONE ] ;

ใช้คำสั่งต่อไปนี้เพื่อเปลี่ยนโหมดปัจจุบันของโคลนที่รีเฟรชได้ ordisabled ที่รีเฟรชแล้วแปลงเป็น PDB ที่ทำงานได้อย่างสมบูรณ์:

ALTER PLUGGABLE DATABASE ... REFRESH MODE [ MANUAL / AUTOMATIC (using EVERY n MINUTES) / NONE ] ;

ถ้าคุณไม่โคลน PDB บ่อยๆ เพื่อหลีกเลี่ยงการลดประสิทธิภาพ ข้อมูลโคลนจะค้าง PDB โคลนที่รีเฟรชได้แก้ปัญหานี้ เมื่อรีเฟรชได้โคลนค้าง คุณสามารถรีเฟรชได้อย่างรวดเร็วด้วยการทำซ้ำล่าสุด

โดยปกติ คุณจะรักษาระดับ ผู้เชี่ยวชาญ โคลนที่รีเฟรชได้ของ PDB ที่ใช้งานจริง จากนั้นจึงทำการโคลนสแนปชอตของต้นแบบเพื่อการพัฒนาและทดสอบ

ใช้คำสั่งต่อไปนี้เพื่อย้อนกลับบทบาทของซอร์สและโคลน PDB:

ALTER PLUGGABLE DATABASE ... SWITCHOVER;

คุณสามารถลดความซับซ้อนของกระบวนการเปลี่ยนนี้ ดังแสดงในรูปต่อไปนี้:

ใช้คุณสมบัติโคลนที่รีเฟรชได้ของ Oracle Database—ส่วนที่หนึ่ง:บทนำ รูปที่ 2

รูปที่ 2

ใช้คุณสมบัติโคลนที่รีเฟรชได้ของ Oracle Database—ส่วนที่หนึ่ง:บทนำ รูปที่ 3

ภาพที่ 3

ความสามารถในการสลับสับเปลี่ยนนี้มีประโยชน์ในสถานการณ์ต่อไปนี้

วางแผนการสับเปลี่ยนของโคลนที่รีเฟรชได้

ในรูปที่ 3 CDB1 ซึ่งโฮสต์ PDB ต้นทาง PDB1 อาจมีค่าใช้จ่ายสูงกว่า CDB2 . อย่างมาก ซึ่งโฮสต์โคลน PDBPDB1_REF_CLONE . เพื่อให้ได้โหลดบาลานซ์ที่ดีขึ้น คุณสามารถย้อนกลับบทบาทของ PDB โดยแปลงโคลนเป็น PDB ต้นทางใหม่และ PDB ต้นทางเป็นโคลนใหม่

ดำเนินการเปลี่ยนบทบาทนี้โดยใช้คำสั่งต่อไปนี้บนฐานข้อมูลหลักปัจจุบัน:

ALTER PLUGGABLE DATABASE PDB1 REFRESH MODE EVERY 2 MINUTES FROM PDB1_REF_CLONE@DBLINK2CDB2 SWITCHOVER;

หลังจากคำสั่งนี้เสร็จสิ้น PDB1_REF_CLONE ใน CDB2 รับบทบาทหลัก CDB1 ตอนนี้รักษาแบบจำลอง การเชื่อมต่อกับการผลิตทั้งหมดเชื่อมต่อกับหลักใหม่ ซึ่งขณะนี้คือ CDB2 . คุณสูญเสียธุรกรรมไม่เกินสองนาที สมมติว่าการรีเฟรชนั้นรักษาอัตราการสร้างใหม่จากแหล่งที่มา

การสับเปลี่ยนโดยไม่ได้วางแผนของโคลนที่รีเฟรชได้

หาก PDB ต้นทางมีความล้มเหลวที่ไม่ได้วางแผนไว้ คุณสามารถสลับ PDB โคลนไปยัง PDB ต้นทางใหม่และกลับสู่การทำงานปกติได้

อย่าลืมทดสอบสภาพแวดล้อมของคุณโดยใช้ปริมาณธุรกรรมจริงเพื่อให้แน่ใจว่ากระบวนการรีเฟรชแบบจำลองสามารถติดตามการสร้างซ้ำได้

โคลนที่รีเฟรชได้แตกต่างจาก Data Guard อย่างไร

Oracle แนะนำคุณสมบัติความพร้อมใช้งานสูงด้วย Data Guard และฐานข้อมูลสแตนด์บาย องค์ประกอบต่อไปนี้แยกความแตกต่างของโคลนที่รีเฟรชได้จาก Data Guard:

  • Data Guard ให้ความพร้อมใช้งานสูงในการปกป้องฐานข้อมูลจากภัยพิบัติและความเสียหายของข้อมูลในแบบเรียลไทม์ที่เปลี่ยนและเปลี่ยนระบบไปยังฐานข้อมูลสำรอง คุณยังสามารถใช้ฐานข้อมูลสแตนด์บายของ Data Guard สำหรับการแชร์โหลดโดยใช้ฟีเจอร์โคลน PDB ที่รีเฟรชได้ Data Guard ทำงานที่ระดับ CDB และคุณไม่สามารถมีสวิตช์โอเวอร์หรือเฟลโอเวอร์ที่ระดับ PDB ได้

  • เนื่องจากความล่าช้าระหว่างการเริ่มต้นและการเปลี่ยนแปลงที่เสร็จสิ้น Data Guard จึงมีประสิทธิภาพมากกว่าการรักษาโคลนที่รีเฟรชได้ ในช่วงแล็กนี้ ธุรกรรมไปยังฐานข้อมูลหลักอาจไม่สามารถใช้กับ orsynced กับฐานข้อมูลแบบอ่านอย่างเดียวก่อนที่คุณจะเปลี่ยนบทบาท ด้วยเหตุนี้ คุณอาจสูญเสียธุรกรรมเหล่านั้น

  • Data Guard มีฐานข้อมูลสำรองสูงสุด 30 ฐานข้อมูล แต่คุณสามารถมีโคลนที่รีเฟรชได้มากเท่าที่ต้องการ

เพื่อเสริมความแข็งแกร่งให้กับฟีเจอร์โคลน PDB ที่รีเฟรชได้เพื่อความพร้อมใช้งานสูงและแทบไม่มีข้อมูลสูญหาย ให้ตั้งค่า REMOTE_RECOVERY_FILE_DEST พารามิเตอร์เพื่อเก็บถาวรตำแหน่งบันทึกของ PDB ต้นทาง

บทสรุป

คุณไม่ควรพิจารณาคุณลักษณะ PDB โคลนที่รีเฟรชได้เพื่อแทนที่ Data Guard จากมุมมองของความพร้อมใช้งานสูง อย่างไรก็ตาม คุณสามารถใช้ arefreshable clone เพื่อรักษาฐานข้อมูลจำลองบนเซิร์ฟเวอร์อื่นได้

โพสต์นี้อธิบายวิธีใช้ PDB ที่รีเฟรชได้เป็นแบบจำลอง เพื่อให้คุณดำเนินการกับแอปพลิเคชันที่โหลดต่ำและไม่สำคัญต่อได้ ไม่ว่าสวิตช์จะเป็นเหตุการณ์ที่วางแผนไว้หรือไม่ได้วางแผนไว้ พึงระลึกไว้เสมอว่าคุณควรพิจารณาการสับเปลี่ยนจากมุมมองของ Recovery Time Objectives (RTO, time to resume operation) และ Recovery Point Objectives (RPOs เช่น การสูญเสียข้อมูลน้อยที่สุด)

ส่วนที่สองของซีรีส์จะสาธิตฟีเจอร์โคลนที่รีเฟรชได้

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

เรียนรู้เพิ่มเติมเกี่ยวกับฐานข้อมูล