溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle RAC修改參數文件位置

發布時間:2020-08-07 02:38:24 來源:ITPUB博客 閱讀:326 作者:chenoracle 欄目:關系型數據庫

目的:

將參數文件原位置+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",共同學習,共同成長?。?!

Oracle RAC修改參數文件位置

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女