Oracle中的游戲?非也,這里引用的游戲與奧林匹克競賽中的“運(yùn)動(dòng)”類似,競賽中的參加比賽的運(yùn)動(dòng)員對它們從事的事情是非常認(rèn)真的,他們非常熱愛他們的運(yùn)動(dòng)或競賽,作為一名Oracle DBA,你熱愛你的工作嗎?你的工作是否順利呢?對那些認(rèn)真的人而言,專業(yè)可能是一個(gè)更好的選擇,我們將要玩“游戲”或競賽,我們能從它們那里學(xué)到什么,本文為DBA提供實(shí)用、必要的技能。
丟失了一個(gè)或更多的專用文件
專用文件包括:控制文件、在線重做日志、歸檔重做日志和數(shù)據(jù)文件。我們假設(shè)你有多個(gè)控制文件,在初始化參數(shù)文件中標(biāo)識出來了(本文我將使用pfile以便于快速編輯),你已經(jīng)閱讀了很多次:如果你丟失了一個(gè)控制文件,恢復(fù)或修復(fù)一個(gè)好的控制文件拷貝到錯(cuò)誤文件的位置,或者從參數(shù)文件中移除涉及的文件,在一個(gè)控制文件丟失后(無論什么原因),對數(shù)據(jù)庫有什么影響呢?
1、操作仍然可以繼續(xù),有其他的控制文件“在線”意味著你可以承受一個(gè)或更多控制文件的丟失。
2、你(DBA)不得不關(guān)閉系統(tǒng),恢復(fù)文件(或從init.ora文件中移除)并重新啟動(dòng)。
3、Oracle關(guān)閉實(shí)例(如你不能控制,無論你想不想它都會發(fā)生)。
我問這個(gè)的原因是:控制文件之間以及在線重做日志多路復(fù)用之間有什么不同?例如:如果一個(gè)活動(dòng)組的成員丟失了數(shù)據(jù)庫(或?qū)嵗l(fā)生什么?Oracle繼續(xù)保持運(yùn)轉(zhuǎn)還是停止運(yùn)轉(zhuǎn)?在下面的實(shí)驗(yàn)中,我將control01.ctl文件放在閃存盤里,然后將閃存盤從USB端口拔出來模擬介質(zhì)失效。
|
當(dāng)前控制文件清單 |
|
|
|
新的控制文件清單 |
|
|
確認(rèn)新的控制文件:
SQL> startup
ORACLE instance started.
Total System Global Area 289406976 bytes
Fixed Size 1290184 bytes
Variable Size 104857656 bytes
Database Buffers 176160768 bytes
Redo Buffers 7098368 bytes
Database mounted.
Database opened.
SQL> col name for a52
SQL> select name from v$controlfile;
NAME
----------------------------------------------------
D:\ORACLE\PRODUCT\10.2.0\ORADATA\DB10\CONTROL01.CTL
D:\ORACLE\PRODUCT\10.2.0\ORADATA\DB10\CONTROL02.CTL
F:\ORACLE\CONTROL03.CTL
現(xiàn)在已經(jīng)準(zhǔn)備好斷開閃存盤的連接,沒有直接的警告(用戶界面沒有任何提示信息,直到嘗試一個(gè)操作時(shí)),實(shí)例崩潰了。
SQL> select name from v$controlfile;
select name from v$controlfile
*
ERROR at line 1:
ORA-03113: end-of-file on communication channel
| 共3頁: 1 [2] [3] 下一頁 | |||||
|


