1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Data Pumpインポート時のREDO抑制機能を試す(Oracle Database 12c-)

Last updated at Posted at 2019-08-30

Data Pumpインポート

Data Pumpインポート処理の実行時にはテーブルに対して更新が発生するため、REDOが生成されます。障害が発生した場合にはData Pumpの再ロードを行うことで整合性が保てるのであれば、REDOの生成を抑制してパフォーマンスを向上させることができます。Oracle Database 11gまでは、REDOの抑制はインポート先のオブジェクトに対してNOLOGGING属性を指定していました。
Oracle Database 12c以降は、impdpコマンドのtransformパラメーターにdisable_archive_loggingオプションを指定することでインポート時のREDOを抑制することができます。

使い方

transformオプションにdisable_archive_loggingを指定します。さらにこのオプションを有効化(:Y)するか、無効化(:N)するかを指定します。特定のオブジェクトのみ効果を指定する場合には、オブジェクトの種類を指定することができるようです(例disable_archive_logging:Y:TABLE)。
ただし最新の マニュアル には記述がありません。

$ impdp userid=SCOTT/password dumpfile=scott.dmp directory=DIR1 table_exists_action=TRUNCATE transform=disable_archive_logging:Y

Import: Release 19.0.0.0.0 - Production on Fri Aug 30 03:10:33 2019
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.
...

Processing object type SCHEMA_EXPORT/STATISTICS/MARKER
Job "SCOTT"."SYS_IMPORT_SCHEMA_01" completed with 4 error(s) at Fri Aug 30 03:10:41 2019 elapsed 0 00:00:08
$

disable_archive_loggingパラメータを指定した場合と指定しなかった場合で、REDO発生量を比較します。V$SYSSTATビューから処理実行ごとにREDO発生量を検索して処理後に引き算します。

SQL> SELECT VALUE FROM V$SYSSTAT WHERE NAME='redo size';

     VALUE
----------
  57994244

処理 REDO生成量(KB)
通常 113,199.25
disable_archive_logging指定 59,912.06

impdpコマンドに「transform=disable_archive_logging:Y」オプションを指定することで、REDO生成量が小さくなっていることがわかります。

FORCE LOGGINGとの併用

 データベースの属性にFORCE LOGGINGがあります。FORCE LOGGING属性が設定されていると、NOLOGGING属性が指定されたオブジェクトに対してもREDOが生成させるようになります。Data Guard環境では一般的な指定です。FORCE LOGGING属性が有効なデータベースに対してdisable_archive_loggingパラメーターを指定してインポートを行いました。

SQL> SELECT FORCE_LOGGING FROM V$DATABASE;

FORCE_LOGGING
---------------------------------------
YES

処理 REDO生成量(KB)
通常 113,352.77
disable_archive_logging指定 113,328.91

上記の結果から「transform=disable_archive_logging:Y」オプションを指定してもFORCE LOGGINGが指定されたデータベースではREDOの生成は抑制できないことがわかります。

その他

サポート文書 DocID: 2373293.1 にはFORCE LOGGING設定以外でもREDOが生成される条件が示されています。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?