หนึ่งใน "วิธีปฏิบัติ" ที่ฉันเคยเห็นเกี่ยวกับการดำเนินการโดย DBA ในองค์กรของฉันคือการปฏิบัติต่อการส่งออกฐานข้อมูลแบบเต็มโดยใช้เครื่องมือเช่นexp
/expdp
สำรองข้อมูล
นี่จะเป็นการฝึกฝนที่ดีหรือไม่? อะไรคือข้อดีของการใช้ RMAN ผ่านวิธีนี้
หนึ่งใน "วิธีปฏิบัติ" ที่ฉันเคยเห็นเกี่ยวกับการดำเนินการโดย DBA ในองค์กรของฉันคือการปฏิบัติต่อการส่งออกฐานข้อมูลแบบเต็มโดยใช้เครื่องมือเช่นexp
/expdp
สำรองข้อมูล
นี่จะเป็นการฝึกฝนที่ดีหรือไม่? อะไรคือข้อดีของการใช้ RMAN ผ่านวิธีนี้
คำตอบ:
ข้อได้เปรียบของ RMAN คือ PITR - point in time recovery คุณสามารถใช้การสำรองข้อมูล RMAN ของ DBFs และการสำรองข้อมูล RMAN ของบันทึกการทำซ้ำที่เก็บถาวรและกู้คืนฐานข้อมูลของคุณไปยังจุดใดก็ได้ในเวลาจนถึงเวลาของการสำรองข้อมูลบันทึกการทำซ้ำที่เก็บถาวรล่าสุด ข้อเสียของวิธีการนี้คือมันมีลักษณะหยาบมาก - คุณสามารถกู้คืนได้ที่ระดับของพื้นที่ตารางเท่านั้น
ข้อดีของ exp / expdp คือคุณมีสำเนาของฐานข้อมูลที่สอดคล้องกันซึ่งคุณสามารถนำเข้าสู่ฐานข้อมูลเปล่าที่สร้างขึ้นใหม่ได้ อย่างไรก็ตามคุณไม่สามารถย้อนกลับไปข้างหน้าได้ ณ จุดนี้ฐานข้อมูลที่แยกต่างหากและเป็นอิสระแยกจากกันโดยไม่มีความสัมพันธ์เชิงตรรกะกับต้นฉบับ แต่มันเป็นเรื่องง่ายที่จะกู้คืนเพียงตารางเดียวหรือแม้กระทั่งไม่กี่แถวจากการส่งออก
วิธีการที่ดีคือการสำรองข้อมูลแบบเต็มและแบบเพิ่มหน่วยความจำ RMAN ปกติการสำรองข้อมูลอย่างต่อเนื่องของการทำบันทึกที่เก็บถาวร (เช่นทันทีที่การสำรองข้อมูลแบบ archivelog หนึ่งรายการเสร็จสมบูรณ์ให้เริ่มการทำงานแบบถัดไปทันที ในการใช้ exp / imp เพื่อให้สามารถทำการ "สำรองข้อมูล" ของตนเอง (ในกรณีที่ต้องการคัดลอกข้อมูลจริง) และย้อนหลัง (เพื่อให้สามารถทำการกู้คืนได้เองในกรณีที่ DML ผิดพลาด)
ข้อควรจำ - การสำรองข้อมูลมีไว้สำหรับ DBA เพื่อกู้คืนจากความล้มเหลวที่ร้ายแรงของฮาร์ดแวร์ ไม่ใช่เพื่อประโยชน์ของผู้ใช้ปลายทาง (หรือคุณจะใช้เวลาตลอดเวลาในการกู้คืนระบบทดสอบและคัดลอกแถวกลับไปที่เดิม!)
Exp / Expdp ในฐานะโซลูชันสำรองดูเหมือนว่าร้านขายอะไหล่รถยนต์คือรถยนต์สำรองของคุณ ในทางเทคนิคแล้วมันจะทำให้คุณกลับมาทำงานได้ แต่มันจะทำให้คุณเจ็บปวดและทุกข์ทรมาน
Exp หรือ Expdp สามารถใช้เป็นข้อมูลสำรองลำดับที่สองสำหรับการสำรองข้อมูลระบบไฟล์ทั้งเย็นหรือสำรองข้อมูล rman ร้อนหรือเย็น (ซอฟต์แวร์ไคลเอ็นต์สำรองข้อมูล Oracle อื่น ๆ มักจะเรียกใช้คำสั่ง RMAN เท่านั้น)
วิธีการทั่วไปจะเป็นดังนี้:
1 cold backup weekly
1 hot backup daily
และถ้าคุณต้องการที่จะระมัดระวังให้ทำการส่งการทำซ้ำที่เก็บถาวรออกจากเซิร์ฟเวอร์ (ทุกชั่วโมงทำงาน) หรือตั้งค่าตำแหน่งระยะไกลสำหรับปลายทางบันทึกการเก็บถาวรที่สอง
- RMAN * ใหม่ -
เซสชัน RMAN ทั่วไปของฉัน:
rman target=/
backup as compressed backupset database plus archivelog delete input;
delete obsolete;
exit
"สำรองข้อมูลเป็นชุดข้อมูลสำรองที่บีบอัด ... ": คุณยังสามารถทำรูปภาพซึ่งเป็นไบต์สำหรับการคัดลอกชุดข้อมูลของไบต์ นี่จะเป็นการสำรองข้อมูลรายสัปดาห์ที่ดี
"... ฐานข้อมูล ... ": ค่อนข้างชัดเจน
"... บวก archivelogs ... ": ทำให้เรามีจุดในการกู้คืนเวลา (และจุดในเวลาโคลน [คำสั่งซ้ำใน rman])
"... delete input": ลบ archivelog ที่สำรองไว้ คุณสามารถตั้งค่านี้ให้ลบสิ่งที่สำรองไว้อย่างน้อยสองครั้งเป็นต้น
"ลบล้าสมัย": เมื่อคุณกำหนดค่านโยบายการเก็บข้อมูล rman ของคุณ (ของฉันคือ 5 วัน) จากนั้นจะลบการสำรองข้อมูลที่อยู่นอกหน้าต่างนั้น นี่ไม่ได้หมายความว่าเราสามารถกู้คืนได้ 5 วันที่ผ่านมา คุณยังควรมีการสำรองข้อมูลเทป / ออฟเซิร์ฟเวอร์ทุกวันของพื้นที่การกู้คืนแฟลช หมายความว่าออนไลน์คุณจะมีการกู้คืน 5 วันและหลังจากนั้นคุณจะต้องกู้คืนรายการพื้นที่กู้คืนแฟลชจากการสำรองข้อมูลเทป / ออฟเซิร์ฟเวอร์จากนั้นลงทะเบียนกับ rman เพื่อใช้งาน
นี่คือบันทึกจริงจากเซสชันปรับเปลี่ยนเล็กน้อยสำหรับพา ธ และอื่น ๆ :
oracle@prodserver[PROD]$ rman target=/
Recovery Manager: Release 10.2.0.4.0 - Production on Wed Jan 5 21:00:00 2011
Copyright (c) 1982, 2007, Oracle. All rights reserved.
connected to target database: PROD (DBID=randomnumber)
RMAN> backup
2> as compressed backupset
3> database
4> include current controlfile
5> plus archivelog delete input;
6> backup spfile;
7> delete obsolete;
8>
Starting backup at 05-JAN-11
current log archived
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=291 devtype=DISK
channel ORA_DISK_1: starting compressed archive log backupset
channel ORA_DISK_1: specifying archive log(s) in backup set
input archive log thread=1 sequence=743 recid=743 stamp=739623589
input archive log thread=1 sequence=744 recid=744 stamp=739623940
input archive log thread=1 sequence=745 recid=745 stamp=739624712
input archive log thread=1 sequence=746 recid=746 stamp=739625380
input archive log thread=1 sequence=747 recid=747 stamp=739659606
channel ORA_DISK_1: starting piece 1 at 05-JAN-11
channel ORA_DISK_1: finished piece 1 at 05-JAN-11
piece handle=/u03/oraflash/PROD/backupset/2011_01_05/o1_mf_annnn_TAG20110105T210008_6lb8kb4o_.bkp tag=TAG20110105T210008 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:01:26
channel ORA_DISK_1: deleting archive log(s)
archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_743_6l95ckxx_.arc recid=743 stamp=739623589
archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_744_6l95plo2_.arc recid=744 stamp=739623940
archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_745_6l96gpok_.arc recid=745 stamp=739624712
archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_746_6l973l32_.arc recid=746 stamp=739625380
archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_747_6lb8k57v_.arc recid=747 stamp=739659606
Finished backup at 05-JAN-11
Starting backup at 05-JAN-11
using channel ORA_DISK_1
channel ORA_DISK_1: starting compressed full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00001 name=/u02/oradata/PROD/system01.dbf
input datafile fno=00005 name=/u02/oradata/PROD/software.dbf
input datafile fno=00003 name=/u02/oradata/PROD/sysaux01dbf
input datafile fno=00002 name=/u02/oradata/PROD/undotbs01.dbf
input datafile fno=00004 name=/u02/oradata/PROD/users.dbf
channel ORA_DISK_1: starting piece 1 at 05-JAN-11
channel ORA_DISK_1: finished piece 1 at 05-JAN-11
piece handle=/u03/oraflash/PROD/backupset/2011_01_05/o1_mf_nnndf_TAG20110105T210135_6lb8n0y4_.bkp tag=TAG20110105T210135 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:01:45
channel ORA_DISK_1: starting compressed full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current control file in backupset
including current SPFILE in backupset
channel ORA_DISK_1: starting piece 1 at 05-JAN-11
channel ORA_DISK_1: finished piece 1 at 05-JAN-11
piece handle=/u03/oraflash/PROD/backupset/2011_01_05/o1_mf_ncsnf_TAG20110105T210135_6lb8qblm_.bkp tag=TAG20110105T210135 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
Finished backup at 05-JAN-11
Starting backup at 05-JAN-11
current log archived
using channel ORA_DISK_1
channel ORA_DISK_1: starting compressed archive log backupset
channel ORA_DISK_1: specifying archive log(s) in backup set
input archive log thread=1 sequence=748 recid=748 stamp=739659803
channel ORA_DISK_1: starting piece 1 at 05-JAN-11
channel ORA_DISK_1: finished piece 1 at 05-JAN-11
piece handle=/u03/oraflash/PROD/backupset/2011_01_05/o1_mf_annnn_TAG20110105T210323_6lb8qf3l_.bkp tag=TAG20110105T210323 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
channel ORA_DISK_1: deleting archive log(s)
archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_748_6lb8qcrr_.arc recid=748 stamp=739659803
Finished backup at 05-JAN-11
Starting backup at 05-JAN-11
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current SPFILE in backupset
channel ORA_DISK_1: starting piece 1 at 05-JAN-11
channel ORA_DISK_1: finished piece 1 at 05-JAN-11
piece handle=/u03/oraflash/PROD/backupset/2011_01_05/o1_mf_nnsnf_TAG20110105T210329_6lb8qlnm_.bkp tag=TAG20110105T210329 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
Finished backup at 05-JAN-11
RMAN retention policy will be applied to the command
RMAN retention policy is set to recovery window of 5 days
using channel ORA_DISK_1
Deleting the following obsolete backups and copies:
Type Key Completion Time Filename/Handle
-------------------- ------ ------------------ --------------------
Backup Set 55 30-DEC-10
Backup Piece 55 30-DEC-10 /u03/oraflash/PROD/backupset/2010_12_30/o1_mf_nnndf_TAG20101230T210026_6ktg9v8w_.bkp
Backup Set 56 30-DEC-10
Backup Piece 56 30-DEC-10 /u03/oraflash/PROD/backupset/2010_12_30/o1_mf_ncsnf_TAG20101230T210026_6ktgdvnt_.bkp
Backup Set 57 30-DEC-10
Backup Piece 57 30-DEC-10 /u03/oraflash/PROD/backupset/2010_12_30/o1_mf_annnn_TAG20101230T210204_6ktgdy5j_.bkp
Backup Set 58 30-DEC-10
Backup Piece 58 30-DEC-10 /u03/oraflash/PROD/backupset/2010_12_30/o1_mf_nnsnf_TAG20101230T210210_6ktgf3pz_.bkp
Backup Set 59 31-DEC-10
Backup Piece 59 31-DEC-10 /u03/oraflash/PROD/backupset/2010_12_31/o1_mf_annnn_TAG20101231T210008_6kx2ob5r_.bkp
deleted backup piece
backup piece handle=/u03/oraflash/PROD/backupset/2010_12_30/o1_mf_nnndf_TAG20101230T210026_6ktg9v8w_.bkp recid=55 stamp=739141227
deleted backup piece
backup piece handle=/u03/oraflash/PROD/backupset/2010_12_30/o1_mf_ncsnf_TAG20101230T210026_6ktgdvnt_.bkp recid=56 stamp=739141323
deleted backup piece
backup piece handle=/u03/oraflash/PROD/backupset/2010_12_30/o1_mf_annnn_TAG20101230T210204_6ktgdy5j_.bkp recid=57 stamp=739141326
deleted backup piece
backup piece handle=/u03/oraflash/PROD/backupset/2010_12_30/o1_mf_nnsnf_TAG20101230T210210_6ktgf3pz_.bkp recid=58 stamp=739141331
deleted backup piece
backup piece handle=/u03/oraflash/PROD/backupset/2010_12_31/o1_mf_annnn_TAG20101231T210008_6kx2ob5r_.bkp recid=59 stamp=739227610
Deleted 5 objects
Recovery Manager complete.
ข้อดีของ RMAN มีดังนี้: