ตอนนี้ผมได้โจทย์จากลูกค้ามีต้องการนำ Database UAT เดิมที่มีที่อยู่แล้วชื่อ BFMDB มาขึ้นเป็น Database ใหม่อีกก้อนที่มีชื่อว่า BFMIFRS9 ครับ โดยขั้นตอนมี 2 ส่วนหลัก ดังนี้ครับ
Backup Database จากฐานข้อมูลต้นทางก่อน (BFMDB)
- เข้าไปที่ Path ที่ต้องการจัดเก็บไฟล์ Backup อาทิ เช่น db2backup
cd /db2backup
- เชื่อมต่อฐานข้อมูล และตัดการเชื่อมต่อ Application ที่ใช้งานอยู่ทั้งหมด ด้วยคำสั่ง
db2 connect to bfmdb user invest
db2 quiesce database immediate force connections;
db2 unquiesce database;
db2 connect reset;
db2 deactivate db bfmdb;
- Backup ฐานข้อมูลด้วยคำสั่ง
db2 backup db bfmdb;
- Activate Database ให้กลับมาพร้อมใช้งานอีกครั้งด้วยคำสั่ง
db2 activate db bfmdb;
- เมื่อเข้าไปดูไฟล์ที่ Path db2backup พบว่ามีไฟล์ Backup มีชื่อในรูปแบบ <ชื่อฐานข้อมูล>.<timestamp>.001
Restore Database จากไฟล์ Backup ของ BFMDB ให้ BFMIFRS9
- เข้าไปที่ Path ที่ต้องการจัดเก็บไฟล์ Backup อาทิ เช่น db2backup ที่ได้ทำในขั้นตอนก่อนหน้า
- ตรวจสอบก่อนว่ามีฐานข้อมูลอยู่แล้ว หรือไม่ ถ้ามีให้ลบทิ้งด้วยคำสั่ง
db2 connect to bfmifrs9 user invest
db2 quiesce database immediate force connections;
db2 unquiesce database;
db2 connect reset;
db2 deactivate db bfmifrs9;
db2 drop db bfmifrs9;
- Restore Database BFMDB โดยแก้ไขชื่อเป็น BFMIFRS9 ด้วยคำสั่ง
db2 "restore db bfmdb from /db2backup taken at <Timestamp> into bfmifrs9 replace existing"
- กำหนดให้ไม่สนใจ Log ที่เหลือ ถ้าหากระหว่างการ Restore มีต้องการไฟล์ Log เพิ่มด้วยคำสั่ง
db2 rollforward db bfmifrs9 to end of backup and complete;
- ทดสอบ และเชื่อมต่อฐานข้อมูลใหม่ที่เพิ่ง Restore ด้วยคำสั่ง
db2 connect to bfmifrs9 user invest
db2 connect reset;