ORACLE CRS 狀態 UNKNOWN 變為offline
CRS: Resource in UNKNOWN state and SRVCTL Cannot Start the Resource
Information in this document applies to any platform.
When the resource state is UNKNOWN, srvctl cannot start or stop the resource. It fails with the following errors:
After the failed srvctl command, the crsd.log will show an error:
Even running srvctl status on the resource can error:
These errors are all due to the resource state of UNKNOWN.
Any CRS resource can be in an UNKNOWN state, including vip, gsd, database, or instances. The following uses an instance resource as an example.
1. Find the proper name for your instance resource. To find it, do "crs_stat -u | grep inst", this will give the names of all instance resources in the OCR.
Pick the instance associated with the node and database in question.
For example, for a database named prod and instance named prod1, the resource name will be "ora.prod.prod1.inst".
2. Before you go any further, make sure that you have a recent backup of your OCR.
You can check on your OCR automatic backups with the command "ocrconfig -showbackup":
If no backup exists, then create one using ocrconfig -export, following the instructions in the documentation:
3. Restore the instance resource to OFFLINE with this command:
crs_stop [instance resource name]
eg:
4. Check that instance status is now OFFLINE instead of UNKNOWN
5. If the instance status is OFFLINE, then you can try again to start it with srvctl.
6. If the startup fails again, then open a SR and provide Oracle Support with the following information:
a) Gather a trace by using the following script.
(Replace "ora.prod.prod1.inst" with the name of your actual instance resource; replace prod with the name of your database and prod1 with the name of your instance).
The trace log will be found in /tmp/trace1.out.
b) latest crsd.log from this node
c) the resource log for this instance from $CRS_HOME/log/<>/racg
d) ls -l of $ORACLE_HOME/log/<>/racg
In this Document
Applies to:
Oracle Server - Enterprise Edition - Version: 10.2.0.1 to 11.1.0.7 - Release: 10.2 to 11.1Information in this document applies to any platform.
Goal
A resource status is showing as UNKNOWN in crs_stat -t output :$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....d1.inst application ONLINE UNKNOWN <<<ora....d2.inst application ONLINE ONLINE stella2
ora.prod.db application ONLINE ONLINE stella2
ora....od1.srv application OFFLINE OFFLINE
...
Name Type Target State Host
------------------------------------------------------------
ora....d1.inst application ONLINE UNKNOWN <<<ora....d2.inst application ONLINE ONLINE stella2
ora.prod.db application ONLINE ONLINE stella2
ora....od1.srv application OFFLINE OFFLINE
...
When the resource state is UNKNOWN, srvctl cannot start or stop the resource. It fails with the following errors:
$ srvctl start instance -d prod-i prod1
PRKP-1001 : Error starting instance prod1 on node oradb1
CRS-1028: Dependency analysis failed because of:
CRS-0223: Resource 'ora.prod.prod1.inst' has placement error.
PRKP-1001 : Error starting instance prod1 on node oradb1
CRS-1028: Dependency analysis failed because of:
CRS-0223: Resource 'ora.prod.prod1.inst' has placement error.
After the failed srvctl command, the crsd.log will show an error:
Human intervention required to resume its availability.
Even running srvctl status on the resource can error:
$ srvctl status database -d prod
PRKO-2015 : Error in checking condition of instance on node: oradb1
PRKO-2015 : Error in checking condition of instance on node: oradb2
PRKO-2015 : Error in checking condition of instance on node: oradb1
PRKO-2015 : Error in checking condition of instance on node: oradb2
These errors are all due to the resource state of UNKNOWN.
Solution
The UNKNOWN state can often be resolved by bringing the resource offline using crs_stop.Note: crs_stop and crs_start are NOT supported for use on ora.* resources, unless you are explicitly instructed to use them by an Oracle support analyst, or following this note's steps EXACTLY.
Improper use of crs_stop and crs_start can corrupt your OCR.
Improper use of crs_stop and crs_start can corrupt your OCR.
Any CRS resource can be in an UNKNOWN state, including vip, gsd, database, or instances. The following uses an instance resource as an example.
1. Find the proper name for your instance resource. To find it, do "crs_stat -u | grep inst", this will give the names of all instance resources in the OCR.
$ crs_stat -u | grep inst
NAME=ora.V102.V1021.inst
NAME=ora.V102.V1022.inst
NAME=ora.prod.prod1.inst
NAME=ora.prod.prod2.inst
NAME=ora.V102.V1021.inst
NAME=ora.V102.V1022.inst
NAME=ora.prod.prod1.inst
NAME=ora.prod.prod2.inst
Pick the instance associated with the node and database in question.
For example, for a database named prod and instance named prod1, the resource name will be "ora.prod.prod1.inst".
2. Before you go any further, make sure that you have a recent backup of your OCR.
You can check on your OCR automatic backups with the command "ocrconfig -showbackup":
$ ocrconfig -showbackup
oradb1 2009/06/19 07:35:28 /u01/app/oracle/product/10gR2/crs/cdata/temp
oradb1 2009/06/19 03:35:26 /u01/app/oracle/product/10gR2/crs/cdata/temp
oradb1 2009/06/18 23:35:25 /u01/app/oracle/product/10gR2/crs/cdata/temp
oradb1 2009/06/18 03:35:20 /u01/app/oracle/product/10gR2/crs/cdata/temp
oradb1 2009/06/02 07:01:26 /u01/app/oracle/product/10gR2/crs/cdata/temp
oradb1 2009/06/19 07:35:28 /u01/app/oracle/product/10gR2/crs/cdata/temp
oradb1 2009/06/19 03:35:26 /u01/app/oracle/product/10gR2/crs/cdata/temp
oradb1 2009/06/18 23:35:25 /u01/app/oracle/product/10gR2/crs/cdata/temp
oradb1 2009/06/18 03:35:20 /u01/app/oracle/product/10gR2/crs/cdata/temp
oradb1 2009/06/02 07:01:26 /u01/app/oracle/product/10gR2/crs/cdata/temp
If no backup exists, then create one using ocrconfig -export, following the instructions in the documentation:
3. Restore the instance resource to OFFLINE with this command:
crs_stop [instance resource name]
eg:
$ crs_stop ora.prod.prod1.inst
Note: if the instance is online then this command will stop it.
4. Check that instance status is now OFFLINE instead of UNKNOWN
$ crs_stat -u ora.prod.prod1.inst
NAME=ora.prod.prod1.inst
TYPE=application
TARGET=OFFLINE
STATE=OFFLINE
NAME=ora.prod.prod1.inst
TYPE=application
TARGET=OFFLINE
STATE=OFFLINE
5. If the instance status is OFFLINE, then you can try again to start it with srvctl.
6. If the startup fails again, then open a SR and provide Oracle Support with the following information:
a) Gather a trace by using the following script.
script. /tmp/trace1.out
env
crs_stat -u ora.prod.prod1.inst
crs_stop ora.prod.prod1.inst
crs_stat -u ora.prod.prod1.inst
export SRVM_TRACE=TRUE
srvctl start instance -d prod -i prod1
export SRVM_TRACE=
crs_stat -u ora.prod.prod1.inst
exit
env
crs_stat -u ora.prod.prod1.inst
crs_stop ora.prod.prod1.inst
crs_stat -u ora.prod.prod1.inst
export SRVM_TRACE=TRUE
srvctl start instance -d prod -i prod1
export SRVM_TRACE=
crs_stat -u ora.prod.prod1.inst
exit
(Replace "ora.prod.prod1.inst" with the name of your actual instance resource; replace prod with the name of your database and prod1 with the name of your instance).
The trace log will be found in /tmp/trace1.out.
b) latest crsd.log from this node
c) the resource log for this instance from $CRS_HOME/log/<>/racg
d) ls -l of $ORACLE_HOME/log/<>/racg
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7199859/viewspace-710137/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- CRS-4124: Oracle High Availability Services startup failed. CRS-4000OracleAI
- PostgreSQL狀態變遷SQL
- 狀態變化模式模式
- Oracle buffer狀態深入剖析Oracle
- Oracle SCN健康狀態檢查Oracle
- React專題:可變狀態React
- 替換OCR和表決磁碟後,重啟叢集,資料庫資源的叢集狀態為OFFLINE資料庫
- ORACLE job作業BROKEN狀態無法改變與ORA-12005&ORA-06550Oracle
- 用設計模式去掉沒必要的狀態變數 —— 狀態模式設計模式變數
- win10怎麼把狀態列變透明_win10狀態列變透明方法Win10
- 多級稽核狀態的變更
- 獲取Mysql的狀態、變數MySql變數
- oracle RAC 診斷叢集狀態命令Oracle
- Oracle DG資料庫狀態轉換Oracle資料庫
- ORACLE CRS日誌中的ClssnmPollingThread Missed Checkins MessagesOraclethread
- CRS-4124: Oracle High Availability Services startup failed.OracleAI
- CRS Resource Introduction In Oracle 19c RAC-20220125Oracle
- Oracle Linux 6.7中 Oracle 11.2.0.4 RAC叢集CRS異常處理OracleLinux
- Oracle DG 管理Broker配置成員的狀態Oracle
- 讓 Promise 的狀態變成可控的Promise
- 行為型模式:狀態模式模式
- 11G oracle資料庫重新啟動crsOracle資料庫
- 在redhat7系統上為Oracle11g資料庫打PSU報CRS-4124 CRS-4000錯誤分析與追蹤RedhatOracle資料庫
- oracle rac的scan監聽狀態Not All Endpoints RegisteredOracle
- Linux下共享VG改變活動狀態Linux
- Zustand 讓 React 狀態變得太簡單React
- 2020DevOps狀態報告——變更管理dev
- 使用列舉實現狀態機來優雅你的狀態變更邏輯
- Flutter改變狀態列字型、狀態列背景顏色、Appbar背景顏色的方式FlutterAPP
- elementui 如果變數為1 顯示 開啟,2顯示關閉。表格怎麼根據狀態碼顯示狀態值UI變數
- 聊聊Oracle表空間Offline的三種引數(上)Oracle
- 聊聊Oracle表空間Offline的三種引數(中)Oracle
- 聊聊Oracle表空間Offline的三種引數(下)Oracle
- SAP BSP應用有狀態和無狀態行為差異比較
- 事件溯源:是來自事件的狀態與作為狀態的事件? - verraes事件
- 恢復oracle的scott使用者初始狀態操作Oracle
- 執行緒的6種狀態以及轉變執行緒
- HarmonyOS 實踐之應用狀態變數共享變數
- C++ 接受狀態變數的lambda表示式C++變數