2008年2月12日火曜日

DB2 v8.2 表スペースをDMSに変更する(4)

まだ手順が足りないようです。
select count(*) from RMOBJECTS

1
-----------
SQL0668N 操作は、理由コード "1" のため、表 "RMADMIN.RMOBJECTS
に対して許可されません。 SQLSTATE=57016

というエラーが発生しています。
DB2のInfocenterによると

表がチェック・ペンディング状態にある。 表の保全性が強制されておらず、表の内容が無効である可能性があります。 従属表がチェック・ペンディング状態である場合は、チェック・ペンディング状態でない親表または基本表に対する操作も、このエラーを受け取る可能性があります。

とのことなので、チェックペンディングを解除します。
db2inst1@ホスト名 [20080207_DMS/] $ grep -v ^-- setIntegrity.sql
set integrity for rmadmin.rmobjects immediate checked
db2inst1@ホスト名 [20080207_DMS/] $ db2 -f setIntegrity.sql
DB20000I SQL コマンドが正常に終了しました。

これで、SQL0668Nが出なくなりました。(それにしても自分のやっていることが分かってないのがバレバレですな)

DB2はリストアしたら'何とかペンディング'状態になるので要チェックです。(ほとんどFAQですが)

(2/13追記)
今はアーカイブロギングモードのDBでロードすると、デフォルトではバックアップペンディング状態になってバックアップが強制されるようです。
大量のデータが存在するときは要注意のようです。
参考)DB2逆引きWiki データをロードするには

0 件のコメント: