Backup and Recovery
Backup and Recovery
การทำ Backup เป็นงาน หลักของ DBA ที่ต้องทำการสำรองข้อมูลเพื่อป้องกัน การสูญเสีย สูญหาย ไม่ว่ากรณีใดๆ และหากเกิดกรณี ฉุกเฉินจริง DBA ต้องมีวิธีกู้คืนข้อมูลกลับคืนมาให้ user ใช้งานได้ตามปกติ ซึ่งต้องมีการจัดการต่อไปนี้
- วางแผน และ ทำการ Test ระบบ Backup and Recovery เกี่ยวกับระบบฐานข้อมูลในกรณีที่มีความฉุกเฉิน
- Configuring database ให้สามารถ Backup and recovery ได้
- วางแผนเกี่ยวกับ วันและเวลาที่ จะทำการ backup
- ต้อง Monitoring ผลลัพธ์ หลัง Backup ทุกวันว่า error หรือไม่
- แก้ไขปัญหา ที่เกิด error จากการทำ Backup
- เก็บรักษาข้อมูล ที่เกี่ยวข้องกับการ สร้าง database และ copy เก็บไว้แบบระยะยาว
- ถ่ายโอนข้อมูล ย้ายไปเก็บ ต่างพื้นที่
Data Protection
การเกี่ยวข้องกับการ ทำ Backup ข้อมูล เป็นงานหลัก ที่ DBA ควรทำ และต้อง เฝ้าดูผลลัพธ์ หลัง backup เสมอ Backup คือ การทำ copy ข้อมูลที่อยู่ ภายใน Database
Backup มีทำได้ 2วิธี
- Physical backup
เป็นการ copy physical files เช่น data files, control files, archive ทุกๆการทำ Backup แบบ Physical นี้ต้องจัดการ ไว้ต่างพื้นที่ เพื่อความปลอดภัย อาจจะBackup ลง Tape, storage ต่างสถานที่(disk)
- Logical backup
เป็นการ Backup ข้อมูล ในรูปแบบ Logical เช่น Table and stored procedures มีวิธีทำ คือ ใช้ การ backup แบบ Oracle Data Pump คือ export วิธีการ นำไปใช้คือ import หรือ เรียก expdp, impdp
อย่างไรก็ตาม ปัญหา ที่สามารถเกิดขึ้นกับระบบฐานข้อมูลเป็นปกติ คือ database I/O operations แต่หากเป็นปัญหาดังต่อไปนี้ ควรมี DBA มาแก้ไข ปัญหาที่เกิดขึ้น
- Media Failures
เป็น Physical disk มีปัญหา หรือ มีปัญหาในเรื่องของพื้นที่การจัดเก็บข้อมูลของ Backup
- User Errors
อาจจะเกิด error ของ logic ใน application, เปลี่ยน แปลง ข้อมูลผิดพลาด, ลบข้อมูลผิดตาราง
- Application Errors
บางครั้ง อาจเกิดจาก software ขัดข้อง ทำให้เกิด data block corrupt ได้
Data Preservation
ระยะเวลา ในการ เก็บข้อมูลที่ทำการ Backup ไว้ เรียกอีกอย่างว่า backup retention policy
Data Transfer
การทำ Backup ที่ถูก ต้อง ควรทำและ เก็บไว้ที่ที่ปลอดภัย ซึ่ง ไม่ใช่ พื้นที่ ที่ทำ Backup ควร เป็น พื้นที่อื่น คนละserver ได้ก็ยิ่งดี
Oracle Backup and Recovery Solutions
- Recover Manager (RMAN)
- User-managed backup and recovery
Recover Manager (RMAN)
คือ Oracle Database client ไว้สำหรับ backup and recovery บน database สามารถจัดสรรเวลา เพื่อให้ backup รัน automatic ได้ และ ต้องเลือกเวลาที่ หลังจากมี user ทำงาน น้อยที่สุดเพื่อ ลด โหลด ซึ่ง RMAN สามารถทำ ได้ทั้ง Backup, restoring and recoveries database file ได้
องค์ประกอบที่สำคัญของ RMAN
- Target database
เป็น Database ที่จะทำการ Backup หรือ จะให้เข้าใจง่ายๆ คือ Target database คือ เครื่อง Production นั้นๆ นั่นเอง
- RMAN Client
เป็น โปรแกรมที่ ติดมาตั้งแต่ Install software Oracle มีไว้ใช้รัน คำสั่งที่เกี่ยวข้องกับการ Backup, Restore path ที่โปรแกรม ติดตั้งคือ $ORACLE_HOME/bin
องค์ประกอบเพิ่มเติม ในการทำ Backup โดย RMAN
- Fast recovery area
พื้นที่ในการ เก็บ และ จัดการ file ที่ backup คือ DB_RECOVERY_FILE_DEST and DB_RECOVERY_FILE_DEST_SIZE เป็น initial parameter
- Media manager
เก็บข้อมูล Backup เช่น Tape
- Recovery catalog
เก็บ metadata ของ RMAN คือ เก็บรายละเอียด การ backup เช่น dbid, level of backup, backup data file, backup control file, backup archive (ทำ Database แยกเก็บ catalog อย่างเดียวจะดี)
RMAN Backup Type
- Full backup:
คือ Backup Data file ทั้งหมด ใน database แบบ block by block เป็น default backup ของ RMAN ซึ่งไม่ใช่รูปแบบของ Incremental Backup
- Incremental backup:
An incremental backup สามารถทำได้ทั้ง Level 0 หรือ Level 1
■ A differential incremental backup,
Backup ทุก block ที่มีการเปลี่ยนแปลง สามารถเลือกทำได้ ทั้ง level 1 or level 0
■ A cumulative incremental backup
Backup ทุก block ที่มีการเปลี่ยนแปลง สามารถทำได้เพียง level 0 เท่านั้น
***Note การทำ Backup ควรคำนึงถึงความพร้อมในเรื่องของพื้นที่ และ เวลาในการทำ backup ***
Multilevel Incremental Backups
- Differential Incremental Backups
- Cumulative Incremental Backups
***ข้อมูลอ้างอิงจาก https://docs.oracle.com/cd/E11882_01/backup.112/e10642/rcmcncpt.htm#BRADV109***
***หากมีข้อเพิ่มเติม หรือผิดพลาด จุดไหน รบกวนแนะนำด้วยคะ ขอบคุณค่ะ***
***การใช้ ภาษาไทยคำ อังกฤษคำ ในบางข้อ จะสามารถทำให้ เข้าใจได้ง่ายขึ้น***