-
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 ที่ต้องการสำรองข้อมูล

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

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

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

Vinchin Backup & Recovery ได้รับความไว้วางใจจากธุรกิจหลายพันแห่งทั่วโลก และได้รับคะแนนสูงสุดอย่างต่อเนื่องจากผู้เชี่ยวชาญด้านไอที คลิกด้านล่างเพื่อลองใช้งานฟีเจอร์ครบถ้วนฟรี 60 วัน
คำถามที่พบบ่อยเกี่ยวกับการกู้คืนตาราง Oracle ด้วย RMAN
คำถามที่ 1 ผมสามารถดำเนินการงานธุรกรรมออนไลน์ในขณะที่รัน RECOVER TABLE ได้ไหม?
ได้ แต่คาดว่าการใช้งาน I/O จะสูงขึ้นในระหว่างการกู้คืน ซึ่งอาจทำให้เซสชันที่ทำงานอยู่ช้าลงเล็กน้อย ขึ้นอยู่กับความเร็วของฮาร์ดแวร์
คำถามที่ 2 หากจุดหมายปลายทางเสริมเต็มระหว่างดำเนินการ ผมควรทำอย่างไร?
หยุดการกู้คืนทันที เพิ่มพื้นที่ดิสก์ที่ว่างอยู่ภายใต้ไดเรกทอรีนั้น จากนั้นเริ่มต้นใหม่อีกครั้งหลังจากลบไฟล์บางส่วนที่เหลืออยู่ออกไปแล้ว
คำถามที่ 3 ผมสามารถใช้ RECOVER TABLE ข้ามชุดตัวอักษรที่ต่างกันได้ไหม?
ไม่ได้ ชุดอักขระของสำรองข้อมูลต้นทางจะต้องตรงกับการตั้งค่าฐานข้อมูลปัจจุบัน เพื่อให้สามารถนำเข้าหรือส่งออกได้อย่างราบรื่นโดยไม่เกิดข้อผิดพลาดจากการแปลง
สรุป
คุณสมบัติ RECOVER TABLE ของ Oracle ทำให้ผู้ดูแลฐานข้อมูลสามารถควบคุมการกู้คืนตารางที่สูญหายได้อย่างแม่นยำ โดยไม่รบกวนข้อมูลอื่นๆ ที่สำคัญต่อธุรกิจในสภาพแวดล้อมของตน เพื่อความปลอดภัยที่มากยิ่งขึ้น ลองใช้แพลตฟอร์มสำรองข้อมูลระดับองค์กรของ Vinchin ได้ในวันนี้
แชร์บน: