Oracle控制文件的一點研究 |
發布時間: 2012/8/30 16:54:24 |
- 代碼如下: 1.alter system set control_files='D:\app\wings\oradata\testdb\CONTROL03.CTL','D:\app\wings\oradata\testdb\CONTROL04.CTL' scope=spfile; select value from v$spparameter where name = 'control_files'; 這個時候就會看到兩條數據了。 然后正常的關掉數據庫: shutdown immediate; 之后復制一份控制文件,改成上面的名字。啟動數據庫,再查看控制文件: sho parameter control_files; 這時看到的就是兩個控制文件了。 剛才犯了一個很白癡的錯誤,不妨寫出來,www.linuxidc.com讓大家也笑一個。 step1 alter system set control_files='D:\app\wings\oradata\testdb\CONTROL04.CTL' scope=spfile; 這樣就更改了系統,啟動的話會以04這個文件啟動。 之后我關掉了數據庫,復制了03這個文件,命名為04,啟動數據庫一切正常。之后我很2的做了下一步: step 2 1.alter system set control_files='D:\app\wings\oradata\testdb\CONTROL03.CTL','D:\app\wings\oradata\testdb\CONTROL04.CTL' scope=spfile; alter system set control_files='D:\app\wings\oradata\testdb\CONTROL04.CTL' scope=spfile; 然后重啟一下就可以了。 當時我百思不得其解,為什么呢?后來,我做了這么一步,我又執行了一下step1,不過是把控制文件換成了03。重啟,之后報錯,提示我控制文件舊。這個時候我就頓悟了。我忽略了很重要的一點,那就是控制文件在數據庫啟動之后在不停的被更新著,03這個文件在幾分鐘沒有被加載的時間里已經舊了。希望大家不要犯我這個低級錯誤。 本文出自:億恩科技【www.laynepeng.cn】 |