ASMCMD處理問題一則

anycall2010發表於2009-03-08

 前幾天枯榮長老給我提醒了一個很重要的命令:ASMCMD。後來,我解決了一個困擾很久的問題。看來上帝關閉了所有的門,給我們留了一扇窗戶。

我目前環境情況:以前安裝過ORACLE的RAC,目前需要重建ORACLE資料庫,但是空間不夠,需要將以前安裝的內容給刪除掉。我嘗試過使用IF DD=ZER0 /DEV/SDC1,從裸裝置層面刪除,結果失敗了。所以,ASMCMD就可以。

具體做法:

rac1-> crs_stat -t
Name           Type           Target    State     Host       
------------------------------------------------------------
ora.devdb.db   application    OFFLINE   OFFLINE              
ora....b1.inst application    OFFLINE   OFFLINE              
ora....b2.inst application    ONLINE    OFFLINE              
ora....SM1.asm application    ONLINE    ONLINE    rac1       
ora....C1.lsnr application    ONLINE    ONLINE    rac1       
ora.rac1.gsd   application    ONLINE    ONLINE    rac1       
ora.rac1.ons   application    ONLINE    ONLINE    rac1       
ora.rac1.vip   application    ONLINE    ONLINE    rac1       
ora....SM2.asm application    ONLINE    ONLINE    rac2       
ora....C2.lsnr application    ONLINE    ONLINE    rac2       
ora.rac2.gsd   application    ONLINE    ONLINE    rac2       
ora.rac2.ons   application    ONLINE    ONLINE    rac2       
ora.rac2.vip   application    ONLINE    ONLINE    rac2

目前可以看到,當前的例項是不可用的。但是安裝檔案沒有完全刪除。

rac1-> asmcmd
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux Error: 2: No such file or directory (DBD ERROR: OCISessionBegin)

說明一個問題:ASM沒有啟動。解決辦法,按照如下步驟:
rac1-> export ORACLE_SID=+ASM1

rac1-> sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on Sun Mar 8 09:46:32 2009

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

SQL> conn sys/oracle as sysdba
Connected.
SQL> exit

Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
rac1-> asmcmd
ASMCMD> ls
DATA/
FLASH/
ASMCMD> cd data
ASMCMD> ls
DEVDB/
ASMCMD> cd devdb
ASMCMD> ls
CONTROLFILE/
DATAFILE/
ONLINELOG/
TEMPFILE/
control01.ctl
control02.ctl
control03.ctl
redo01.log
redo02.log
ASMCMD> cd ..
ASMCMD> ls
DEVDB/
ASMCMD> rm devdb
ORA-15032: not all alterations performed
ORA-15177: cannot operate on system aliases (DBD ERROR: OCIStmtExecute)
ASMCMD> ls
DEVDB/
ASMCMD> rm devdb
ORA-15032: not all alterations performed
ORA-15177: cannot operate on system aliases (DBD ERROR: OCIStmtExecute)
ASMCMD> rm -r devdb
You may delete multiple files and/or directories.
Are you sure? (y/n) y

這樣就OK了。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8334342/viewspace-563236/,如需轉載,請註明出處,否則將追究法律責任。

相關文章