srvctl新增資料庫資訊報錯
碰到一個比較奇怪的現象。使用srvctl命令新增資料庫時出現了錯誤:PRKP-1037 : Failed to create cluster database tradedb.
由於要使用RMAN將產品庫的RAC環境生成本地的RAC測試環境。
首先將兩臺伺服器的RAC環境建立起來,安裝了ORACLE CLUSTERWARE和DATABASE SOFTWARE,由於要透過遠端資料庫的備份生成,因此利用DBCA建立資料庫。透過RMAN將遠端資料庫恢復到本地。
資料庫已經建立完畢,發現ASM和LISTENER也自動新增到了svrctl中。但是資料庫資訊並沒有自動新增進去。
手工執行新增操作:
$ srvctl add db -d tradedb -o /oracle/app/product/10.2/database
PRKP-1037 : Failed to create cluster database tradedb.
檢查了Metalink,發現了很多與這個錯誤相關的bug資訊。而且大部分都沒有解決。本打算放棄。
由於利用Rman恢復之後,資料庫名稱沒有修改。同事將資料庫名稱進行了修改,並重啟資料庫後,再次嘗試srvctl add命令發現居然可以順利的透過了。
$ srvctl add db -d tradedb -o /oracle/app/product/10.2/database
$ srvctl add inst -d pretrade -i prerac1 -n pre1
$ srvctl add inst -d pretrade -i prerac2 -n pre2
資料庫和例項資訊已經成功新增到srvctl中,但是狀態顯示似乎並不正確:
$ srvctl status database -d pretrade
Instance prerac1 is not running on node pre1
Instance prerac2 is not running on node pre2
雖然兩個例項都啟動,但是Oracle並沒有檢測到。執行關閉操作:
$ srvctl stop db -d pretrade
$ ps -ef|grep ora
oracle 22103 1 0 23:26:19 ? 0:01 ora_ckpt_prerac1
oracle 22064 1 0 23:26:18 ? 0:06 ora_lms1_prerac1
.
.
.
oracle 22058 1 0 23:26:18 ? 0:04 ora_lmd0_prerac1
資料庫的並沒有真正關閉,回想起以前碰到過的一個小bug,svrctl對於不是自己進行的開啟、關閉操作並不認識詳細情況參考:http://yangtingkun.itpub.net/post/468/275571
於是嘗試先開啟,再關閉:
$ srvctl start db -d pretrade
$ srvctl stop db -d pretrade
$ ps -ef|grep ora
oracle 20871 1 0 23:25:35 ? 0:00 /oracle/app/product/10.2/database/bin/tnslsnr LISTENER_PRE1 -inherit
oracle 18798 1 0 23:23:15 ? 0:00 sh -c sh -c 'ulimit -c unlimited; cd /oracle/app/product/10.2/crs/log/pre1/evmd
root 18806 1 0 23:23:15 ? 0:11 /oracle/app/product/10.2/crs/bin/crsd.bin reboot
oracle 21959 1 0 23:26:15 ? 0:00 asm_o000_+ASM1
oracle 19749 19158 0 23:24:57 ? 0:00 /oracle/app/product/10.2/crs/bin/evmlogger.bin -o /oracle/app/product/10.2/crs/
oracle 20754 20753 0 23:25:31 ? 0:00 /oracle/app/product/10.2/crs/opmn/bin/ons -d
oracle 8416 7467 0 19:23:38 pts/1 0:00 -sh
oracle 20201 1 0 23:25:11 ? 0:00 asm_psp0_+ASM1
oracle 20254 1 0 23:25:12 ? 0:00 asm_gmon_+ASM1
oracle 19442 19441 0 23:24:47 ? 0:05 /oracle/app/product/10.2/crs/bin/ocssd.bin
oracle 20199 1 0 23:25:11 ? 0:02 asm_diag_+ASM1
oracle 20197 1 0 23:25:11 ? 0:01 asm_pmon_+ASM1
oracle 19441 19440 0 23:24:47 ? 0:00 /bin/sh -c ulimit -c unlimited; cd /oracle/app/product/10.2/crs/log/pre1/cssd;
oracle 24980 24918 0 21:30:34 pts/3 0:00 bash
oracle 24918 15079 0 21:30:32 pts/3 0:00 -sh
root 19310 19259 0 23:24:43 ? 0:00 /oracle/app/product/10.2/crs/bin/oprocd run -t 1000 -m 500 -f
oracle 20207 1 0 23:25:12 ? 0:03 asm_lms0_+ASM1
oracle 16115 16082 0 23:21:34 pts/4 0:00 -sh
oracle 11140 8416 0 22:00:14 pts/1 0:00 bash
oracle 20211 1 0 23:25:12 ? 0:00 asm_mman_+ASM1
oracle 20252 1 0 23:25:12 ? 0:00 asm_rbal_+ASM1
oracle 19158 18798 0 23:24:18 ? 0:02 /oracle/app/product/10.2/crs/bin/evmd.bin
oracle 20213 1 0 23:25:12 ? 0:00 asm_dbw0_+ASM1
oracle 20225 1 0 23:25:12 ? 0:00 asm_lgwr_+ASM1
oracle 20243 1 0 23:25:12 ? 0:00 asm_ckpt_+ASM1
oracle 20551 1 0 23:25:23 ? 0:01 /oracle/app/product/10.2/database/bin/racgimon daemon ora.pre1.ASM1.asm
oracle 20287 1 0 23:25:13 ? 0:01 asm_lck0_+ASM1
oracle 20250 1 0 23:25:12 ? 0:00 asm_smon_+ASM1
oracle 9153 3066 0 23:56:29 pts/4 0:00 grep ora
oracle 20205 1 0 23:25:11 ? 0:03 asm_lmd0_+ASM1
oracle 17810 17749 0 22:44:00 pts/2 0:00 bash
oracle 3066 19185 0 23:52:39 pts/4 0:00 -sh
oracle 20753 1 0 23:25:31 ? 0:00 /oracle/app/product/10.2/crs/opmn/bin/ons -d
oracle 20203 1 0 23:25:11 ? 0:03 asm_lmon_+ASM1
oracle 23627 23536 0 22:08:15 pts/6 0:00 -sh
oracle 23691 23627 0 22:08:17 pts/6 0:00 bash
oracle 9154 9153 0 23:56:29 pts/4 0:00 ps -ef
oracle 17749 14738 0 22:43:57 pts/2 0:00 -sh
oracle 19440 19260 0 23:24:47 ? 0:00 sh -c /bin/sh -c 'ulimit -c unlimited; cd /oracle/app/product/10.2/crs/log/pre1
$ srvctl start db -d pretrade
$ ps -ef|grep ora
oracle 11382 1 0 23:57:54 ? 0:00 ora_diag_prerac1
oracle 11384 1 0 23:57:54 ? 0:00 ora_psp0_prerac1
.
.
.
oracle 11417 1 1 23:57:54 ? 0:03 ora_lmd0_prerac1
oracle 20250 1 0 23:25:12 ? 0:00 asm_smon_+ASM1
oracle 17470 1 1 00:01:48 ? 0:00 ora_m000_prerac1
oracle 11461 1 1 23:57:55 ? 0:01 ora_mmon_prerac1
$ srvctl status database -d pretrade
Instance prerac1 is running on node pre1
Instance prerac2 is running on node pre2
至此,srvctl可以正常工作了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-69445/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SRVCTL 刪除和新增資料庫服務資料庫
- rac 命令 srvctl 報錯
- oracle 10g 如何用srvctl 新增資料庫資源到cluster中Oracle 10g資料庫
- 執行srvctl命令報錯
- 使用srvctl管理RAC資料庫資料庫
- 3.1.1.4 使用 SRVCTL 啟動資料庫資料庫
- 資料庫升級報錯資料庫
- 4.2.11 使用 SRVCTL 建立資料庫服務資料庫
- RAC: SRVCTL and VIPCA 命令報錯解決方法PCA
- 複製資料庫的報錯資料庫
- 大型資料庫資訊排錯一法(轉)資料庫
- srvctl add service 增加資料庫服務例子資料庫
- IndexedDB 資料庫新增資料Index資料庫
- MongoDB資料庫報錯,資料庫檔案丟失資料恢復案例MongoDB資料庫資料恢復
- srvctl stop database超過60秒會abort資料庫Database資料庫
- 用srvctl 命令停止RAC 資料庫某個例項資料庫
- startup資料庫報錯ORA-16038資料庫
- Oracle資料庫配置錯誤資訊解決方法(轉)Oracle資料庫
- 資料庫資訊不能同步到CATALOG,報RMAN-20032 錯誤資料庫
- SQLServer批量新增資料庫SQLServer資料庫
- android sqlite資料庫 新增資料AndroidSQLite資料庫
- mysql建立資料庫報錯了怎麼辦MySql資料庫
- 惡意程式造成資料庫啟動報錯資料庫
- 使用瀚高資料庫hibernate方言報錯資料庫
- 資料庫資料恢復-oracle資料庫報錯無法開啟的如何恢復資料?資料庫資料恢復Oracle
- 配置tsm在格式化資料庫資訊的時候報錯:This database name already exists資料庫Database
- 透過 srvctl來管理單例項11g資料庫單例資料庫
- 資料泵匯入分割槽表統計資訊報錯(七)
- 資料泵匯入分割槽表統計資訊報錯(二)
- 資料泵匯入分割槽表統計資訊報錯(四)
- 資料泵匯入分割槽表統計資訊報錯(三)
- 資料泵匯入分割槽表統計資訊報錯(六)
- 資料泵匯入分割槽表統計資訊報錯(五)
- 如何用flask在資料庫新增資料Flask資料庫
- 資料庫報ORA-01839的錯誤資料庫
- MySQL 5.7啟動資料庫報錯'does not exist or is not executable'MySql資料庫
- informix停資料庫是報錯:Must be a DBSA to run this programORM資料庫
- RAC環境的STANDBY資料庫備份報錯資料庫