Oracle RAC修改引數檔案位置
目的:
將引數檔案原位置+DATA/cjcdb/spfilecjcdb.ora修改到+DATA/cjcdb/spfile/spfilecjcdb.ora
步驟如下:
一:臨時位置生成pfile 注意:RAC環境下嚴禁使用create pfile from spfile;會覆蓋預設位置下pfile內容。 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' 五:重啟資料庫生效 逐個節點重啟或同時重啟都可以,根據是否可以停機來定 [oracle@rac01 dbs]$ srvctl stop database -d cjcdb [oracle@rac01 dbs]$ srvctl start database -d cjcdb
實驗過程如下:
節點一,節點二
檢視當前spfile位置
SQL> show parameter spfile NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ spfile string +DATA/cjcdb/spfilecjcdb.ora
檢視當前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
建立新位置
[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為新位置(節點一、節點二)
[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
重啟資料庫
[oracle@rac01 dbs]$ srvctl stop database -d cjcdb [oracle@rac01 dbs]$ srvctl start database -d cjcdb
檢視spfile引數值
[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
參見問題:
問題一:需要執行srvctl modify修改ocr中引數檔案位置,否則通過srvctl重啟資料庫後,引數檔案位置不變。 例如: 重啟資料庫 節點一和節點二
SQL> Shutdown immeidate SQL> startup
通過show parameter方式檢視spfile位置已經修改成功
SQL> show parameter spfile NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ spfile string +DATA/cjcdb/spfile/spfilecjcdb.ora
通過 srvctl config 命令檢視引數檔案位置修改失敗
[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重啟資料庫
[root@rac01 bin]# ./srvctl stop database -d cjcdb [root@rac01 bin]# ./srvctl start database -d cjcdb
引數檔案位置完全變為原值
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
問題二:兩個節點spfile位置不一致
例如 例項一spfile在ASM磁碟組內,例項二spfile在本地檔案系統上($ORACLE_HOME/dbs) 可以在例項二上建立新的pfile,將ASM上spfile位置寫入到新pfile內,重啟例項。
[oracle@rac02 dbs]$ vim initcjcdb2.ora ###SPFILE='+DATA/cjcdb/spfilecjcdb.ora' SPFILE='+DATA/cjcdb/spfile/spfilecjcdb.ora'
歡迎關注我的微信公眾號"IT小Chen",共同學習,共同成長!!!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29785807/viewspace-2702577/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle RAC引數檔案管理Oracle
- Oracle 11g RAC修改靜態引數Oracle
- Oracle 引數檔案Oracle
- Unix環境和Windows環境下Oracle引數檔案位置:WindowsOracle
- Oracle引數檔案解析——引數檔案分析獲取Oracle
- Oracle引數檔案解析——引數解析Oracle
- 11gR2修改Grid軟體ASM例項引數檔案位置ASM
- Oracle RAC 環境 引數檔案的啟動順序Oracle
- 請教windows下引數檔案的位置Windows
- oracle11gR2 asm引數檔案的內容和位置OracleASM
- oracle的引數檔案Oracle
- Oracle 引數檔案(轉)Oracle
- oracle 修改資料檔案位置(路徑)(移動)Oracle
- Oracle引數檔案 各引數解釋Oracle
- ORACLE 11.2 RAC修改資料庫靜態引數Oracle資料庫
- Oracle引數檔案基礎Oracle
- oracle 關於--引數檔案Oracle
- oracle引數檔案pfile,spfileOracle
- 重新建立控制檔案,修改MAXDATAFILES引數
- 更改Oracle檔案位置Oracle
- oracle控制檔案及引數檔案問題Oracle
- Oracle 引數檔案(spfile和pfile)Oracle
- 修改pfile引數檔案過程的異常
- Oracle引數修改小結Oracle
- [Oracle]由於初始化引數檔案修改錯誤導致oracle無法startupOracle
- RAC中對DB引數檔案的簡單理解
- oracle11g引數檔案配置Oracle
- 部分Oracle 配置檔案引數含義Oracle
- Oracle體系結構-引數檔案Oracle
- Mysql匯入大表檔案時注意修改引數MySql
- oracle rac 核心引數詳解Oracle
- ORACLE RAC SGA引數調整Oracle
- 引數檔案
- 水煮Oracle——《Oracle pfile/spfile引數檔案詳解Oracle
- 引數檔案/口令檔案
- Oracle動態、靜態引數引數修改規則Oracle
- 《深入解析Oracle》第三章,引數及引數檔案Oracle
- Oracle12c多租戶CDB 與 PDB 引數檔案位置探討、查詢 CDB 與 PDB 不同值的引數Oracle