雖然很多地方不建議這麼做,可是有HA、oracle軟體建在本地盤的情況下,如果spfile放在dbs下,會導緻每次修改spfile都要去手動copy到備機上,這是很麻煩的一件事情,是以我把spflie放在随ha切換的存儲磁盤上。
1. 首先不能使用alter system set spfile的方式去指定:
SQL> alter system set spfile = 'd:\spfilemaojun.ora
alter system set spfile = 'd:\spfilemaojun.ora'
*
第 1 行出現錯誤:
ORA-32017: 更新 SPFILE 時失敗
ORA-32019: 在伺服器參數檔案中不能更新參數 SPFILE。
2. 方法:Oracle不允許直接修改預設spfile的位置,變通方法通過pfile去找spfile。
(1)create pfile from spfile;
(2) shutdown immediate;
(3) 移動spfile到需要的位置
(4) 修改$ORACLE/dbs下的pfile,增加spfile='/xxx/spfilesid.ora' 參數,這個時候該pfile的作用其實就隻是指定spfile的位置,你可以把該pfile下的其他所有行删除或者注釋掉
(5)startup
(6)SQL> select isspecified,count(*) from v$spparameter group by isspecified;
ISSPEC COUNT(*)
------ ----------
TRUE 20
FALSE 322
isspecified有true的就是spfile起庫了
這時 show parameter spfile也可以看到相應參數