90 DBMS_FLASHBACK_ARCHIVE_MIGRATE
DBMS_FLASHBACK_ARCHIVE_MIGRATE
パッケージを使用すると、トランスポータブル表領域を使用して、フラッシュバック・アーカイブの元表を履歴とともに別のデータベースにエクスポートおよびインポートできます。
制限事項
この移行パッケージは、非CDB環境でのみ使用できます。
この章のトピックは、次のとおりです:
- DBMS_FLASHBACK_ARCHIVE_MIGRATEの概要
- DBMS_FLASHBACK_ARCHIVE_MIGRATEのセキュリティ・モデル
- DBMS_FLASHBACK_ARCHIVE_MIGRATEの操作上のノート
- DBMS_FLASHBACK_ARCHIVE_MIGRATEの例
- DBMS_FLASHBACKサブプログラムの要約
参照:
DBMS_FLASHBACK_ARCHIVE_MIGRATE
の詳細は、次のマニュアルを参照してください。
DBMS_FLASHBACK_ARCHIVE_MIGRATEの概要
このパッケージを使用すると、トランスポータブル表領域を使用して、フラッシュバック・アーカイブの元表をその履歴とともに別のデータベースにエクスポートおよびインポートできます。
DBMS_FLASHBACK_ARCHIVE_MIGRATEセキュリティ・モデル
DBMS_FLASHBACK_ARCHIVE_MIGRATE
パッケージは、ソース・データベースとターゲット・データベースの両方でSYS
としてコンパイルする必要があります。 ソース・ファイルは、?/rdbms/admin/crefbamig.sql
にあり、パッケージの作成またはコンパイルに使用できます。
SYS
として実行する必要があります。 パッケージではDBMS_DATAPUMP
、DBMS_LOCK
、DBMS_SYSTEM
、DBMS_SQL
、DBMS_SCHEDULER
の各PL/SQLパッケージが使用されるため、それらのセキュリティ・モデルも適用できます。 エクスポート機能では、エクスポート対象のユーザーのFDA表とともに、次のSYS
表のデータもエクスポートされます。
- SMON_SCN_TIME
- SYS_FBA_FA
- SYS_FBA_TSFA
- SYS_FBA_TRACKEDTABLES
- SYS_FBA_PARTITIONS
- SYS_FBA_USERS
DBMS_FLASHBACK_ARCHIVE_MIGRATE操作上のノート
この項では、DBMS_FLASHBACK_ARCHIVE_MIGRATE
パッケージの使用方法について説明します。
前提条件
データベースのバージョン >= 11.2
データベース・バージョンが11.2
の場合は、次の条件を満たす必要があります。
shared_pool_size
>= 500Mstreams_pool_size
>= 40M
または
sga_target
>= 2G
定数
なし
- ソース・データベースで
flashback_archive.export
を実行して、指定したフラッシュバック・アーカイブが有効な表とその履歴表、さらにトランスポータブル表領域を使用しているその他の関連メタデータ情報をエクスポートします。 - トランスポータブル表領域エクスポート・ダンプおよび関連するデータ・ファイルをソース・データベースからターゲット・データベースにコピーします。
- ターゲット・データベースで
flashback_archive.import
を実行して、エクスポートしたフラッシュバック・アーカイブが有効な表とその履歴のインポートを完了します。
無関係なオブジェクト
フラッシュバック・アーカイブが有効な表およびフラッシュバック・アーカイブ自体をホストする表領域には、完全に関連性のないオブジェクトがある可能性があります。 エクスポート時には、トランスポータブル表領域機能が使用されるため、これらのオブジェクトもすべてエクスポートされます。 このような無関係なオブジェクトを表SYS_FBA_EXTRANEOUSOBJS
に示します。
インポートに成功したとき、無関係なオブジェクトはそのまま残ります。 DBAは、無関係なオブジェクトを削除する必要があります。
表領域の自己完結
トランスポータブル表領域機能がエクスポートおよびインポートに使用されるため、その表領域内のすべてのオブジェクトが自己完結型である必要があります。 そうでないと、ファンクションは異常終了します。
履歴粒度の低下
インポート後に、履歴の粒度が低下することがあります。
たとえば、ソース・データベースにわずかな時間で生成された複数の履歴を1つの履歴に結合できます。
ログ
エクスポート・ログおよびインポート・ログは、data_pump_dir
入力引数として指定されたOS
ディレクトリにあります。
エクスポート・ログの形式はfda_mig_expdp_YYYY_MMDD_HH24MI.log
です
インポート・ログの形式はfda_mig_impdp_YYYY_MMDD_HH24MI.log
です
操作上のノート
- エクスポート後、関連する表領域はDBAが関連するデータ・ファイルをコピーできるように
READONLY
モードのままになります。 - また、関連する表領域を
READONLY
モードのままにすると、エクスポートした表がデータ・ファイルのエクスポートおよびコピー中に不変の状態になります。 - 提供されているプロシージャをエクスポートおよびインポートに使用して表のブロック・サイズを変更することはできません。 これらのプロシージャは内部でトランスポータブル表領域のエクスポートおよびインポート機能を使用するためです。
- インポートが正常に完了すると、表領域は再度
READONLY
モードに保持されます。 DBAは、インポートしたデータを検証した後、表領域をREAD-WRITE
にすることができます。 - インポートが正常に完了した後、エクスポート操作への入力として指定した小さい表領域を削除できます。
DBMS_FLASHBACK_ARCHIVE_MIGRATEの例
この項では、フラッシュバック・アーカイブ表のエクスポートとインポートをその履歴とともに説明します。
ステップ1: フラッシュバック・アーカイブ対応表を、その履歴とともにエクスポートします
例では、3つのフラッシュバック・アーカイブ対応表USR1_TAB1
、USR1_TAB2
およびUSR1_TAB3
がエクスポートされています。 これらの表は、FA1_TBSP
、FA1_TBSP_1
、USR1_TBSP
およびUSR1_TBSP_1
表領域に分散されます。
TTS_TBSP
は、エクスポートに関連するメタデータを保持する小さい表領域です。
/some/dir/with/enough/disk/space
は、データ・ポンプ・ファイルおよびログが作成されるOS
ディレクトリです。
set serveroutput on; declare l_fda_tabs dbms_sql.varchar2_table; begin l_fda_tabs(1) := upper('usr1_tab1'); l_fda_tabs(2) := upper('usr1_tab2'); l_fda_tabs(3) := upper('usr1_tab3'); flashback_archive_migrate.export ( schema_owner => 'USR1' , fda_tables => l_fda_tabs , tts => 'TTS_TBSP' , data_pump_dir => '/some/dir/with/enough/disk/space' ); end; /
完了すると、データ・ポンプのダンプ・ファイルと、インポートを完了するためにターゲット・データベースにコピーするデータ・ファイルがエクスポート出力にリストされます。
Step 2
: Step 1
でリストされたデータ・ポンプのダンプ・ファイルとデータ・ファイルをターゲット・データベースにコピーします。
Step 3
: フラッシュバック・アーカイブ表を、その履歴とともにインポートします
例では、3つのフラッシュバック・アーカイブ対応表USR1_TAB1
、USR1_TAB2
およびUSR1_TAB3
が、データ・ファイル全体に分散したFA1_TBSP
、FA1_TBSP_1
、USR1_TBSP
,およびUSR1_TBSP_1
表領域からインポートされています。
Step 1
)ログ・ファイルに取得されるデータ・ファイルを示します。
/u01/app/oracle/oradata/TGT_DB/tts_tbsp.dbf
/u01/app/oracle/oradata/TGT_DB/usr1_tbsp.dbf
/u01/app/oracle/oradata/TGT_DB/usr1_tbsp1.dbf
/u01/app/oracle/oradata/TGT_DB/FA1_tbsp.dbf
/u01/app/oracle/oradata/TGT_DB/FA1_tbsp_1.dbf
TTS_TBSP
は、データ・ファイルが/ade/nkedlaya_fda2/rdbms/dbs/tts_tbsp.dbf
であるエクスポート関連のメタデータを保持する小さい表領域です。
/some/dir/with/enough/disk/space
は、データ・ポンプ・ファイルが作成されるOS
ディレクトリです。
set serveroutput on; declare l_data_files dbms_sql.varchar2_table; begin l_data_files(1) := '/u01/app/oracle/oradata/TGT_DB/tts_tbsp.dbf'; l_data_files(2) := '/u01/app/oracle/oradata/TGT_DB/usr1_tbsp.dbf'; l_data_files(3) := '/u01/app/oracle/oradata/TGT_DB/usr1_tbsp1.dbf'; l_data_files(4) := '/u01/app/oracle/oradata/TGT_DB/FA1_tbsp.dbf'; l_data_files(5) := '/u01/app/oracle/oradata/TGT_DB/FA1_tbsp_1.dbf'; flashback_archive_migrate.import ( schema_owner => 'USR1' , tts => 'TTS_TBSP' , data_pump_dir => '/data/pump/dir/where/export/dump/file/resides' , tts_data_files => l_data_files ); end; /
インポートが正常に完了すると、インポートした表でフラッシュバック・アーカイブが有効になり、生成される新しい履歴とともに以前の履歴が使用可能になります。
DBMS_FLASHBACKサブプログラムの要約
この表は、DBMS_FLASHBACK_ARCHIVE_MIGRATE
サブプログラムを示し、簡単に説明しています。
表90-1 DBMS_FLASHBACK_ARCHIVE_MIGRATEパッケージ・サブプログラム
サブプログラム | 説明 |
---|---|
このプロシージャは、指定したフラッシュバック・アーカイブが有効な元表、その履歴および関連する表領域をエクスポートします。 |
|
このプロシージャは、トランスポータブル表領域チェックを使用して、指定されたフラッシュバック・アーカイブが有効な元表、その履歴および自己完結に関連する表領域を分析します。 |
|
このプロシージャは、エクスポートされたフラッシュバック・アーカイブが有効な元表、その履歴および関連する表領域をインポートします。 |
EXPORTプロシージャ
このプロシージャは、指定したフラッシュバック・アーカイブが有効な元表、その履歴および関連する表領域をエクスポートします。
構文
DBMS_FLASHBACK_ARCHIVE_MIGRATE.EXPORT ( schema_owner IN VARCHAR2, fda_tables IN DBMS_SQL.VARCHAR2, tts IN VARCHAR2, data_pump_dir IN VARCHAR2, ignore_errors IN BOOLEAN DEFAULT FALSE);
パラメータ
表90-2 EXPORTプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
フラッシュバック・アーカイブが有効な表の所有者 |
|
フラッシュバック・アーカイブが有効な表の配列 |
|
エクスポート関連のメタデータの保持に使用できる小さい表領域 |
data_pump_dir |
エクスポート・ダンプが配置されるオペレーティング・システム内のディレクトリ・パス |
ignore_errors |
トランスポータブル表領域のエラーは無視してください。 デフォルト値は |
EXPORT_ANALYZEプロシージャ
このプロシージャは、トランスポータブル表領域チェックを使用して、指定されたフラッシュバック・アーカイブが有効な元表、その履歴および自己完結に関連する表領域を分析します。
構文
DBMS_FLASHBACK_ARCHIVE_MIGRATE.EXPORT_ANALYZE ( schema_owner IN VARCHAR2, fda_tables IN DBMS_SQL.VARCHAR2, tts IN VARCHAR2);
パラメータ
表90-3 EXPORT_ANALYZEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
フラッシュバック・アーカイブが有効な表の所有者 |
|
フラッシュバック・アーカイブが有効な表の配列 |
|
エクスポート関連のメタデータの保持に使用できる小さい表領域 |
IMPORTプロシージャ
このプロシージャは、エクスポートされたフラッシュバック・アーカイブが有効な元表、その履歴および関連する表領域をインポートします。
構文
DBMS_FLASHBACK_ARCHIVE_MIGRATE.IMPORT ( schema_owner IN VARCHAR2, tts IN VARCHAR2, data_pump_dir IN VARCHAR2, tts_data_files IN DBMS_SQL.VARCHAR2_TABLE);
パラメータ
表90-4 IMPORTプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
フラッシュバック・アーカイブが有効な表の所有者 |
|
エクスポート関連のメタデータの保持に使用できる小さい表領域 |
data_pump_dir |
エクスポート・ダンプが配置されるオペレーティング・システム内のディレクトリ・パス |
tts_data_files |
TTSでエクスポートされた表領域のデータ・ファイル・リスト。 |