近幾天一直在搗鼓如何更改設定檔的位置,今天終於成功了!真可以說是費了9牛2虎之力啊!
我用的是Oracle 10.2 作期間也參考了幾本書,樹上說很簡單,可是我按照樹上的操作就是改不了。
其實我用的是最最原始的方法,手動修改設定檔來完成的。下面我來介紹一下,我這個最笨的方法。
前提條件:要在伺服器上進行操作(當然遠端連線也可以),因為要複製檔案,和修改檔案。
1.以DBA的身份登陸資料庫,conn sys/manager as sysdba;
2.察看當前控制檔案存放的位置,select * from v$controlfile;
3.關閉資料庫,shutdown immediate;
4.拷貝現有的控制檔案到制定的路徑下,比如e:\oraControlFile,host copy d:\oracle\product\10.2.0\oradata\ora813\control01.ctl e:\oracontrolfile\control01.ctl;
5.修改初始化參數檔案init.ora,放在Oracle主目錄\product\10.2.0\admin\ora813\pfile下,為了防止出現錯誤,我們複製了一個命名為start.ora,內容和原先的init.ora一樣,我在這個基礎上進行的修改,把控制檔案的配置改為
control_files=(
"D:\oracle\product\10.2.0\oradata\Ora813\control01.ctl",
"D:\oracle\product\10.2.0\oradata\Ora813\control02.ctl",
"D:\oracle\product\10.2.0\oradata\Ora813\control03.ctl",
"E:\OracleControlFile\control01.ctl")
然後儲存退出。
6.啟動資料庫並制定初始化參數檔案 startup pfile="d:\oracle\product\10.2.0\admin\ora813\pfile\start.ora";
這時如果我們以前的操作都沒有問題的話,我們用SELECT * FROM v$controlfile; 顯示的結果是我們想要的,但是別得意,如果這時重啟資料庫的話那我們以前的工作就白費了!我們需要建立一個動態參數檔案Spfile。讓資料庫以後每次啟動都載入它。
7.動態參數檔案spfile是Oracle9i引入的一個二進位檔案,必須由pfile建立,不能手工修改,只能同過oracle服務修改。我們用下面的命令建立spfile
create spfile='d:\oracle\product\10.2.0\db_1\dbs\spfileora813.ora' from pfile='d:\oracle\product\10.2.0\admin\ora813\pfile\start.ora';
這裡我要說明一下為什麼spfile的檔案名稱是“spfileora813.ora”,因為我資料庫的sid是ora813資料庫啟動時會按照spfile{sid}.ora搜尋。
8.spfile建立完了,我們的操作也就結束了。這時我們如果重新啟動資料庫,在察看控制檔案的話結果就是我們預想的了!
雖然只有這簡單的幾步,但是我卻搗鼓了好幾天,萬事開頭難嘛!(總得為自己的笨找點借口)我相信以後就可以不用這麼費事了!越來越熟悉了嘛!嘿嘿.
經過這次修改控制檔案我覺得DBA是個要求心非常細的活,每一步都要很細心!