การกู้คืนตารางใน Oracle Database โดยใช้ RMAN

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

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

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

สารบัญ
  • Oracle RMAN กู้คืนตารางคืออะไร?

  • ทำไมควรกู้คืนตารางข้อมูลด้วย RMAN?

  • การตรวจสอบและยืนยันความถูกต้องก่อนการกู้คืน

  • การกู้คืนตารางโดยใช้ Oracle RMAN ทำอย่างไร?

  • Vinchin Backup & Recovery สำหรับการป้องกัน Oracle ระดับองค์กร

  • คำถามที่พบบ่อยเกี่ยวกับการกู้คืนตาราง Oracle ด้วย RMAN

  • สรุป

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

Oracle RMAN กู้คืนตารางคืออะไร?

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

คุณลักษณะนี้มีให้ใช้งานตั้งแต่ Oracle Database 12c เป็นต้นมา ซึ่งช่วยให้ผู้ดูแลฐานข้อมูลสามารถหลีกเลี่ยงการกู้คืนฐานข้อมูลทั้งหมดในกรณีที่สูญหายหรือเสียหายเพียงหนึ่งหรือสองตารางเท่านั้น

ทำไมควรกู้คืนตารางข้อมูลด้วย RMAN?

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

  • คุณสามารถกู้คืนตารางที่ถูกลบหรือเสียหายได้อย่างรวดเร็ว

  • หาก Flashback Table ไม่สามารถช่วยได้ อาจเป็นเพราะข้อมูล undo สูญหายหรือโครงสร้างเปลี่ยนแปลงไป RMAN ก็ยังคงใช้งานได้

  • การกู้คืนฐานข้อมูลหรือพื้นที่ตารางแบบเต็มใช้เวลานานกว่ามาก RMAN เป้าหมายสิ่งที่คุณต้องการเท่านั้น

  • คุณสามารถย้อนกลับการเปลี่ยนแปลงที่เกิดจากคำสั่งอัปเดตหรือลบข้อมูลที่ไม่ถูกต้อง ณ จุดเวลาที่กำหนดได้

โดยสรุปแล้ว RMAN จะช่วยลดเวลาที่ระบบหยุดทำงาน ขณะที่ยังคงรักษาความปลอดภัยของข้อมูลอื่นๆ

การเปรียบเทียบการกู้คืนตารางด้วย RMAN กับ Flashback Table

การเลือกระหว่าง RECOVER TABLE และ FLASHBACK TABLE ขึ้นอยู่กับสถานการณ์ของคุณ

คุณสมบัติRECOVER TABLE (RMAN)FLASHBACK TABLE
ต้องมีการสำรองข้อมูลใช่ไม่ใช่ (ใช้ข้อมูลการยกเลิก)
การสนับสนุน ณ จุดเวลาใช่จำกัดโดยการเก็บรักษาข้อมูลย้อนกลับ
จัดการโต๊ะที่ตกลงมาใช่ไมใช่
ต้องการพื้นที่เพิ่มเติมใช่ไมใช่
ผลกระทบต่อข้อมูลอืนๆไม่มีไม่มี

หากคุณมีการสำรองข้อมูลล่าสุดแต่ไม่มีข้อมูล undo ที่เพียงพอ หรือหากตารางถูกลบไปแล้ว ให้ใช้ RECOVER TABLE ร่วมกับ RMAN

การตรวจสอบและยืนยันความถูกต้องก่อนการกู้คืน

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

ขั้นตอนแรก ยืนยันให้ชัดเจนว่าคุณต้องการกู้คืนตารางใดบ้าง (รวมถึงชื่อสคีมา) และตัดสินใจว่าคุณต้องการให้ตารางเหล่านั้นอยู่ในสถานะ ณ เวลาที่กำหนดหรือ SCN (หมายเลขการเปลี่ยนแปลงระบบ) ต่อไป ตรวจสอบให้มั่นใจว่ามีไฟล์สำรองข้อมูลที่จำเป็นครบถ้วน โดยรันคำสั่ง LIST BACKUP ภายใน RMAN โปรดสังเกตเฉพาะไฟล์ SYSTEM/SYSAUX/UNDO/แฟ้มพื้นที่จัดเก็บที่ครอบคลุมช่วงเวลาที่คุณเลือกไว้

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

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

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

การกู้คืนตารางเดียวโดยใช้ Oracle RMAN เกี่ยวข้องกับขั้นตอนที่ชัดเจนหลายประการ ตั้งแต่การเตรียมการจนถึงการตรวจสอบ:

1. เตรียมสภาพแวดล้อมของคุณ

ระบุ

  • ชื่อที่แน่นอนของแต่ละตารางเป้าหมาย

  • ผู้เป็นเจ้าของสคีมา

  • จุดเวลาที่ต้องการ (timestamp/SCN/log sequence)

ตรวจสอบพื้นที่ดิสก์ที่ตำแหน่ง AUXILIARY DESTINATION ที่คุณวางแผนไว้ โฟลเดอร์เฉพาะเช่น /u01/rman_aux จะทำงานได้ดีหากมีพื้นที่ว่างเพียงพอ

2. เริ่มต้นคอนโซล RMAN

เปิดการเข้าถึงเทอร์มินัลบนเซิร์ฟเวอร์ของคุณและเชื่อมต่อในฐานะ SYSDBA

rman target /

3. รันคำสั่ง RECOVER TABLE

ใช้คำสั่ง RECOVER TABLE พร้อมระบุรายละเอียดสิ่งที่คุณต้องการกู้คืน เช่น

RECOVER TABLE SCOTT.SALGRADE
  UNTIL TIME "to_date('2024-07-10 10:00:00','yyyy-mm-dd hh24:mi:ss')"
  AUXILIARY DESTINATION '/u01/rman_aux';

-- กู้คืน SCOTT.SALGRADE ตามที่มีอยู่ในวันและเวลาที่ระบุ

คุณสามารถแทนที่ด้วย UNTIL SCN หรือ UNTIL SEQUENCE หากสิ่งเหล่านั้นเหมาะสมกว่าการใช้เวลาในกรณีของคุณ

4. ให้ RMAN ทำขั้นตอนการกู้คืนโดยอัตโนมัติ

เมื่อเริ่มต้นแล้ว

1. อินสแตนซ์เสริมเริ่มทำงานภายใต้ /u01/rman_aux

2. พื้นที่ตารางที่ต้องการจะถูกกู้คืนจากสำรองข้อมูล

3. นำบันทึกย้อนหลังมาใช้จนถึงช่วงเวลาที่คุณเลือก

4. การส่งออกข้อมูลแบบ Data Pump จะกู้คืนแถวข้อมูลลงในไฟล์ดัมพ์

5. Data Pump จะนำแถวข้อมูลเหล่านั้นกลับเข้าสู่ระบบการผลิตโดยอัตโนมัติ เว้นแต่ว่าจะได้รับคำสั่งเป็นอย่างอื่น

คุณไม่ต้องเข้าไปแทรกแซงด้วยตนเองในช่วงเหล่านี้ เว้นแต่จะมีข้อผิดพลาดปรากฏขึ้น ซึ่งเราจะอธิบายในภายหลัง

5. ตัวเลือก-เปลี่ยนชื่อขณะนำเข้าด้วย REMAP TABLE

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

RECOVER TABLE SCOTT.SALGRADE
  UNTIL TIME "to_date('2024-07-10 10:00:00','yyyy-mm-dd hh24:mi:ss')"
  AUXILIARY DESTINATION '/u01/rman_aux'
  REMAP TABLE 'SCOTT'.'SALGRADE':'SALGRADE_BKP';

-- กู้คืนเป็น SALGRADE_BKP แทนการแทนที่ต้นฉบับ

คุณสามารถแมปซ้ำสกีมาได้ตามต้องการ โดยปรับทั้งสองด้านของ 'schema'.'table':'new_schema'.'new_table' ได้

Vinchin Backup & Recovery สำหรับการป้องกัน Oracle ระดับองค์กร

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

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

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

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

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

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

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

กำหนดกลยุทธ์การสำรองข้อมูลของคุณ

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

ส่งงาน

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

คำถามที่พบบ่อยเกี่ยวกับการกู้คืนตาราง Oracle ด้วย RMAN

คำถามที่ 1 ผมสามารถดำเนินการงานธุรกรรมออนไลน์ในขณะที่รัน RECOVER TABLE ได้ไหม?

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

คำถามที่ 2 หากจุดหมายปลายทางเสริมเต็มระหว่างดำเนินการ ผมควรทำอย่างไร?

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

คำถามที่ 3 ผมสามารถใช้ RECOVER TABLE ข้ามชุดตัวอักษรที่ต่างกันได้ไหม?

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

สรุป

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

แชร์บน:

Categories: Database Backup