การกำหนดค่าและการใช้งาน RMAN Compressed Backup สำหรับ Oracle ทำอย่างไร?

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

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

Updated by ออฟโรด แซ่ฉั่ว on 2025/10/31

สารบัญ
  • การสำรองข้อมูล RMAN คืออะไร?

  • การบีบอัดภายนอกเหมาะกับการสำรองข้อมูลด้วย RMAN ไหม

  • ประเภทการบีบอัดสำรองข้อมูลของ RMAN

  • วิธีการบีบอัดสำรองข้อมูล Oracle ด้วยคำสั่ง RMAN คืออะไร?

  • แนวทางปฏิบัติที่ดีที่สุดสำหรับการบีบอัดข้อมูลสำรอง RMAN

  • วิธีการบีบอัดข้อมูลสำรองของ Oracle ด้วย Vinchin คืออะไร?

  • คำถามที่พบบ่อยเกี่ยวกับการบีบอัดสำรองข้อมูล RMAN

  • สรุป

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

การสำรองข้อมูล RMAN คืออะไร?

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

ในระดับพื้นฐานที่สุด คุณเชื่อมต่อกับ RMAN และรัน:

RMAN> BACKUP DATABASE;

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

คุณยังสามารถปรับแต่งการสำรองข้อมูลตามวัตถุหรือโหมดได้อีกด้วย ตัวอย่างเช่น การสำรองข้อมูล tablespace และ archive logs เฉพาะบางส่วนในคำสั่งเดียว:

RMAN> BACKUP TABLESPACE users, temp PLUS ARCHIVELOG;

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

สำหรับสถานการณ์ขั้นสูง ให้ใช้:

  • BACKUP AS COMPRESSED BACKUPSET สำหรับการบีบอัดแบบไบนารี (binary compression)

  • BACKUP AS COPY สำหรับสร้างสำเนาภาพ (image copies)

  • BACKUP … DEVICE TYPE sbt สำหรับสำรองไปยังเทปไลบรารี (tape libraries)

    คุณสามารถสร้างสคริปต์จัดการ retention window ที่ซับซ้อน ใช้คำสั่ง CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS และทำให้ระบบ ลบ backup เก่าที่ไม่จำเป็นอัตโนมัติ

การบีบอัดภายนอกเหมาะกับการสำรองข้อมูลด้วย RMAN ไหม

การบีบอัดภายนอกหมายถึงการส่งผลลัพธ์ที่ยังไม่ถูกบีบอัดจาก RMAN ผ่านเครื่องมือของระบบปฏิบัติการ เช่น gzip, bzip2 หรือ zip แนวทางนี้สามารถใช้งานได้เมื่อคุณไม่มี สิทธิ์การใช้งาน Oracle Advanced Compression หรือต้องการถ่ายโอนงานประมวลผล CPU ไปยังโฮสต์อื่น ตัวอย่างเช่น คุณอาจใช้:

rman target / <<EOF | gzip > backup.rman.gz
BACKUP DATABASE;
EOF

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

ประเภทการบีบอัดสำรองข้อมูลของ RMAN 

RMAN รองรับสองหมวดหมู่ของการบีบอัดข้อมูล ได้แก่ อัลกอริทึม BASIC เริ่มต้น (ไม่จำเป็นต้องมีใบอนุญาตเพิ่มเติม) และระดับ ต่ำ กลาง และ สูง ภายใต้ตัวเลือก Advanced Compression คุณสามารถเปิดใช้งานการบีบอัดข้อมูลถาวรได้:

RMAN> CONFIGURE COMPRESSION ALGORITHM 'MEDIUM';
RMAN> CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET;

หรือสำหรับการสำรองข้อมูลครั้งเดียว:

RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE PLUS ARCHIVELOG;

ภาพรวมระดับการบีบอัด

ตารางต่อไปนี้สรุปแต่ละระดับ:

