oracleskill

Home TUTORIAL วิธีการ multiplex control files

วิธีการ multiplex control files

control files แม้ว่าจะเป็นไฟล์เล็ก แต่มีความสำคัญ อย่างยิ่ง ในฐานข้อมูล จำเป็นต้องมี control files อย่างน้อย 1 ไฟล์ แต่เนื่องจากไฟล์นี้ มีความสำคัญ ทำให้การสร้างฐานข้อมูลด้วย Database Configration Assistant ( DBCA ) สร้าง control files ขึ้นมาให้เลย 3 ไฟล์ ซึ่งทุกไฟล์เป็นก๊อปปี้ซึ่งกันและ ถ้าไฟล์ใดไฟล์หนึ่ง เสียหาย ก็ยังสามารถ ก๊อปปี้ ไฟล์ที่เหลือ มาทดแทนได้

อย่าง ไรก็ตาม ไฟล์ทั้งหมดยังอยู่บนดิสก์ลูกเดียวกัน ถ้าเกิดดิสก์ลูกนั้นมีปัญหา ก็จะกระทบกับ control files ทั้งหมด ดังนั้น จึงควรทำ multiplex คือ ก๊อปปี้ control files อีกชุด เอาไว้ดิสก์ลูกอื่น

บทความนี้ เราจะสอนวิธีทำ multiplex control files กัน

1. ดูพารามิเตอร์ control files ที่มีผลอยู่ในปัจจุบัน จะเห็นว่า ทั้ง 3 ไฟล์ อยู่บนดิสก์ลูกเดียวกัน

SQL> show parameter controlfiles
show existing control file parameters

 

2. ทำให้ ออราเคิล เห็น control files ไฟล์ที่ 4 บนดิสก์ลูกอื่น ต่อจากไฟล์ที่มีอยู่เดิม ด้วยการใช้คำสั่งแก้ไขค่าพารามิเตอร์ ใน sp files

SQL> ALTER SYSTEM SET 
        control_files = 'D:\DATAFILES\ORCL\CONTROL01.CTL' ,
                            'D:\DATAFILES\ORCL\CONTROL02.CTL',
                            'D:\DATAFILES\ORCL\CONTROL03.CTL',
                            'C:\MULTIPLEX\ORCL\CONTROL04.CTL'
        SCOPE = spfile ;

Add control files in SP files

3. shutdown ฐานข้อมูล เพื่อหยุดการเขียน SCN ใน control files เพื่อเตรียมก๊อปปี้เป็นไฟล์อีกชุด

Shtdown database

4. ก๊อปปี้ control files ที่มีอยู่แล้ว ไปอยู่ที่ดิสก์อีกลูก ตาม path ที่ตั้งไว้ใน sp file

Copy control files to another disk

5. Rename ชื่อไฟล์ ที่ก๊อปปี้มา เป็นไฟล์ที่ 4 ตามที่ตั้งไว้ใน sp file

Rename control file

6. Startup ฐานข้อมูล เพื่อให้อ่านค่าพารามิเตอร์ sp file ใหม่

Startup to read new SP file

7. แสดงพารามิเตอร์ control_files ที่กำลังมีผลอยู่ จะเห็นว่า มีไฟล์ที่ 4 เพิ่มเข้ามาแล้ว

Show new control file parameter

8. อย่าลืม !! เมื่อเรามีการเปลี่ยนค่าใน sp file แล้ว ให้ ซิงโครไนซ์ ไปเป็น pfile ด้วย 

Create pfile from spfile