昨晚做資料切換,起來備系統, 資料庫10.2.0.4 起不來, 錯誤提示,找不到spfile, 一時想不起來10g rac
如何使用asmcmd copy, 因為發現本該在dgsystem中的spfile, 不知道為何會跑到dgdata中, 同時
似乎多了個dgdata1sas; 同來兄弟也一時沒想到, 度娘稱可以rman copy, 事實上rman copy 隻能控制檔案
資料檔案,唯獨沒有spfile參數檔案, 于是想可以指定startup pfile=$ORACLE_HONE/dbs/init_SID.ora ;
起來執行個體後,可以再create spfile;
操作前 $ vi init_SID.ora, 修改原來+DGSYSTEM/... 為 +DGDATA/..... ;
sqlplus / as sysdba
sql> startup pfile='/oracle/app/oracle/product/10.2.0/db_1/dbs/initkhgldb1.ora' ;
create spfile= '+DGSYSTEM/khgldb/spfilekhgldb.ora' from pfile;
sql> shutdown immediate;
sql> startup
提示有DGDATA1SAS 沒有,裡面的資料檔案沒有找到,;
$export ORACLE_SID=+ASM1
$asmcmd
asmcmd>lsdg
可以看到,但顯示沒有mount. 退回使用sql mount (10g asm 沒有cp, mount ,umount)
sqlplus / as sysdba
sql> select * from v$asm_diskgroup;
sql> alter diskgroup dgdata1sas mount ;
$vi $ORACLE_HOME/dbs/init+ASM1.ora
添加dgdata1sas 到 asm_diskgroups= ,才能保證重新開機後,改組能自動加載
如:
asm_diskgroups='DGSYSTEM','DGDATA2','DGDATA','DGRECOVER','DGDATA1SAS'
全部好了後,重新開機系統.檢查ok
執行個體2起來時報錯: 處理系統參數錯誤ora-00119 ora-00132, local_listener, khgldb2_listener 沒有.
查查結果是:
$對比執行個體1 ,2 :$ORACLE_HOME/network/admin/tnsnames.ora
發現執行個體1 中檔案确實有:
KHGLDB1_LOCAL =
(ADDRESS = (PROTOCOL = TCP)(HOST = khgldb1-vip)(PORT = 1521))
發現執行個體2中檔案确實沒有:
KHGLDB2_LOCAL =
(ADDRESS = (PROTOCOL = TCP)(HOST = khgldb2-vip)(PORT = 1521))
修改正确後, 再起來資料庫,OK