Oracle 11g RAC OCR 與 db_unique_name 配置關係 說明

來源:互聯網
上載者:User

一. 問題一

在做RAC standby 的alert log裡發現如下錯誤: 

SUCCESS: diskgroup DATA was mounted

ERROR: failed toestablish dependency between database dave_st and diskgroup resourceora.DATA.dg

SUCCESS: diskgroup FRA was mounted

ERROR: failed toestablish dependency between database dave_st and diskgroup resource ora.FRA.dg 

資料庫的執行個體名本來是dave,因為做成RAC standby,所以資料庫的db_unique_name 就改成了dave_st。 這個在單一實例是沒有什麼問題,但RAC 的db_unique_name 也會註冊到OCR中。 

因此對於RAC 的standby,除了要修改資料庫的db_unique_name ,還需要修改OCR中,我這裡的案例是我原來的RAC 環境已經搭建好的情況,如果是新搭建的環境,就不會出現這種問題了。 

二. 問題二 

原來的db_unique_name 是dave,後來改成了dave_st。 然後RAC 節點的pfile,就會自動被修改,即使我們修改成dave_st, 在我們使用srvctl start 來啟動資料庫時,就會自動改成dave,導致不能啟動,當然,手工修改之後,在進sqlplus,是可以正常啟動,但是用srvctl 檢查狀態還是未啟動。 

這也是為什麼在RAC 環境下推薦使用srvctl 來啟動和關閉資料庫,而 不是直接使用sqlplus來操作的原因。 

[Oracle@rac2 dbs]$ cat initdave2.ora

SPFILE='+DATA/dave/spfiledave.ora' # line added by Agent 

這樣導致啟動時找不到開機檔案而報錯,如下:

[oracle@rac1 dbs]$ srvctl start database -ddave

PRCR-1079 : Failed to start resourceora.dave.db

CRS-5017: The resource action"ora.dave.db start" encountered the following error:

ORA-01078: failure in processing systemparameters

ORA-01565: error inidentifying file '+DATA/dave/spfiledave.ora'

ORA-17503: ksfdopn:2Failed to open file +DATA/dave/spfiledave.ora

ORA-15056: additional error message

ORA-17503: ksfdopn:2 Failed to open file+DATA/dave/spfiledave.ora 

三.解決方案 

上面的2個問題,都是因為OCR中資料庫的配置出現了問題。 

--查看當前配置:

[grid@rac1 ~]$ srvctl config database -ddave

Database unique name:dave

Database name: dave

Oracle home: /u01/app/oracle/11.2.0/db_1

Oracle user: oracle

Spfile:+DATA/dave/spfiledave.ora

Domain:

Start options: open

Stop options: immediate

Database role: PRIMARY

Management policy: AUTOMATIC

Server pools: dave

Database instances:dave1,dave2

Disk Groups: DATA,FRA

Mount point paths:

Services:

Type: RAC

Database is administrator managed

[grid@rac1 ~]$ 

我們這裡將db_unique_name 修改成dave_st. 不過不能直接修改,需要先將資料庫remove掉,在修改。 

這裡要用oracle使用者操作,不然可能會出現許可權問題,導致資料庫不能啟動。 

[oracle@rac1 ~]$ srvctl remove database -d dave 

[oracle@rac1 ~]$ srvctlconfig database -d dave_st

Database unique name:dave_st

Database name: dave

Oracle home: /u01/app/oracle/11.2.0/db_1

Oracle user: oracle

Spfile:

Domain:

Start options: open

Stop options: immediate

Database role: PRIMARY

Management policy: AUTOMATIC

Server pools: dave_st

Database instances:

Disk Groups:

Mount point paths:

Services:

Type: RAC

Database is administrator managed

[oracle@rac1 ~]$ 

--修改資料庫的其他資源:

[oracle@rac1 ~]$ srvctl modify database -d dave_st -a DATA,FRA

[oracle@rac1 ~]$ srvctl add instance -d dave_st -i dave1 -n rac1

[oracle@rac1 ~]$ srvctl add instance -d dave_st -i dave2 -n rac2

[oracle@rac1 ~]$ srvctl modify database -d dave_st -p +DATA/dave_st/spfiledave.ora 

最終結果如下:

[oracle@rac1 ~]$ srvctl config database -d dave_st

Database unique name:dave_st

Database name: dave

Oracle home: /u01/app/oracle/11.2.0/db_1

Oracle user: oracle

Spfile:+DATA/dave_st/spfiledave.ora

Domain:

Start options: open

Stop options: immediate

Database role: PRIMARY

Management policy: AUTOMATIC

Server pools: dave_st

Database instances:dave1,dave2

Disk Groups: DATA,FRA

Mount point paths:

Services:

Type: RAC

Database is administrator managed 

[oracle@rac1 dbs]$ srvctlstatus database -d dave_st

Instance dave1 is running on node rac1

Instance dave2 is running on node rac2 

--驗證進程狀態:

[grid@rac1 u01]$ crs_stat.sh

Name Target State Host

------------------------------ ------------------- -------

ora.DATA.dg ONLINE ONLINE rac1

ora.FRA.dg ONLINE ONLINE rac1

ora.LISTENER.lsnr ONLINE ONLINE rac1

ora.LISTENER_SCAN1.lsnr ONLINE ONLINE rac1

ora.OCRVOTING.dg ONLINE ONLINE rac1

ora.asm ONLINE ONLINE rac1

ora.cvu OFFLINE OFFLINE

ora.dave_st.db ONLINE ONLINE rac1

ora.gsd OFFLINE OFFLINE

ora.net1.network ONLINE ONLINE rac1

ora.oc4j OFFLINE OFFLINE

ora.ons ONLINE ONLINE rac1

ora.rac1.ASM1.asm ONLINE ONLINE rac1

ora.rac1.LISTENER_RAC1.lsnr ONLINE ONLINE rac1

ora.rac1.gsd OFFLINE OFFLINE

ora.rac1.ons ONLINE ONLINE rac1

ora.rac1.vip ONLINE ONLINE rac1

ora.rac2.ASM2.asm ONLINE ONLINE rac2

ora.rac2.LISTENER_RAC2.lsnr ONLINE ONLINE rac2

ora.rac2.gsd OFFLINE OFFLINE

ora.rac2.ons ONLINE ONLINE rac2

ora.rac2.vip ONLINE ONLINE rac2

ora.registry.acfs ONLINE ONLINE rac1

ora.scan1.vip ONLINE ONLINE rac1

[grid@rac1 u01]$ ls 

通過以上實驗,也可以看出,OCR中的記錄是根據DB_UNIQUE_NAME 來進行判斷的。而非DB_NAME。

Oracle 11g RAC 執行root.sh時遭遇 CRS-0184/PRCR-1070   

Oracle 11g使用deferred_segment_creation 延遲段建立特性時遇到的問題總結

Oracle 11g RAC ASM磁碟全部丟失後的恢複

Oracle 11g新特性:RMAN指令碼中使用替換變數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.