1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Oracle Data Pump の INCLUDE 句と EXCLUDE 句同時使用を試す(Oracle Database 21c)

Last updated at Posted at 2022-10-10

Oracle Database 21 の Data Pump

Data Pump は Oracle Database の標準的なデータ移行ツールです。Data Pump はデータベース全体、スキーマ、テーブル、表領域等様々な単位でデータのエクスポート/インポートを行うことができます。本記事では Oracle Database 21c で利用できるようになった Data Pump の expdp コマンド、impdp コマンドの INCLUDE 句と EXCLUDE 句を同時に使用した場合の動作について説明します。

INCLUDE句とEXCLUDE句

 expdp コマンド、impdp コマンドの INCLUDE 句と EXCLUDE 句は、指定した条件に合致するオブジェクトをインポートまたはエクスポートするために指定します。expdp コマンドに INCLUDE 句を指定した時は条件に一致するオブジェクトだけがエクスポートされ、impdp コマンドに EXCLUDE 句を指定した時は条件に合致したオブジェクト以外がインポートされます。
 INCLUDE 句と EXCLUDE 句を同時に指定すると従来のバージョンではエラーになっていました。下記は Oracle Database 19c の expdp コマンドで INCLUDE 句と EXCLUDE 句を同時に指定した例です。
UDE-00011 エラーが発生して、処理が停止しています。

$ expdp userid=system/{password} schemas=SCOTT INCLUDE=TABLE:\"LIKE \'DATA%\'\" EXCLUDE=INDEX dumpfile=scott.dmp

Export: Release 19.0.0.0.0 - Production on 月 10月 10 15:57:52 2022
Version 19.14.0.0.0

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

接続先: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
UDE-00011: パラメータincludeがパラメータexcludeと一貫性がありません

同時使用

Oracle Database 21c では、INCLUDE 句と EXCLUDE 句が同時に指定できるようになりました。Oracle Database 19cでエラーになった構文も正常に実行されます。

$ expdp userid=system/{password}@rel83-1:1521/o21apdb1 schemas=SCOTT INCLUDE=TABLE:\"LIKE \'DATA%\'\" EXCLUDE=INDEX dumpfile=scott.dmp

Export: Release 21.0.0.0.0 - Production on 月 10月 10 21:57:17 2022
Version 21.3.0.0.0

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

接続先: Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
"SYSTEM"."SYS_EXPORT_SCHEMA_01"を起動しています: userid=system/********@rel83-1:1521/o21apdb1 schemas=SCOTT INCLUDE=TABLE:"LIKE 'DATA%'" EXCLUDE=INDEX dumpfile=scott.dmp
オブジェクト型SCHEMA_EXPORT/TABLE/TABLE_DATAの処理中です
オブジェクト型SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICSの処理中です
オブジェクト型SCHEMA_EXPORT/TABLE/TABLEの処理中です
. . "SCOTT"."DATA1"                                 0 KB       0行がエクスポートされました
. . "SCOTT"."DATA2"                                 0 KB       0行がエクスポートされました
マスター表"SYSTEM"."SYS_EXPORT_SCHEMA_01"は正常にロード/アンロードされました
******************************************************************************
SYSTEM.SYS_EXPORT_SCHEMA_01に設定されたダンプ・ファイルは次のとおりです:
  /u01/app/oracle/admin/O21A/dpdump/D3B2F4649E0E214BE053E101A8C02AB3/scott.dmp
ジョブ"SYSTEM"."SYS_EXPORT_SCHEMA_01"が月 10月 10 21:57:26 2022 elapsed 0 00:00:07で正常に完了しました

INCLUDE 句と EXCLUDE 句が同時に指定された場合、まず INCLUDE 句が検証され対象となるオブジェクトが特定されます。EXCLUDE 句はその後にチェックされます。

下記の例では INCLUDE 句で全テーブルを指定し、DATA1 テーブルだけを EXCLUDE 句で除外しています。
その結果、SCOTT スキーマの中から DATA2, TABLE1 テーブルのみがエクスポートされ、DATA1 テーブルは除外されています。

$ cat example1.par
userid=system/{password}@rel83-1:1521/o21apdb1
schemas=SCOTT
INCLUDE=TABLE
EXCLUDE=TABLE:"='DATA1'"
dumpfile=scott.dmp

$ expdp parfile=example1.par

Export: Release 21.0.0.0.0 - Production on 月 10月 10 22:03:27 2022
Version 21.3.0.0.0

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

接続先: Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
"SYSTEM"."SYS_EXPORT_SCHEMA_01"を起動しています: system/********@rel83-1:1521/o21apdb1 parfile=example1.par
オブジェクト型SCHEMA_EXPORT/TABLE/TABLE_DATAの処理中です
オブジェクト型SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICSの処理中です
オブジェクト型SCHEMA_EXPORT/TABLE/TABLEの処理中です
. . "SCOTT"."DATA2"                                 0 KB       0行がエクスポートされました
. . "SCOTT"."TABLE1"                                0 KB       0行がエクスポートされました
マスター表"SYSTEM"."SYS_EXPORT_SCHEMA_01"は正常にロード/アンロードされました
******************************************************************************
SYSTEM.SYS_EXPORT_SCHEMA_01に設定されたダンプ・ファイルは次のとおりです:
  /u01/app/oracle/admin/O21A/dpdump/D3B2F4649E0E214BE053E101A8C02AB3/scott.dmp
ジョブ"SYSTEM"."SYS_EXPORT_SCHEMA_01"が月 10月 10 22:03:33 2022 elapsed 0 00:00:05で正常に完了しました

1
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?