การโคลน Oracle Database โดยใช้ RMAN ทำอย่างไร?

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

download-icon
ดาวน์โหลดฟรี
สำหรับ VM, OS, DB, ไฟล์, NAS, ฯลฯ
offroad-seachua

Updated by ออฟโรด แซ่ฉั่ว on 2026/01/09

สารบัญ
  • Oracle RMAN Clone Database คืออะไร?

  • ทำไมต้องทำโคลนข้อมูล Oracle?

  • รายการตรวจสอบก่อนการทำสำเนา: การเตรียมสภาพแวดล้อม

  • วิธีที่ 1: การทำสำเนาด้วยคำสั่งซ้ำ (การทำสำเนาฐานข้อมูลแบบใช้งานได้)

  • วิธีที่ 2: การทำสำเนาด้วยวิธีการสำรองข้อมูล

  • การปกป้องฐานข้อมูล Oracle ของคุณด้วย Vinchin Backup & Recovery

  • คำถามที่พบบ่อยเกี่ยวกับ Oracle RMAN Clone Database

  • สรุป

การโคลนฐานข้อมูล Oracle เป็นงานประจำวันสำหรับผู้ดูแลระบบจำนวนมาก ไม่ว่าคุณจะต้องการสร้างสภาพแวดล้อมสำหรับการทดสอบ การอัปเดตข้อมูลสำหรับการพัฒนา หรือการซ้อมกู้คืนจากภัยพิบัติ Oracle Recovery Manager (RMAN) ก็มีเครื่องมือที่ทรงพลังให้ ในบทความนี้ เราจะอธิบายว่า Oracle RMAN Clone Database คืออะไร ทำไมสำคัญ วิธีเตรียมสภาพแวดล้อมของคุณ คำแนะนำโดยละเอียดเกี่ยวกับวิธีการโคลนหลักสองวิธี ปัญหาทั่วไปและแนวทางแก้ไข ขั้นตอนการตรวจสอบหลังการโคลน รวมถึงคำถามที่พบบ่อย

Oracle RMAN Clone Database คืออะไร?

Oracle RMAN Clone Database คือสำเนาอิสระของฐานข้อมูล Oracle ที่มีอยู่แล้ว โดยสร้างขึ้นโดยใช้คำสั่ง DUPLICATE ของ RMAN คลอนนี้ ซึ่งเรียกอีกอย่างว่าฐานข้อมูลซ้ำหรือฐานข้อมูลเสริม จะมีตัวระบุเฉพาะ (DBID) ของตนเอง แต่มีข้อมูลทั้งหมดจากแหล่งที่มา ณ เวลาที่ทำการโคลน คุณสามารถวางโคลนไว้บนเซิร์ฟเวอร์เดียวกันหรืออีกเซิร์ฟเวอร์หนึ่งก็ได้ โครงสร้างไฟล์อาจเหมือนกันหรือแตกต่างกันระหว่างแหล่งที่มาและเป้าหมายได้ RMAN รองรับการจำลองแบบแบบทำงานโดยตรง (สำเนาผ่านเครือข่ายโดยตรง) และการจำลองแบบจากไฟล์สำรอง (คืนค่าจากไฟล์สำรอง) ทำให้ยืดหยุ่นตามความต้องการในการปฏิบัติงานต่างๆ

ทำไมต้องทำโคลนข้อมูล Oracle?

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

รายการตรวจสอบก่อนการทำสำเนา: การเตรียมสภาพแวดล้อม

ก่อนเริ่มดำเนินการใดๆ ในการทำสำเนากับ RMAN การเตรียมการอย่างระมัดระวังจะช่วยประหยัดเวลาในภายหลัง มาทบทวนสิ่งที่คุณควรตรวจสอบ:

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

สำหรับวิธีการทั้งแบบทำซ้ำแบบใช้งานจริงและวิธีการสำรองข้อมูล

  • ตรวจสอบให้แน่ใจว่าไฟล์รหัสผ่านมีอยู่ทั้งสองเซิร์ฟเวอร์และมีข้อมูลประจำตัว SYS/SYSBACKUP ตรงกัน

  • ตั้งค่า การเชื่อมต่อ Oracle Net ระหว่างเซิร์ฟเวอร์เพื่อให้สามารถสื่อสารกันได้; อัปเดตรายการใน tnsnames.ora ตามที่จำเป็น

  • หากโครงสร้างไดเรกทอรีแตกต่างกันระหว่างเครื่องต้นทางและปลายทาง เช่น /oradata/prod/ เทียบกับ /oradata/clone/ ให้วางแผนการแมปไฟล์โดยใช้ DB_FILE_NAME_CONVERT และ LOG_FILE_NAME_CONVERT

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

สุดท้าย สร้างไดเรกทอรีที่ต้องการบนเซิร์ฟเวอร์ปลายทางล่วงหน้า เพื่อให้การเริ่มต้นใช้งานไม่ล้มเหลวเนื่องจากเส้นทางที่ขาดหายไป

วิธีที่ 1: การทำสำเนาด้วยคำสั่งซ้ำ (การทำสำเนาฐานข้อมูลแบบใช้งานได้)

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

ก่อนเริ่มต้น

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

นี่คือวิธีการทำงาน

1. เตรียมอินสแตนซ์เสริม

สร้างแฟ้มพารามิเตอร์เริ่มต้นขั้นต่ำ (PFILE) บนเซิร์ฟเวอร์เป้าหมายของคุณ อย่างน้อยที่สุดให้ตั้งค่า DB_NAME, CONTROL_FILES และ DB_FILE_NAME_CONVERT/LOG_FILE_NAME_CONVERT หากเส้นทางไดเรกทอรีต่างกันระหว่างโฮสต์ — ตัวอย่างเช่น:

   DB_FILE_NAME_CONVERT=''/oradata/prod/'', ''/oradata/clone/''
   LOG_FILE_NAME_CONVERT=''/oradata/prod/'', ''/oradata/clone/''

2. สร้างแฟ้มรหัสผ่าน

ใช้ยูทิลิตี้ orapwd เพื่อให้รหัสผ่าน SYS เหมือนกันระหว่างอินสแตนซ์:

   orapwd file=$ORACLE_HOME/dbs/orapwclone password=YourSysPassword entries=10

3. กำหนดค่า Oracle Net

อัปเดตไฟล์ tnsnames.ora บนเซิร์ฟเวอร์ทั้งสองด้วยรายการ TNS สำหรับแต่ละอินสแตนซ์ของฐานข้อมูลตามชื่อ—ไม่ใช่เพียงที่อยู่ IP — และเพิ่มรายการลิสเทนเนอร์แบบคงที่ (SID_LIST_LISTENER) ลงในไฟล์ listener.ora หลังจากทำการเปลี่ยนแปลงแล้ว ให้รีโหลดลิสเทนเนอร์โดยใช้คำสั่ง:

   lsnrctl reload

4. เริ่มต้นอินสแตนซ์เสริม

   export ORACLE_SID=clone
   sqlplus / as sysdba
   STARTUP NOMOUNT PFILE='/path/to/initclone.ora'

5. เรียกใช้คำสั่ง RMAN duplicate

เชื่อมต่อจากเซิร์ฟเวอร์เสริมโดยใช้:

    rman TARGET sys@source_db AUXILIARY sys@clone_db

จากนั้นรันคำสั่ง:

    DUPLICATE TARGET DATABASE TO clone FROM ACTIVE DATABASE NOFILENAMECHECK;
  • ตัวเลือก NOFILENAMECHECK แจ้งให้ RMAN ไม่ต้องตรวจสอบชื่อไฟล์ หากมีการสร้างสำเนาบนโฮสต์ต่างกันแต่ใช้โครงสร้างร่วมกัน

  • เพิ่มประโยคคำสั่งเช่น SPFILE หรือใช้คำสั่ง SET ภายในบล็อก DUPLICATE หากคุณต้องการนำพารามิเตอร์ที่กำหนดเองไปใช้ในระหว่างการสร้าง

  • สำหรับฐานข้อมูลขนาดใหญ่ที่ใช้งานบนเครือข่ายความเร็วต่ำ ให้พิจารณาเพิ่ม USING COMPRESSED BACKUPSET

6. ติดตามความคืบหน้า

เฝ้าดูผลลัพธ์ของการเซสชันอย่างใกล้ชิด RMAN จะคัดลอกไฟล์ข้อมูลผ่านเครือข่ายโดยตรงจากระบบจริง ("โหมดแอคทีฟ") จากนั้นจะกู้คืนล็อกโดยอัตโนมัติก่อนเปิดฐานข้อมูลใหม่

7. ตรวจสอบการดำเนินการให้เสร็จสิ้น

เมื่อเสร็จสิ้นแล้ว ให้เปิด SQL*Plus อีกครั้ง:

    sqlplus / as sysdba
    SELECT name, open_mode FROM v$database;

หากทุกอย่างดำเนินไปด้วยดี ตอนนี้คุณมีสำเนางานที่ใช้งานได้อย่างอิสระแล้ว!