LevelLicense RequiredCPU ImpactCompression RatioBest For
BASICไม่ใช่ปานกลางระดับกลางสภาพแวดล้อมที่ไม่มีตัวเลือกการบีบอัดขั้นสูง
LOWใช่ต่ำต่ำระบบสำรองข้อมูลอย่างรวดเร็วบนระบบที่จำกัดด้วย CPU
ระดับปานกลางใช่ระดับกลางสูงเวิร์กโหลดที่สมดุลและการสำรองข้อมูลบนคลาวด์
HIGHใช่สูงสูงมากการสำรองข้อมูลที่สำคัญต่อพื้นที่จัดเก็บในช่วงเวลาที่ไม่ใช่ชั่วโมงเร่งด่วน

การประมวลผลบล็อกก่อนการบีบอัด

ก่อนการบีบอัดไบนารี RMAN สามารถตั้งค่าพื้นที่ว่างในบล็อกให้เป็นศูนย์ (OPTIMIZE FOR LOAD FALSE) เพื่อปรับปรุงอัตราส่วนในพื้นที่ตารางที่มีการแบ่งส่วน Fragmented Null-block compression จะข้ามบล็อกที่ไม่เคยถูกเขียน ส่วน unused-block compression จะเว้นบล็อกที่จัดสรรแต่ยังว่างเปล่า ทั้งสองกระบวนการเกิดขึ้นก่อนอัลกอริทึมไบนารีที่เลือก ช่วยเพิ่มประสิทธิภาพการประหยัดพื้นที่โดยไม่มีค่าใช้จ่ายใบอนุญาตเพิ่มเติม

วิธีการบีบอัดสำรองข้อมูล Oracle ด้วยคำสั่ง RMAN คืออะไร?

ด้านล่างนี้คือคำแนะนำทีละขั้นตอนสำหรับผู้ใช้งานในแต่ละระดับทักษะ

การบีบอัดข้อมูลพื้นฐานของ Oracle database

ก่อนอื่น ให้ตั้งค่าอัลกอริทึมเริ่มต้น:

RMAN> กำหนดอัลกอริทึมการบีบอัด 'BASIC';

จากนั้นเปิดใช้งานบนดิสก์:

RMAN> CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET;

สุดท้าย ให้รัน:

RMAN> BACKUP DATABASE;

การดำเนินการนี้ใช้การบีบอัดแบบ BASIC โดยค่าเริ่มต้น ซึ่งให้ประสิทธิภาพการประหยัดที่ดีโดยไม่จำเป็นต้องมีใบอนุญาต Advanced Compression

การสำรองข้อมูลแบบบีบอัดเพียงครั้งเดียว

สำหรับการสำรองข้อมูลแบบบีบอัดเพียงครั้งเดียวโดยไม่ต้องเปลี่ยนค่าเริ่มต้น ให้รัน:

RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE PLUS ARCHIVELOG;

ในการระบุ MEDIUM หรือ HIGH:

RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE COMPRESSED FOR MEDIUM;

(หมายเหตุ: ไวยากรณ์ COMPRESSED FOR รองรับใน Oracle 12.2, 18c, 19c และเวอร์ชันที่ใหม่กว่า)

การบีบอัดฐานข้อมูล Oracle ขั้นสูง

เพื่อรวมการศูนย์พื้นที่ว่าง:

RMAN> SET OPTIMIZE FOR LOAD FALSE;
RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE;

ในการเปลี่ยนระดับการบีบอัดระหว่างเซสชัน:

RMAN> SET COMPRESSION ALGORITHM 'HIGH';
RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE;

ตรวจสอบการใช้งาน CPU เทียบกับเวลา เพื่อเลือกระดับที่เหมาะสมที่สุดสำหรับช่วงเวลา OLTP หรือช่วงเวลาทำข้อมูลจำนวนมาก

แนวทางปฏิบัติที่ดีที่สุดสำหรับการบีบอัดข้อมูลสำรอง RMAN

