您好,登錄后才能下訂單哦!
這篇文章主要介紹“Oracle修改控制文件路徑的方法”,在日常操作中,相信很多人在Oracle修改控制文件路徑的方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Oracle修改控制文件路徑的方法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
控制文件----二進制文件,在數據庫啟動和數據庫運行中有著巨大的作用
參數文件----pfile 可文本編輯
spfile 二進制文件,不可文本編輯
下面介紹兩種修改控制文件兩種方法
################ 1 #####################
如果在startup里指定了pfile=''的話,Oracle將從你指定的文件作為啟動參數文件,如果是沒有指定pfile的話,Oracle會先去默認目錄($ORACLE_HOME/)下找spfileSID.ora,如果沒有找到,則找spfile.ora,如果還是沒有,找initSID.ora,這個就是以前的靜態參數文件了,如果沒有則找init.ora;如果沒有找到的話,這時候,啟動就會有,找不到參數文件的錯誤,同時會動態注冊實例名到監聽服務里。
把對應的controlfile移動到目標路徑下,由于control01.ctl的路徑沒有發生變動所以mv:提示不影響操作
[oracle@sink dbs]$ mv /u01/app/oracle/oradata/sink/control01.ctl /u01/app/oracle/oradata/sink/control01.ctl
mv: `/u01/app/oracle/oradata/sink/control01.ctl' and `/u01/app/oracle/oradata/sink/control01.ctl' are the same file
[oracle@sink dbs]$ mv /u01/app/oracle/fast_recovery_area/sink/control02.ctl /u01/app/oracle/oradata/sink/control02.ctl
一定要先關閉數據庫之后才移動控制文件,不然會后面會出一系列錯誤
13:35:03 SYS @ sink >shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
13:36:03 SYS @ sink >
到$ORACLE_HOME/dbs路徑下vim編輯控制文件路徑 然后 :wq 保存退出(w 保存 q 退出 q! 強制退出)
[oracle@sink dbs]$ pwd
/u01/app/oracle/product/11.2.0/dbhome_1/dbs
[oracle@sink dbs]$ vim initsink.ora
*.audit_file_dest='/u01/app/oracle/admin/sink/adump'
*.audit_trail='db'
*.compatible='11.2.0.4.0'
*.control_files='/u01/app/oracle/oradata/sink/control01.ctl','/u01/app/oracle/oradata/sink/control02.ctl'
*.db_block_size=8192
*.db_create_file_dest='+DATA'
剛我們修改了pfile但是spfile還沒有改動,所以先指定使用pfile啟動數據庫
13:41:29 SYS @ sink >startup pfile=$ORACLE_HOME/dbs/initsink.ora
ORACLE instance started.
Total System Global Area 835104768 bytes
Fixed Size 2257840 bytes
Variable Size 553651280 bytes
Database Buffers 276824064 bytes
Redo Buffers 2371584 bytes
Database mounted.
Database opened.
13:42:13 SYS @ sink >
查看此時的controlifle的路徑信息,好了,沒錯,那么這么pifle是成功的
13:42:13 SYS @ sink >col name for a55
13:43:50 SYS @ sink >select name from v$controlfile;
NAME
-------------------------------------------------------
/u01/app/oracle/oradata/sink/control01.ctl
/u01/app/oracle/oradata/sink/control02.ctl
2 rows selected.
Elapsed: 00:00:00.00
13:44:01 SYS @ sink >
用pfile生成spifle,因為pfile成功了,但是spifle還沒有被修改,還沒有生效,默認以spfile啟動,所以此操作合理
13:44:01 SYS @ sink >create spfile from pfile;
File created.
Elapsed: 00:00:00.02
13:46:59 SYS @ sink >
PS : 如果數據庫以spfile啟動,然后你在執行 create spfile from pfile 則會報錯 ORA-32002: cannot create SPFILE already being used by the instance |
數據庫正常關閉,然后,startup 不指定任何參數而數據庫又存在spfile,所以oracle 默認 以 spfile啟動
13:46:59 SYS @ sink >shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
13:52:08 SYS @ sink >startup
ORACLE instance started.
Total System Global Area 835104768 bytes
Fixed Size 2257840 bytes
Variable Size 553651280 bytes
Database Buffers 276824064 bytes
Redo Buffers 2371584 bytes
Database mounted.
Database opened.
13:52:22 SYS @ sink >
啟動后,查詢控制文件路徑,發現成功轉移,故修改控制文件路徑成功
13:52:22 SYS @ sink >select name from v$controlfile;
NAME
-------------------------------------------------------
/u01/app/oracle/oradata/sink/control01.ctl
/u01/app/oracle/oradata/sink/control02.ctl
2 rows selected.
Elapsed: 00:00:00.00
13:53:51 SYS @ sink >
到此,關于“Oracle修改控制文件路徑的方法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。