วิธีใช้คำสั่ง Oracle RMAN เพื่อสำรองข้อมูลฐานข้อมูลอย่างเชื่อถือได้

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

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

Updated by ซี กันตภณ on 2026/01/09

สารบัญ
  • คำสั่ง Oracle RMAN คืออะไร

  • คำสั่ง RMAN ของ Oracle ที่จำเป็น

  • วิธีที่ 1: การใช้ Oracle RMAN ผ่านบรรทัดคำสั่ง

  • วิธีที่ 2: การทำให้คำสั่ง Oracle RMAN เป็นอัตโนมัติด้วยสคริปต์

  • การสำรองข้อมูลฐานข้อมูล Oracle ด้วย Vinchin Backup & Recovery ทำอย่างไร?

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

  • บทสรุป

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

คำสั่ง Oracle RMAN คืออะไร

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

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

คำสั่ง RMAN ของ Oracle ที่จำเป็น

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

คำสั่ง BACKUP จะสร้างสำเนาวัตถุฐานข้อมูลของคุณ ซึ่งอาจหมายถึงการสำรองข้อมูลทั้งหมดพร้อมกัน หรือเลือกเฉพาะ tablespace เฉพาะบางตัวหากพื้นที่จำกัด หรือมีข้อกำหนดด้านความปลอดภัยกำหนดไว้

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

ต้องการดูว่ามีการสำรองข้อมูลอะไรบ้างหรือไม่? ใช้ LIST BACKUP เพื่อดูภาพรวมอย่างรวดเร็ว หรือใช้ REPORT OBSOLETE เพื่อค้นหาไฟล์ที่ไม่จำเป็นอีกต่อไปภายใต้นโยบายการเก็บรักษาปัจจุบัน

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

หลังจากตรวจสอบความสอดคล้องแล้ว ไฟล์ที่ไม่ใช้แล้วสามารถลบออกได้โดยใช้ DELETE OBSOLETE ซึ่งจะบังคับใช้นโยบายการเก็บรักษาที่คุณตั้งไว้ (ตัวอย่างเช่น: "เก็บสำรองรายวันไว้ 7 วัน")

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

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

วิธีที่ 1: การใช้ Oracle RMAN ผ่านบรรทัดคำสั่ง

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

ในการเริ่มต้น RMAN บน Linux/UNIX ให้เปิดเทอร์มินัล แล้วพิมพ์:

rman

ใน Windows ให้เปิด Command Prompt ก่อน แล้วจึงป้อน:

rman

เชื่อมต่อโดยใช้การพิสูจน์ตัวตนของระบบปฏิบัติการ:

rman แบบเป้าหมาย /

หรือเชื่อมต่อโดยการให้ข้อมูลประจำตัว:

rman เป้าหมาย sys/password@ORCL

เมื่อเชื่อมต่อแล้ว คุณจะเห็นตัวยืนหน้า RMAN> ที่พร้อมใช้งาน นี่คืองานประจำวันบางอย่าง:

สำรองข้อมูลทุกอย่าง รวมถึง tablespace ทั้งหมด:

BACKUP DATABASE;

ต้องการกู้คืนข้อมูล ณ จุดเวลาหนึ่งหรือไม่? รวมบันทึกที่เก็บถาวรด้วย:

BACKUP DATABASE PLUS ARCHIVELOG;

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

สำหรับการป้องกันแบบเจาะจง (เช่น พื้นที่ตารางผู้ใช้เท่านั้น):

BACKUP TABLESPACE users;

หรือโฟกัสที่ไฟล์เดียวหากพื้นที่มีจำกัด:

BACKUP DATAFILE 4;

ปรับแต่งตำแหน่งเอาต์พุตโดยการระบุสตริงรูปแบบ:

BACKUP DATABASE FORMAT '/backup/orcl_%U.bkp';

ตรวจสอบการสำรองข้อมูลที่มีอยู่โดยใช้:

LIST BACKUP;

ตรวจสอบสุขภาพร่างกายก่อนพึ่งพาสำเน่าเก่า:

VALIDATE DATABASE;

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

RESTORE DATABASE VALIDATE;

ซิงโครไนซ์ข้อมูลเมตาของแคตตาล็อก/คอนโทรลไฟล์หลังจากย้ายหรือลบไฟล์ภายนอกการควบคุมของ RMAN:

CROSSCHECK BACKUP;

ลบไฟล์ที่ล้าสมัยตามการตั้งค่านโยบาย:

DELETE OBSOLETE;

พิมพ์เพื่อออกอย่างถูกต้องเมื่อเสร็จสิ้น:

EXIT

วิธีใช้บรรทัดคำสั่งเหมาะสำหรับความต้องการเฉพาะหน้า ("สำรองข้อมูลอย่างรวดเร็วก่อนติดตั้งแพตช์") การฝึกหัดเพื่อเรียนรู้ ("ถ้าฉันลบ X ออกไป จะเกิดอะไรขึ้น?") รวมถึงช่วงเวลาแก้ปัญหาเชิงลึกที่อินเทอร์เฟซกราฟิกทำไม่ได้

วิธีที่ 2: การทำให้คำสั่ง Oracle RMAN เป็นอัตโนมัติด้วยสคริปต์

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

เริ่มต้นด้วยการเขียนคำสั่งที่จำเป็นทั้งหมดลงในไฟล์ข้อความธรรมดา (backup_db.rman) ตัวอย่างเช่น

สำรองฐานข้อมูลบวกกับบันทึกเก่า;
ลบโดยไม่ต้องถามยืนยัน;

เรียกใช้สคริปต์นี้จากเชลล์โดยใช้:

rman ตัวเป้าหมาย / @backup_db.rman

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

#!/bin/bash
export ORACLE_SID=ORCL
LOG=/var/log/rman_backup_$(date +%F).log
rman target / <<EOF >> $LOG 2>&1
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
BACKUP DATABASE FORMAT '/backup/orcl_full_%T.bkp';
EXIT
EOF
if [ $? -ne 0 ]; then echo "Backup failed!" | mail -s "RMAN Backup Alert" admin@example.com; fi

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

กำหนดเวลาการรันเป็นประจำผ่าน cron (Linux/UNIX):

0 2 * /path/to/backup_script.sh

หรือตัวจัดการงาน (Windows) ถ้าเป็นแพลตฟอร์มที่คุณต้องการ เพียงต้องชี้ไปที่ไฟล์สคริปต์แบบแบทช์/เชลล์ของคุณที่ตั้งค่าไว้คล้ายกับข้างต้น

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

rman target / @backup_db.rman USING 'TAG2024' '2'

การสำรองข้อมูลฐานข้อมูล Oracle ด้วย Vinchin Backup & Recovery ทำอย่างไร?

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

คอนโซลเว็บที่ใช้งานง่ายทำให้การปกป้องฐานข้อมูล Oracle ของคุณเป็นเรื่องง่าย

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

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

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

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

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

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

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

ส่งงาน

Vinchin Backup & Recovery ได้รับการยอมรับในระดับโลกโดยองค์กรต่างๆ ทั่วทุกอุตสาหกรรม พร้อมคะแนนรีวิวจากลูกค้าชั้นนำ 

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

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

คำถามที่ 1. หากพื้นที่ดิสก์มีเหลือน้อย ผมจำกัดขนาดงานสำรองข้อมูลได้ไหม?

ได้ คุณสามารถสำรองข้อมูล tablespace หรือ datafile แต่ละตัวได้แทนที่จะสำรองฐานข้อมูลทั้งหมด โดยใช้คำสั่งเฉพาะ เช่น BACKUP TABLESPACE users หรือระบุตัวเลือกการบีบอัดไว้ในการตั้งค่าขั้นสูง

คำถามที่ 2. ฉันจะยืนยันได้อย่างไรว่าสคริปต์อัตโนมัติที่ตั้งเวลาไว้ได้รันสำเร็จในช่วงกลางคืน?

ตรวจสอบผลลัพธ์ของบันทึกที่สร้างจากการเปลี่ยนเส้นทางผลลัพธ์ของสคริปต์ไปยังไฟล์ข้อความ ให้มองหาบรรทัดที่ระบุว่า "Finished backup at..." พร้อมกับไม่มีข้อความแสดงข้อผิดพลาด หรือสอบถามโดยตรงจาก V$RMAN_BACKUP_JOB_DETAILS โดยใช้ SQL*Plus หลังจากเข้าสู่ระบบในฐานะ SYSDBA

คำถามที่ 3. หากแคตตาล็อก/ไฟล์ควบคุมแสดงรายการที่หมดอายุหลังจากย้ายหรือลบการสำรองข้อมูลเก่า ผมควรทำอย่างไร?

เรียกใช้ CROSSCHECK BACKUP ตรวจสอบรายการที่ถูกแท็กว่าหมดอายุ จากนั้นดำเนินการ DELETE EXPIRED ทันทีหลังจากนั้น

บทสรุป

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

แชร์บน:

Categories: Database Tips