您好,登錄后才能下訂單哦!
目的:
將參數(shù)文件原位置+DATA/cjcdb/spfilecjcdb.ora修改到+DATA/cjcdb/spfile/spfilecjcdb.ora
步驟如下:
一:臨時位置生成pfile 注意:RAC環(huán)境下嚴(yán)禁使用create pfile from spfile;會覆蓋默認(rèn)位置下pfile內(nèi)容。 SQL> create pfile='/tmp/pfilexxx.ora' from spfile; 二:新位置重新生成spfile 注意:pfile和spfile都需要指定目錄, SQL> create spfile='+DATA/cjcdb/spfile/spfilecjcdb.ora' from pfile='/tmp/pfilexxx.ora'; 三: 修改pfile中spfile位置 [oracle@rac01 dbs]$ vim initcjcdb1.ora ###SPFILE='+DATA/cjcdb/spfilecjcdb.ora' SPFILE='+DATA/cjcdb/spfile/spfilecjcdb.ora' 四:修改OCR中spfile位置 [oracle@rac01 dbs]$ srvctl modify database -d cjcdb -p '+DATA/cjcdb/spfile/spfilecjcdb.ora' 五:重啟數(shù)據(jù)庫生效 逐個節(jié)點重啟或同時重啟都可以,根據(jù)是否可以停機來定 [oracle@rac01 dbs]$ srvctl stop database -d cjcdb [oracle@rac01 dbs]$ srvctl start database -d cjcdb
實驗過程如下:
節(jié)點一,節(jié)點二
查看當(dāng)前spfile位置
SQL> show parameter spfile NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ spfile string +DATA/cjcdb/spfilecjcdb.ora
查看當(dāng)前spfile位置
[oracle@rac01 ~]$ srvctl config database -d cjcdb -a Database unique name: cjcdb Database name: cjcdb Oracle home: /u01/app/oracle/product/11.2.0/db_1 Oracle user: oracle Spfile: +DATA/cjcdb/spfilecjcdb.ora Domain: Start options: open Stop options: immediate Database role: PRIMARY Management policy: AUTOMATIC Server pools: cjcdb Database instances: cjcdb1,cjcdb2 Disk Groups: DATA Mount point paths: Services: Type: RAC Database is enabled Database is administrator managed
創(chuàng)建新位置
[root@rac01 ~]# su - grid [grid@rac01 ~]$ asmcmd ASMCMD> lsdg State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name MOUNTED EXTERN N 512 4096 1048576 10240 9974 0 9974 0 N ARCH/ MOUNTED EXTERN N 512 4096 1048576 20480 18689 0 18689 0 N DATA/ MOUNTED NORMAL N 512 4096 1048576 6144 5218 2048 1585 0 Y OCR/
ASMCMD> cd data/cjcdb ASMCMD> mkdir spfile ASMCMD> cd spfile ASMCMD> pwd +data/cjcdb/spfile
新位置重新生成spfile
SQL> create pfile='/tmp/pfilexxx.ora' from spfile; SQL> create spfile='+DATA/cjcdb/spfile/spfilecjcdb.ora' from pfile='/tmp/pfilexxx.ora';
修改pfile中spfile為新位置(節(jié)點一、節(jié)點二)
[oracle@rac01 ~]$ cd $ORACLE_HOME/dbs [oracle@rac01 dbs]$ cp initcjcdb1.ora initcjcdb1.ora.bak [oracle@rac01 dbs]$ vim initcjcdb1.ora ###SPFILE='+DATA/cjcdb/spfilecjcdb.ora' SPFILE='+DATA/cjcdb/spfile/spfilecjcdb.ora'
[oracle@rac02 ~]$ cd $ORACLE_HOME/dbs [oracle@rac02 dbs]$ cp initcjcdb2.ora initcjcdb2.ora.bak [oracle@rac02 dbs]$ vim initcjcdb2.ora ###SPFILE='+DATA/cjcdb/spfilecjcdb.ora' SPFILE='+DATA/cjcdb/spfile/spfilecjcdb.ora'
修改OCR中記錄的spfile位置
[oracle@rac01 dbs]$ srvctl config database -d cjcdb -a|grep spfile Spfile: +DATA/cjcdb/spfilecjcdb.ora [oracle@rac01 dbs]$ srvctl modify database -d cjcdb -p '+DATA/cjcdb/spfile/spfilecjcdb.ora' [oracle@rac01 dbs]$ srvctl config database -d cjcdb -a|grep spfile Spfile: +DATA/cjcdb/spfile/spfilecjcdb.ora
重啟數(shù)據(jù)庫
[oracle@rac01 dbs]$ srvctl stop database -d cjcdb [oracle@rac01 dbs]$ srvctl start database -d cjcdb
查看spfile參數(shù)值
[oracle@rac01 dbs]$ srvctl config database -d cjcdb -a|grep spfile Spfile: +DATA/cjcdb/spfile/spfilecjcdb.ora SQL> show parameter spfile NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ spfile string +DATA/cjcdb/spfile/spfilecjcdb.ora
參見問題:
問題一:需要執(zhí)行srvctl modify修改ocr中參數(shù)文件位置,否則通過srvctl重啟數(shù)據(jù)庫后,參數(shù)文件位置不變。 例如: 重啟數(shù)據(jù)庫 節(jié)點一和節(jié)點二
SQL> Shutdown immeidate SQL> startup
通過show parameter方式查看spfile位置已經(jīng)修改成功
SQL> show parameter spfile NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ spfile string +DATA/cjcdb/spfile/spfilecjcdb.ora
通過 srvctl config 命令查看參數(shù)文件位置修改失敗
[oracle@rac01 dbs]$ srvctl config database -d cjcdb -a Database unique name: cjcdb Database name: cjcdb Oracle home: /u01/app/oracle/product/11.2.0/db_1 Oracle user: oracle Spfile: +DATA/cjcdb/spfilecjcdb.ora Domain: Start options: open Stop options: immediate Database role: PRIMARY Management policy: AUTOMATIC Server pools: cjcdb Database instances: cjcdb1,cjcdb2 Disk Groups: DATA Mount point paths: Services: Type: RAC Database is enabled Database is administrator managed
通過srvctl重啟數(shù)據(jù)庫
[root@rac01 bin]# ./srvctl stop database -d cjcdb [root@rac01 bin]# ./srvctl start database -d cjcdb
參數(shù)文件位置完全變?yōu)樵?/span>
SQL> show parameter spfile NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ spfile string +DATA/cjcdb/spfilecjcdb.ora
查看pfile里修改的值也變回原值
[oracle@rac01 dbs]$ cat initcjcdb1.ora ###SPFILE='+DATA/cjcdb/spfilecjcdb.ora' SPFILE='+DATA/cjcdb/spfilecjcdb.ora'# line added by Agent
問題二:兩個節(jié)點spfile位置不一致
例如 實例一spfile在ASM磁盤組內(nèi),實例二spfile在本地文件系統(tǒng)上($ORACLE_HOME/dbs) 可以在實例二上創(chuàng)建新的pfile,將ASM上spfile位置寫入到新pfile內(nèi),重啟實例。
[oracle@rac02 dbs]$ vim initcjcdb2.ora ###SPFILE='+DATA/cjcdb/spfilecjcdb.ora' SPFILE='+DATA/cjcdb/spfile/spfilecjcdb.ora'
歡迎關(guān)注我的微信公眾號"IT小Chen",共同學(xué)習(xí),共同成長?。?!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。