Oracleでオンラインバックアップ中、シェルでstartupのエラーが拾えない。


オンラインバックアップ開始

# sqlplus "/as sysdba"
SQL> alter tablespace TBS_TEST begin backup;
SQL> shutdown abort;


下記のようにSQLスクリプトを実行すると

# sqlplus /nolog @oraStart.sql

[oraStart.sql]
WHENEVER SQLERROR EXIT sql.sqlcode
connect /as sysdba
startup
exit

"ORA-01113: ファイル7はメディア・リカバリが必要です"


# echo $?
# 0

ホワット〜?


対処方法↓

# sqlplus /nolog @oraStart2.sql

[oraStart2.sql]
WHENEVER SQLERROR EXIT sql.sqlcode
connect /as sysdba
startup nomount;
alter database mount;
alter database open;
exit

"ORA-01113: ファイル7はメディア・リカバリが必要です"

# echo $?
# 89


※(ORA-)1113 ÷ 256 = 4 余り 89 <--正解。 グッジョブ!