Monday, June 28, 2010

Safety shutdown abort

以下方式是本人认为比较安全的的shutdown abort步骤,非官方,仅作参考
1. kill all dedicated server process
$kill -9 `ps -ef|grep LOCAL=NO|grep -v grep|awk '{print $9}'`
$ps -ef|grep LOCAL=NO|grep -v grep|awk '{print $9}'|xargs kill -9
可以等等一下事物回滚,呵 呵
2.switch log file
sqlplus '/as sysdba'
SQL> alter system switch logfile;
3.checkpoint and suspend IO
SQL> alter system checkpoint;
SQL> alter system suspend;
执行完这个 别把这个session终止,也不要执行其他语句,否则可能sqlplus "/as sysdba"上不去了。
4.shutdown db
SQL> shutdown abort
5.restart db
sqlplus '/as sysdba'
SQL> start up
6.review transaction rollback
SQL> select * from V$FAST_START_TRANSACTIONS;
通常shutdown abort不会损坏数据文件,即使损坏,也可能只是一些Block corruption,recove就OK了,更坏的可能是数据文件损坏,可能就需要做恢复了,比较麻烦。
不过我觉得这种方式还比较安全一 些吧。
到是对于shutdown immediate不成功的情况,没有按照这个方法试过,呵呵。