控制文件是oracle數(shù)據(jù)庫中最重要的文件之一。它記錄了數(shù)據(jù)庫的名稱及其他關(guān)鍵配置,也記錄了當(dāng)前數(shù)據(jù)庫中所有的數(shù)據(jù)文件和日志文件的位置及狀態(tài)等重要信息,是數(shù)據(jù)庫啟動過程中必須查找并且使用的關(guān)鍵文件。默認(rèn)情況下,數(shù)據(jù)庫中有兩個(gè)控制文件,并且這兩個(gè)控制文件的內(nèi)容和大小一致。在生產(chǎn)環(huán)境中,一般會建設(shè)多個(gè)控制文件副本,分別放在不同磁盤上。需要注意的是,不管數(shù)據(jù)庫有多少控制文件,數(shù)據(jù)庫在啟動時(shí),會檢查所有控制文件,這些控制文件的內(nèi)容只有全部一致并且沒有受損,數(shù)據(jù)庫才能成功啟動。
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊、雅安服務(wù)器托管、營銷軟件、網(wǎng)站建設(shè)、藍(lán)田網(wǎng)站維護(hù)、網(wǎng)站推廣。
方法一:
查看數(shù)據(jù)庫當(dāng)前的控制文件
SQL> show parameter control_files;
NAME TYPE VALUE
-------------------- ----------- ------------------------------
control_files string /u01/app/oracle/oradata/orcl/control01.ctl,
/u01/app/oracle/oradata/orcl/control02.ctl
2. 修改控制文件
SQL> alter system set control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/oradata/orcl/control02.ctl','/u01/app/oracle/control/control03.ctl' scope=spfile;
System altered.
3.一致性關(guān)閉數(shù)據(jù)庫
SQL> shutdown immediate;
4.在操作系統(tǒng)復(fù)制控制文件到相應(yīng)目錄
[oracle@ymm oracle]$ cp /u01/app/oracle/oradata/orcl/control01.ctl /u01/app/oracle/control/control03.ctl
5.啟動數(shù)據(jù)庫
SQL> startup;
6. 查看數(shù)據(jù)庫當(dāng)前的控制文件
SQL> show parameter control_files;
NAME TYPE VALUE
---------------------- ----------- ------------------------------
control_files string /u01/app/oracle/oradata/orcl/control01.ctl,
/u01/app/oracle/oradata/orcl/control02.ctl,
/u01/app/oracle/control/control03.ctl
方法二:修改參數(shù)文件pfile
生成pfile參數(shù)文件
SQL> show parameter spfile;
NAME TYPE VALUE
------------------- ----------- ------------------------------------------------------------------
spfile string /u01/app/oracle/product/11.2.0/dbhome_1/dbs/spfileorcl.ora
SQL> create pfile from spfile;
File created.
默認(rèn)情況下,pfile和spfile都存放在$ORACLE_HOME/dbs目錄下。pfile以init開頭,spfile以spfile開頭。
2.一致性關(guān)閉數(shù)據(jù)庫
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
3.修改pfile中控制文件參數(shù)
[oracle@ymm dbs]$ vi initorcl.ora
4.復(fù)制控制文件副本
[oracle@ymm control]$ cp control03.ctl control04.ctl --我是在相對路徑下copy的,不需要加路徑
[oracle@ymm control]$ ls
control03.ctl control04.ctl
5.重新生成spfile并啟動數(shù)據(jù)庫
SQL> create spfile from pfile;
File created.
SQL> startup;
ORACLE instance started.
Total System Global Area 730714112 bytes
Fixed Size 2231952 bytes
Variable Size 239075696 bytes
Database Buffers 482344960 bytes
Redo Buffers 7061504 bytes
Database mounted.
Database opened.
6.查看控制文件情況
SQL> show parameter control_files;
NAME TYPE VALUE
-------------------- ----------- ------------------------------
control_files string /u01/app/oracle/oradata/orcl/control01.ctl,
/u01/app/oracle/oradata/orcl/control02.ctl,
/u01/app/oracle/control/control03.ctl,
/u01/app/oracle/control/control04.ctl