ซ่อมแซมฐานข้อมูล Firebird PDF พิมพ์ ส่งเมล์
เขียนโดย Administrator   
ศุกร์, 09 มีนาคม 2012

เมื่อท่านตัดสินใจที่จะใช้โปรแกรมของเรา แล้ว แนะนำว่าให้ทำการติดตั้งโปรแกรมจัดการฐานข้อมูล Firebird โดยท่านเข้าไปที่หน้า Download หัวข้อโปรแกรมจัดการฐานข้อมูล Firdbird (เวอร์ชั่นก็อัพเดทไปเรื่อยๆ ไม่แน่นอน) ทำการติดตั้งโดยเลือกเป็น Full Install

ต่อไปทำการ ลบไฟล์ต่าง ๆ ที่ทำหน้าที่เป็น Embeded Database (จะอยู่ที่เดียวกับตัวโปรแกรมที่ท่านใช้งาน เช่น ถ้าท่านใช้ DMart ก็จะอยู่ C:\Dmart) ดังต่อไปนี้ เจอไฟล์ไหนก็ลบออกไม่เจอก็ไม่ต้องทำอะไร

1.      license.txt

2.      IPLicense.txt

3.      IDLicense.txt

4.      firebird.msg

5.      firebird.conf

6.      ib_util.dll

7.      gds32.dll

8.     icudt30.dll

9.     icuin30.dll

10.   icuuc30.dll

ต่อไปจะเป็นขั้นตอนในการซ่อมฐานข้อมูล

ใน กรณีที่ใช้ Firebird เวอร์ชั่น 2.1 ทำการ Copy ไฟล์ที่ใช้ในการซ่อมฐานข้อมูลจากโฟลเดอร์ Program Files\Firebird\Firebird_2_1\bin ดังต่อไปนี้ ไปเก็บไว้ที่ C:\DMart

1.      fbclient.dll

2.      gbak.exe

3.      gfix.exe

เริ่มลงมือเป็นป๋าเบิร์ดซ่อมได้ ดังต่อไปนี้

1.      สมมติฐานข้อมูล Dmart.gdb เสีย เรารู้ได้ไงว่าเสีย ง่ายๆ ปกติเราทำงานได้ทุกเมนู แต่วันดีคืนดี เกิดเข้าไม่ได้ ก็ให้คิดไว้ก่อนว่าฐานข้อมูลน่าจะเสีย ดังนั้นให้ทำการ copy ไฟล์ฐานข้อมูลเก็บไว้ที่อื่นก่อน หากมีอะไรผิดพลาดเราก็ยังมีฐานข้อมูลตัวจริงไว้อยู่  สมมติว่าได้ copy แล้วทำการเปลี่ยนชื่อเป็น dmart9.gdb

2.      ต่อไปคลิกที่ Start เลือก Run (เนื่องจากคำสั่งในกาซ่อมแซมเป็นโปรแกรมแบบ Command Line) แล้วพิมพ์ Command แล้ว Enter ก็จะมีหน้าต่างให้เราสั่งทำงานจะมีเคอร์เซอร์กระพิบๆ .ให้พิพม์คำว่า CD\DMart เพือย้ายตำแหน่งไปที่ C:\DMart

3.      ใช้คำสั่งดังต่อไปนี้ เพื่อตรวจสอบว่าฐานข้อมูลมีปัญหาหรือไม่ ถ้ามีจะแสดงข้อความแจ้งให้ทราบ

      gfix –v –full –user sysdba –password masterkey dmart9.gdb

?         จากตัวอย่างฐานข้อมูลที่เสีย (หา download เพื่อซ้อมมือได้ที่หน้า download หัวข้อโปรแกรมจัดการฐานข้อมูล เลือกฐานข้อมูลที่เสียไว้ทดสอบการซ่อมแซม) จะแสดงข้อมูลดังต่อไปนี้

?         Database file appears corrupt ( )

?         -bad checksum

?         -checksum eror on database page 1000

4.      ใช้คำสั่งต่อไปนี้ เพื่อมาร์ค ตำแหน่งที่เสีย และให้ข้าม checksum error

gfix –mend –ignore –user sysdba –password masterkey dmart9.gdb

จะมีข้อความแสดงดังนี้

Summary of validation errors

Number of record level errors : 1618

Number of database page errors : 929

5.      ลองใช้คำสั่งในข้อ 3 อีกครั้ง จะแสดงข้อความเหลือเพียง ดังนี้

Summary of validataion errors

Number of record level errors : 1618

6.      ทำการสำรองข้อมูลเป็นไฟล์ที่ชื่อ dmart9.gbk เพื่อเตรียมดึงกลับมาเป็นฐานข้อมูลที่ดี โดยใช้คำสั่งดังต่อไปนี้

gbak –b –g –ig –v –user sysdba –password masterkey dmart9.gdb dmart9.gbk

หากทำงานได้สมบูรณ์ตรงบรรทัดสุดท้ายของข้อความที่แจ้งให้ทราบจะแสดงดังนี้

gbak : closing file, committing, and finishing.

7.      ขั้นตอนสุดท้ายนำข้อมูลที่สำรองดึงกลับมาเป็นฐานข้อมูลที่แก้ปัญหาแล้ว สมมติว่าจะดึงกลับมาเป็นชื่อ dmart8.gdb โดยใช้คำสั่ง ดังนี้

gbak –c –r –v –user sysdba –password masterkey dmart9.gbk dmart8.gdb

หากดึงกลับมาได้สำเร็จ จะแสดงข้อความตรงบรรทัดสุดท้ายว่า

gbak : finishing, closing, and going home.

เราก็นำไฟล์ฐานข้อมูลที่ซ่อมแล้วมาใช้งาน โดยเปลี่ยนชื่อเป็น dmart.gdb เพื่อใช้งานต่อไป

ถัดไป >