พอดีได้รับเคสไฟไหม้มาตรวจสอบ เนื่องจากลองทำ Take On Date (ตั้ง Database ใหม่) แล้วปรากฏว่าข้อมูลที่เตรียมมามันไม่สามารถ Restore ที่ Production ได้ครับ โดยเจอ Error
พอลองไปดู Step Backup พอจะเดาได้แล้วแหละ ว่ามาจากอะไร
- Backup
cd /db2backup db2 connect to INVIF9P user invsadm db2 quiesce database immediate force connections; db2 unquiesce database; <-- ลำดับมันแปลกๆ db2 update database configuration using indexrec restart logindexbuild on logarchmeth1 "DISK:/invsins2/INVIF9P/archive"; db2 connect reset; db2 deactivate db INVIF9P db2 backup db INVIF9P db2 activate db INVIF9P
- Restore
db2 restore database INVIF9P from /db2backup/backup/INVIF9P taken at 20220601104532 TO /invsins2/INVIF9P/data WITHOUT ROLLING FORWARD;
สาเหตุ + การแก้ไข
- ที่แน่ๆ QUIESCE แล้ว UNQUIESCE ต่อ มันไม่มีประโยชน์เลย ทำให้ระหว่างที่ทำ Operation Backup เกิดปัญหาว่ามี User ใช้งานระบบอยู่ครับ ทำให้มี Tx เกิดขึ้นเพิ่มระหว่าง Backup ได้ครับ
cd /db2backup db2 connect to INVIF9P user invsadm db2 quiesce database immediate force connections; db2 update database configuration using indexrec restart logindexbuild on logarchmeth1 "DISK:/invsins2/INVIF9P/archive"; db2 connect reset; db2 deactivate db INVIF9P db2 backup db INVIF9P db2 activate db INVIF9P db2 unquiesce database; <-- ย้ายลงมาครับ
- ตอน Restore มีกำหนด Option WITHOUT ROLLING FORWARD ซึ่งปกติมันจะไม่ใช่กัน เพราะมันจะไม่เอา Tx Log มา Run เติมต่อให้ครับ ถ้ามีอะไรที่ตัว Database มันต้องการจริงๆ อย่างเคสนี้ ที่ QUIESCE แล้ว UNQUIESCE ทันทีระว่างนั้น อาจจะมี User เข้ามา Connect ได้ โดยตอนนี้หลังจากเอา Backup มาแล้ว เลยแก้ไขปัญหาเฉพาะหน้าด้วยคำสั่ง ดังนี้
db2 restore database INVIF9P from /db2backup/backup/INVIF9P taken at 20220601104532 TO /invsins2/INVIF9P/data WITHOUT PROMPTING; db2 rollforward database INVIF9P to end of backup and complete;
Reference
- [DB2] QUIESCE คือ อะไร
- [DB2] SQL1035N The operation failed because the specified database cannot be connected to in the mode requested. SQLSTATE=57019
- db2 restore without rolling forward | Toolbox Tech
- Other examples of DB2 backup, restore, and rollforward command options - IBM Documentation
Discover more from naiwaen@DebuggingSoft
Subscribe to get the latest posts sent to your email.