การบีบอัดข้อมูลอย่างมีประสิทธิภาพมาจากการทดสอบและการตรวจสอบ:

  • ทดสอบแต่ละระดับบนสแตรจก่อนนำไปใช้งานจริง

  • ใช้ ระดับปานกลาง สำหรับงานที่มีการใช้งานผสมผสาน จอง ระดับสูง สำหรับการจัดเก็บข้อมูลในช่วงนอกเวลาเร่งด่วน

  • หลีกเลี่ยงการใช้ ต่ำ กับงานที่ต้องใช้ข้อมูลหนัก—อัตราส่วนของมันอาจไม่คุ้มค่าแม้แต่ขนาด CPU ที่เล็ก

  • กำหนดเวลาการทำงานพร้อม ระดับสูง ในช่วงที่ผู้ใช้งานทำงานน้อย

  • รวมกับการสำรองข้อมูลเพิ่มเติมเพื่อจำกัดความถี่ของการสำรองข้อมูลแบบเต็มรูปแบบ

  • ตรวจสอบอยู่เสมอโดยใช้:

    SELECT set_count,
           compression_level,
           compressed_bytes,
           uncompressed_bytes
      FROM V$BACKUP_SET
     WHERE compression_level = 'MEDIUM';
  • วิเคราะห์ปัญหา CPU สูงโดยใช้ V$SESSION_LONGOPS และเครื่องมือของระบบปฏิบัติการ เช่น top, pidstat และ iostat เพื่อระบุช่องทาง RMAN ที่ทำให้เกิดภาระงานเพิ่มขึ้นอย่างรวดเร็ว


    การบีบอัดข้อมูลก่อนเข้ารหัสจะให้ประสิทธิภาพโดยรวมที่ดีกว่า—ตั้งค่า CONFIGURE ENCRYPTION FOR DATABASE ON หลังจากการกำหนดค่าการบีบอัดแล้ว

    วิธีการบีบอัดข้อมูลสำรองของ Oracle ด้วย Vinchin คืออะไร?

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

    ความสามารถในการป้องกันฐานข้อมูลของ Vinchin ได้แก่ การสำรองข้อมูลบนคลาวด์ และการเก็บถาวรข้อมูลลงเทป การสำรองข้อมูลแบบเต็ม แบบเพิ่มเติม และแบบล็อก การสำรองข้อมูลล็อกที่เก็บถาวรสำหรับ Oracle และ PostgreSQL การสำรองข้อมูลตามกำหนดเวลาพร้อมการบีบอัดข้อมูล Oracle ที่ต้นทางและการลบซ้ำซ้อน (deduplication) รวมถึงการป้องกันแรนซัมแวร์

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

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

    เลือก Oracle Database

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

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

    3. กำหนดกลยุทธ์การสำรองข้อมูล (เต็มรูปแบบ การเพิ่มเติมตามลำดับ กำหนดเวลา การบีบอัดของ Oracle)

    เลือกกลยุทธ์การสำรองข้อมูล

    4. ส่งงาน

    ส่งงาน

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

    คำถามที่พบบ่อยเกี่ยวกับการบีบอัดสำรองข้อมูล RMAN

    คำถามที่ 1. การกู้คืนข้อมูลสำรองที่ถูกบีบอัดทำอย่างไร
    ใช้คำสั่ง CATALOG START WITH '/path/to/backup'; RESTORE DATABASE; RECOVER DATABASE; ใน RMAN เพื่อลงทะเบียนและนำข้อมูลสำรองมาใช้

    คำถามที่ 2. ฉันสามารถเปลี่ยนระดับการบีบอัดระหว่างการสตรีมได้ไหม
    ไม่ได้ เพราะว่า RMAN จะใช้ระดับที่คุณกำหนดไว้ในช่วงเวลาสำรองข้อมูล และจะคงระดับนั้นไว้สำหรับชุดข้อมูลสำรองนี้

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

    คำถามที่ 4. ฉันสามารถใช้การบีบอัดร่วมกับการสำรองข้อมูลที่เข้ารหัสได้ไหม?

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

    คำถามที่ 5. ฉันจะตรวจสอบประสิทธิภาพการบีบอัดได้อย่างไร?
    สืบค้น V$BACKUP_SET หรือ V$BACKUP_PIECE เพื่อเปรียบเทียบอัตราส่วนของ COMPRESSED_BYTES และ UNCOMPRESSED_BYTES

    สรุป

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

    แชร์บน:

    Categories: Database Backup