วิธีที่ 2: การทำสำเนาด้วยวิธีการสำรองข้อมูล

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

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

นี่คือวิธีการที่วิธีนี้ดำเนินไป:

1. สำรองข้อมูลทั้งหมดจากแหล่งที่มา

เรียกใช้บนเซิร์ฟเวอร์ต้นฉบับ:

     rman target /
     BACKUP DATABASE PLUS ARCHIVELOG;
     BACKUP CURRENT CONTROLFILE;

2. คัดลอกชิ้นส่วนการสำรองข้อมูลและ PFILE

ถ่ายโอนชุดสำรองข้อมูลทั้งหมดที่สร้างขึ้นพร้อมไฟล์พารามิเตอร์ (init*.ora) ผ่านช่องทางที่ปลอดภัย เช่น SCP หรือ SFTP ไปยังไดเรกทอรีที่เหมาะสมบนเครื่องปลายทาง

3. แก้ไข PFILE สำหรับอินสแตนซ์เสริม

ปรับค่าต่างๆ เช่น ชื่อฐานข้อมูล (DB_NAME=clone) รวมทั้งแปลงพารามิเตอร์หากโครงสร้างไดเรกทอรีแตกต่างกัน—ตามที่แสดงไว้ก่อนหน้า—เพื่อให้มั่นใจว่าการแมปถูกต้องในช่วงขั้นตอนกู้คืน

4. สร้างไดเรกทอรีที่จำเป็น

ตรวจสอบให้แน่ใจว่าทุกพาธที่อ้างถึงมีอยู่แล้วในดิสก์ ก่อนพยายามเริ่มต้นการทำงาน—โฟลเดอร์ที่หายไปจะทำให้เกิดข้อผิดพลาดตั้งแต่ต้น!

5. สร้างไฟล์รหัสผ่านอีกครั้ง:

ใช้เครื่องมือ ORAPWD เช่นเดียวกับข้างต้น เพื่อให้การพิสูจน์ตัวตนสอดคล้องกับความคาดหวังในทุกสภาพแวดล้อม

6. เริ่มต้นอินสแตนซ์เสริมในโหมด NOMOUNT

คำสั่งเดียวกันกับที่ใช้ก่อนหน้านี้สามารถใช้ได้ที่นี่ด้วย:

    export ORACLE_SID=clone
    sqlplus / as sysdba
    STARTUP NOMOUNT PFILE='/path/to/initclone.ora'

7. เรียกใช้คำสั่ง duplicate โดยอ้างอิงตำแหน่งสำรองข้อมูล

เชื่อมต่อในพื้นที่ผ่าน RMAN จากนั้นดำเนินการ:

      rman auxiliary /
      DUPLICATE DATABASE TO clone BACKUP LOCATION '/path/to/backup' NOFILENAMECHECK;
  • ที่นี่ /path/to/backup ชี้ไปยังโฟลเดอร์หลักที่มีส่วนประกอบทั้งหมดที่เกี่ยวข้อง—ไม่ใช่ไฟล์รายบุคคล!

  • ใช้คำสั่ง SET เพิ่มเติมภายในบล็อก DUPLICATE หากต้องการปรับแต่งเพิ่มเติม (เช่น เปลี่ยนขนาดล็อก)

8. ตรวจสอบและยืนยันกระบวนการกู้คืน

เฝ้าสังเกตผลลัพธ์อย่างระมัดระวัง: ขั้นตอนแรกจะกู้คืนไฟล์ทางกายภาพจากชุดสำรองข้อมูล จากนั้นประยุกต์ใช้บันทึก redo log จนกระทั่งถึงสถานะที่สอดคล้องกัน ก่อนเปิดฐานข้อมูลใหม่โดยอัตโนมัติในตอนท้าย

การปกป้องฐานข้อมูล Oracle ของคุณด้วย Vinchin Backup & Recovery

หลังจากที่คุณดำเนินการจำลองฐานข้อมูล Oracle เสร็จสิ้น การรักษาความปลอดภัยของสภาพแวดล้อมเดิมและสภาพแวดล้อมที่ถูกจำลองจะมีความสำคัญอย่างยิ่งต่อความต่อเนื่องทางธุรกิจและการปฏิบัติตามข้อกำหนดต่าง ๆ เหมือนกันเพื่อตอบสนองความต้องการเหล่านี้ Vinchin Backup & Recovery มอบการป้องกันระดับมืออาชีพที่ออกแบบมาโดยเฉพาะสำหรับฐานข้อมูลขององค์กร รวมถึงการรองรับอย่างเต็มรูปแบบสำหรับ Oracle พร้อม MySQL, SQL Server, MariaDB, PostgreSQL, PostgresPro และ TiDB สำหรับองค์กรที่ใช้งาน Oracle Vinchin Backup & Recovery มีให้บริการการสำรองข้อมูลแบบเพิ่มเติม การสำรองข้อมูลฐานข้อมูลแบบชุด การกำหนดนโยบายการเก็บรักษาข้อมูล การบีบอัดข้อมูลหลายระดับ การบีบอัดข้อมูล และการตรวจสอบความสมบูรณ์ของข้อมูลคุณสมบัติเหล่านี้ทำงานร่วมกันเพื่อเพิ่มประสิทธิภาพการใช้พื้นที่จัดเก็บ ทำให้การจัดการง่ายขึ้น และรับประกันความสามารถในการกู้คืนได้อย่างน่าเชื่อถือ แม้ในกรณีที่มีปริมาณข้อมูลจำนวนมาก 

คอนโซลเว็บแบบเข้าใจง่ายช่วยปรับปรุงการดำเนินงานมีแค่ 4 ขั้นตอนง่ายๆ

ขั้นตอนที่ 1 เลือกฐานข้อมูล Oracle ที่ต้องการสำรองข้อมูล

เลือกฐานข้อมูล Oracle ที่คุณต้องการสำรองข้อมูล

ขั้นตอนที่ 2 เลือกพื้นที่จัดเก็บสำรอง

เลือกที่จัดเก็บสำรอง

ขั้นตอนที่ 3 กำหนดกลยุทธ์ที่คุณต้องการ

กำหนดกลยุทธ์ที่คุณต้องการ

ขั้นตอนที่ 4 ส่งงาน

ส่งงาน

Vinchin Backup & Recovery ได้รับการยอมรับในระดับโลกจากองค์กรที่ต้องการการป้องกันข้อมูลที่เชื่อถือได้ ลองใช้งานได้โดยไม่มีความเสี่ยงวันนี้ด้วย ทดลองใช้งานฟรีที่มีฟีเจอร์ครบถ้วน 60 วัน คลิกดาวน์โหลดด้านล่างเพื่อเริ่มต้นใช้งาน

คำถามที่พบบ่อยเกี่ยวกับ Oracle RMAN Clone Database

คำถามที่ 1. ผมสามารถโคลนฐานข้อมูลขนาดใหญ่มากได้อย่างปลอดภัยโดยไม่ต้องหยุดระบบหรือไม่?

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

คำถามที่ 2. หากเครือข่ายของผมหยุดทำงานระหว่างการคัดลอกข้อมูล จะเกิดอะไรขึ้น?

กระบวนการล้มเหลวอย่างเหมาะสม คุณต้องแก้ไขการเชื่อมต่อ แล้วเริ่มคำสั่ง DUPLICATE ใหม่ ซึ่งจะดำเนินงานต่อจากขั้นตอนที่เสร็จสมบูรณ์ครั้งล่าสุด

คำถามที่ 3. ผมจะตรวจสอบงานที่ซ้ำกันซึ่งรันเป็นเวลานานได้อย่างไร?

เปิดการสอบถามเซสชันที่สองในวิว V$SESSION/V$PROCESS เพื่อดูขั้นตอนต่างๆ เช่น "datafile copy" "recovery" รวมถึงตรวจสอบไฟล์ alert.log ปัจจุบันและเอาต์พุต RMAN แบบเรียลไทม์

สรุป

การโคลนฐานข้อมูล Oracle ด้วย RMAN ให้ทีมปฏิบัติการสามารถสร้างห้องทดลองสำหรับทดสอบ การอัปเดตสภาพแวดล้อมการพัฒนา หรือการซ้อมแผน DR ได้อย่างยืดหยุ่น โดยทำตามขั้นตอนโดยละเอียดตั้งแต่การเตรียมการจนถึงการตรวจสอบความถูกต้อง คุณจะสามารถเชี่ยวชาญทั้งวิธีการใช้งานผ่านเครือข่ายแบบออนไลน์และผ่านสำรองแบบออฟไลน์ สำหรับการปกป้องอย่างต่อเนื่อง Vinchin มีบริการสำรองข้อมูลระดับองค์กรที่แข็งแกร่ง ใช้งานง่าย และออกแบบมาโดยเฉพาะสำหรับฐานข้อมูลที่สำคัญต่อภารกิจทั่วโลก

แชร์บน:

Categories: Database Tips