ペンディング中の定義変更がマテリアライズされる前のポイント・イン・タイムへのリカバリー
保留中の定義変更をマテリアライズする前の時点まで、パーティション単位の成長(UTS)テーブルスペース、パーティション単位の範囲テーブルスペース、LOBテーブルスペース、XMLテーブルスペースを復元することができます。
このタスクについて
保留中の定義変更が実装される前の時点へのリカバリがまったくサポートされていない場合もあり、サポートされている場合でもさまざまな制限が適用されます。 詳細については、「ポイントインタイム リカバリ」の「 ポイントインタイム リカバリの制限」を参照してください。
プロシージャー
表スペースを保留中の定義変更のマテリアライズより前のポイント・イン・タイムにリカバリーするには、次のようにします。
例
以下の例は、保留中の定義変更がマテリアライズされる前のポイント・イン・タイムに表スペースをリカバリーし、SHRLEVEL REFERENCE を指定した REORG TABLESPACE ユーティリティーを使用してリカバリーを完了する方法を示すシナリオです。
- 以下の ALTER TABLESPACE ステートメントを実行して、バッファー・プールのページ・サイズを変更します。 この変更は、保留中の定義変更です。
ALTER TABLESPACE DB1.TS1 BUFFERPOOL BP8K0 MAXPARTITIONS 20 ; - REORGを実行して、保留中の定義変更を確定します。
- 以下の RECOVER 制御ステートメントを実行し、表スペースをポイント・イン・タイム 2012-10-09-07.15.22.216020 にリカバリーします。
RECOVER TABLESPACE DB1.TS1 TOLOGPOINT X'00000551BE7D'このステートメントを実行すると、表スペースは再編成ペンディング (REORP) 状態になり、OBJTYPE = 'S' (表スペースを示す) のエントリーが SYSPENDINGDDL 表に挿入されます。
- 以下の SELECT ステートメントを実行して、SYSIBM.SYSPENDINGDDL カタログ表を照会します。
SELECT DBNAME, TSNAME, OBJSCHEMA, OBJNAME, OBJTYPE, OPTION_SEQNO, OPTION_KEYWORD, OPTION_VALUE, CREATEDTS FROM SYSIBM.SYSPENDINGDDL WHERE DBNAME = 'DB1' AND TSNAME = 'TS1' ;この照会では、以下の出力が結果として戻ります。
表 1. 保留中の定義変更のマテリアライズ前のポイント・イン・タイムにリカバリーした後の SYSPENDINGDDL カタログ表に対する SELECT ステートメントの出力 DBNAME TSNAME OBJSCHEMA OBJNAME OBJTYPE DB1 TS1 DB1 TS1 S 表 2. 保留中の定義変更のマテリアライズ前のポイント・イン・タイムにリカバリーした後の SYSPENDINGDDL カタログ表に対する SELECT ステートメントの出力 (続き) OPTION_SEQNO OPTION_KEYWORD OPTION_VALUE CREATEDTS 1 TOLOGPOINT 00000551BE7D 2012年10月4日 -
07.14.20.204010 - ここで、表スペース全体に対し、SHRLEVEL REFERENCE を指定した REORG TABLESPACE ユーティリティーを実行します。 以下に例を示します。
REORG ユーティリティーは、ポイント・イン・タイム・リカバリーを完了します。 REORG ユーティリティーの実行後、再編成ペンディング (REORP) 状態はクリアされ、表スペースに関する、SYSPENDINGDDL 表内のすべてのエントリーが削除されます。REORG TABLESPACE DB1.TS1 SHRLEVEL REFERENCE