RAC環境修改spfile的位置
在RAC下spfile位置的修改與單節點環境不完全一致,有些地方需要特別注意,否則可能修改會失敗。
下面用一個例子說明:SPFILE放在ASM中一個不正確的目錄(+ARCH)中,現在想把它放在另外一個目錄(+DBSYS)下。
以下是具體步驟:
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string +ARCH/dwrac/spfiledwrac.ora
2. 複製spfile到其他目錄
由於在ASM中,不能直接cp,需要透過迂迴的辦法實現。
sys@dwrac2> create pfile='/tmp/pfile.ora' from spfile;
File created.
sys@dwrac2> create spfile='+DBSYS/dwrac/spfiledwrac.ora' from pfile='/tmp/pfile.ora';
File created.
3. 修改所有節點$ORACLE_HOME/dbs/init下的引數檔案
[oracle@dwdb04 dbs]$ vi initdwrac2.ora
SPFILE='+ARCH/dwrac/spfiledwrac.ora'
==>
SPFILE='+DBSYS/dwrac/spfiledwrac.ora'
4. 透過sqlplus方式重啟例項
sys@dwrac2> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
sys@dwrac2> startup
ORACLE instance started.
Total System Global Area 5.2429E+10 bytes
Fixed Size 2193872 bytes
Variable Size 3707766320 bytes
Database Buffers 4.8671E+10 bytes
Redo Buffers 48136192 bytes
Database mounted.
Database opened.
sys@dwrac2> show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string +DBSYS/dwrac/spfiledwrac.ora
可以發現,spfile已經修改成功。
5. 但是如果用過srvctl重啟資料庫,發現spfile又變回來了:
[oracle@dwdb02 dbs]$ srvctl stop instance -d dwrac -i dwrac1,dwrac2,dwrac3,dwrac4
[oracle@dwdb02 dbs]$ srvctl start instance -d dwrac -i dwrac1,dwrac2,dwrac3,dwrac4
[oracle@dwdb02 dbs]$ sqlplus "/as sysdba"
sys@dwrac2> show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string +ARCH/dwrac/spfiledwrac.ora
6. 原因及解決
這是為什麼呢?實際上在RAC環境中,我們更多時候是用srvctl來管理RAC資源,而srvctl的資訊來自ocr,包括spfile的位置資訊。我們剛才那樣做雖然修改了引數檔案的位置,但是ocr並不知道,它還用原來的檔案啟動資料庫。
我們可以用srvctl檢視資料庫的配置資訊來確認:
[oracle@dwdb01 dbs]$ srvctl config database -d dwrac -a
dwdb01 dwrac1 /oracle/product/10.2.0/db
dwdb02 dwrac2 /oracle/product/10.2.0/db
dwdb03 dwrac3 /oracle/product/10.2.0/db
dwdb04 dwrac4 /oracle/product/10.2.0/db
DB_UNIQUE_NAME: dwrac
DB_NAME: dwrac
ORACLE_HOME: /oracle/product/10.2.0/db
SPFILE: +ARCH/dwrac/spfiledwrac.ora
DOMAIN: null
DB_ROLE: null
START_OPTIONS: null
POLICY: AUTOMATIC
ENABLE FLAG: DB ENABLED
可以看到,SPFILE的位置指向是+ARCH。解決方法是透過srvctl修改SPFILE的位置。
[oracle@dwdb01 dbs]$ srvctl modify database -d dwrac -p '+DBSYS/dwrac/spfiledwrac.ora'
[oracle@dwdb01 dbs]$ srvctl config database -d dwrac -a
dwdb01 dwrac1 /oracle/product/10.2.0/db
dwdb02 dwrac2 /oracle/product/10.2.0/db
dwdb03 dwrac3 /oracle/product/10.2.0/db
dwdb04 dwrac4 /oracle/product/10.2.0/db
DB_UNIQUE_NAME: dwrac
DB_NAME: dwrac
ORACLE_HOME: /oracle/product/10.2.0/db
SPFILE: +DBSYS/dwrac/spfiledwrac.ora
DOMAIN: null
DB_ROLE: null
START_OPTIONS: null
POLICY: AUTOMATIC
ENABLE FLAG: DB ENABLED
[oracle@dwdb01 dbs]$ srvctl stop database -d dwrac
[oracle@dwdb01 dbs]$ srvctl start database -d dwrac
sys@dwrac2> show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string +DBSYS/dwrac/spfiledwrac.ora
可以看到,此時Oracle是用新的spfile啟動的。
總結一下,在RAC環境下修改spfile:
1. 需要修改$ORACLE_HOME/dbs下的相關檔案,指向新檔案
2. 需要用srvctl修改config資訊,指向新檔案
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/231499/viewspace-1044056/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle RAC修改引數檔案位置Oracle
- Oracle RAC 環境下的連線管理Oracle
- KingbaseES RAC部署案例之---SAN環境構建RAC
- 配置conda建立環境存放位置
- 手工清理19c RAC環境
- RAC環境下建立物理DATAGUARD(1)
- RAC環境下建立物理DATAGUARD(2)
- RAC和ASM環境下打patchASM
- RAC環境下的SEQUENCE對應用的影響
- 如何在rac環境中增加監聽
- Mac 設定環境變數的位置、檢視和新增PATH環境變數Mac變數
- oracle 11G RAC的建立(VM虛擬環境)Oracle
- Oracle RAC環境下ASM磁碟組擴容OracleASM
- Oracle 11.2.0.4 rac for aix acfs異常環境的克隆環境ASM磁碟組掛載緩慢OracleAIASM
- 用conda建立的虛擬環境所在位置
- docker 修改執行容器環境變數,如何修改容器中的環境變數env使長期有效Docker變數
- Oracle RAC 環境 引數檔案的啟動順序Oracle
- Oracle RAC環境新增新的network和listener(未完成)Oracle
- RAC修改IP地址
- 【RAC】Oracle RAC如何修改心跳網路Oracle
- ORACLE 12C RAC 生產環境搭建介紹Oracle
- Oracle RAC一鍵部署001(主機環境校驗)Oracle
- 【RAC】Oracle rac 如何修改公網及vipOracle
- threeJs 修改TransformControls的顯示位置JSORM
- 如何修改rac的系統時間
- 超大記憶體環境下的Oracle RAC引數設定建議記憶體Oracle
- win10環境變數設定怎麼編輯 win10設定環境變數的位置在哪Win10變數
- 修改docker的預設儲存位置及映象儲存位置Docker
- 修改docker映象儲存位置的方法Docker
- Oracle 12cR1 RAC叢集安裝(一)--環境準備Oracle
- DM8 配置DMDSC主備環境(rac到單節點 )
- Oracle RAC修改Scan IP,Public IP的方法Oracle
- Linux:修改系統 php 預設環境變數LinuxPHP變數
- 在Linux下檢視和修改環境變數Linux變數
- Podman修改 image儲存位置
- 【RAC】Oracle rac修改IP地址及埠號命令參考Oracle
- CentOS(7.6)環境下遷移Mysql(5.7)的data目錄到指定位置CentOSMySql
- 通過ORACLE VM virtualbox環境安裝oracle 11G RAC(ASM)OracleASM