您好,登錄后才能下訂單哦!
oracle數(shù)據(jù)庫(kù)中的控制文件是二進(jìn)制文件,其記錄了數(shù)據(jù)庫(kù)名、數(shù)據(jù)庫(kù)標(biāo)識(shí)符、數(shù)據(jù)庫(kù)創(chuàng)建時(shí)間、表空間信息、重做日志文件歷史、歸檔日志文件位置和狀態(tài)信息、日志序列號(hào)、檢查點(diǎn)、備份狀態(tài)信息和位置。
oracle初始安裝默認(rèn)會(huì)生成3個(gè)控制文件(windows下oracle會(huì)生成3個(gè),linux下好像是1個(gè));
查找控制文件物理位置
show parameter control_files
sql語(yǔ)句:
select from v$parameter where name='control_files';
那么控制文件是什么時(shí)候開(kāi)始加載呢?
控制文件比較重要,建議將控制文件存放在不同的分區(qū),并創(chuàng)建3個(gè)以上的控制文件;接下來(lái)演示移動(dòng)控制文件到不同的分區(qū)。
oracle 11g默認(rèn)使用spfile啟動(dòng)數(shù)據(jù)庫(kù),oracle 9i以前都是用pfile啟動(dòng)數(shù)據(jù)庫(kù);這里所說(shuō)的pfile和spfile就是指參數(shù)文件。
查詢當(dāng)前庫(kù)使用的參數(shù)文件啟動(dòng)的數(shù)據(jù)庫(kù)
select decode(count(),1,'spfile','pfile') from v$spparameter where rownum=1 and isspecified = 'TRUE';
移動(dòng)控制文件之前,先查找當(dāng)前庫(kù)的控制文件所在的位置
使用以下命令修改spfile文件信息,因?yàn)閟pfile文件無(wú)法直接通過(guò)操作系統(tǒng)命令修改,但是pfile可以直接修改。
alter system set control_files='/u01/app/oracle/oradata/control01.ctl' scope=spfile;
執(zhí)行完畢后關(guān)閉數(shù)據(jù)庫(kù)
shutdown immediate;——此步驟很重要,一定要停庫(kù)再拷貝控制文件
將控制文件通過(guò)操作系統(tǒng)命令移動(dòng)到要修改的目錄下,
再啟動(dòng)數(shù)據(jù)庫(kù)sqlplus / as sysdba
startup
控制文件移動(dòng)成功
接下來(lái)演示下如何添加控制文件
alter system set control_files='/u01/app/oracle/oradata/control01.ctl','/u01/app/oracle/oradata/orcl/control02.ctl' scope=spfile;
關(guān)閉數(shù)據(jù)庫(kù)——此步驟很重要,一定要停庫(kù)再拷貝控制文件
復(fù)制原有的一個(gè)控制文件到制定的目錄
startup 啟動(dòng)數(shù)據(jù)庫(kù)
查看數(shù)據(jù)庫(kù)是否正常
接下來(lái)模擬一個(gè)控制文件損壞如何修復(fù);
刪除一個(gè)控制文件
刪除控制文件后,無(wú)法shutdown了
強(qiáng)制關(guān)閉數(shù)據(jù)庫(kù)
shutdown abort
復(fù)制一個(gè)可以使用的控制文件到損壞的控制文件目錄
啟動(dòng)數(shù)據(jù)庫(kù)
如果控制文件全部都損壞了。需要進(jìn)行控制文件備份,但是控制文件會(huì)時(shí)刻發(fā)生變化。后期菜雞哥哥再持續(xù)研究如何持續(xù)保證控制文件的完整性,當(dāng)然如果你的控制文件分別放在不同的分區(qū),也全部掛掉,那么你可以去買×××了?。。?/p>
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。