Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Data Pump, Full Transportable Export/Importの検証

Data Pump, Full Transportable Export/Importの検証

前提条件を統一させてData PumpとFull Transportable Export/Importの移行検証を実施しました。
手順と結果に関してまとめた資料です。

oracle4engineer

July 31, 2023
Tweet

More Decks by oracle4engineer

Other Decks in Technology

Transcript

  1. Copyright © 2023, Oracle and/or its affiliates 2 • Data

    Pumpの検証 • Full Transportable Export/Importの検証 • Data PumpとFull Transportable Export/Importの結果比較 • まとめ Agenda
  2. 全体手順 事前設定 • ダンプファイル用のディレクトリの 準備 • expdp/impdpコマンド実行 ユーザの作成 • 初期化パラメータ

    STREAMS_POOL_SIZEの 設定 エクスポート • ディクショナリ統計の収集 • ダンプファイル・サイズの見積もり • パラメータ・ファイルの作成 • expdpコマンドの実行 ダンプファイルの 転送 • scpを使用したターゲットDBへ のダンプファイルの転送 インポート • パラメータ・ファイルの作成 • impdpコマンドの実行 • 移行データの確認 • ディクショナリ統計の収集 Data Pump手順 Copyright © 2023, Oracle and/or its affiliates 5
  3. 構成図 Data Pump手順 Copyright © 2023, Oracle and/or its affiliates

    6 ap-osaka-1 ap-tokyo-1 AD1 AD1 VCN(ソース) : peeringVCN_Kix Public (10.5.0.0/24) Private (10.5.1.0/24) VCN(ターゲット) : peeringVCN Private (10.0.1.0/24) Internet Internet GW DRG DRG Remote Peering 踏み台サーバ ターゲットDB ソースDBサーバ 10.5.1.124 host-10-5-1-124 OCI Tenancy Cust Tenancy Oracle Services Network File Storage File Storage 10.5.0.140 host-10-5-0-140 OCI Tenancy Oracle Services Network File Storage Mount Target File Storage Mount Target 10.0.1.41 TargetMiya1 DB1 Block Storage
  4. 移行の流れ Data Pump手順 Copyright © 2023, Oracle and/or its affiliates

    7 expdp impdp scp .dmpファイル .dmpファイル ソースDB ターゲットDB
  5. 2023年3月開催分の第65回でData Pumpの概要とTipsについてご紹介しております その他Data Pumpの細かい設定方法について Copyright © 2023, Oracle and/or its

    affiliates 8 資料: https://speakerdeck.com/oracle4engineer/technight-fy23-mar-number-65-2-oracledatabasemigrationtooltips セミナー動画: https://youtu.be/fGgx9XK3gDE
  6. 全体手順 事前設定 • ダンプファイル用のディレクトリの 準備 • expdp/impdpコマンド実行 ユーザの作成 • 初期化パラメータ

    STREAMS_POOL_SIZEの 設定 エクスポート • ディクショナリ統計の収集 • ダンプファイル・サイズの見積もり • パラメータ・ファイルの作成 • expdpコマンドの実行 ダンプファイルの 転送 • scpを使用したターゲットDBへ のダンプファイルの転送 インポート • パラメータ・ファイルの作成 • impdpコマンドの実行 • 移行データの確認 • ディクショナリ統計の収集 Data Pump手順 Copyright © 2023, Oracle and/or its affiliates 9
  7. ダンプファイル用のディレクトリの準備 ダンプ・ファイルを保管するディレクトリを作成し、ディレクトリ・パスをディレクトリ・オブジェクトとして指定します ディレクトリ名とディレクトリの配置は任意ですが、ディレクトリにダンプファイルを保管できる十分な領域を確保してください Data Pump手順 – 事前設定 Copyright © 2023,

    Oracle and/or its affiliates 10 $ mkdir /tmp/datapump $ chmod 777 /tmp/datapump SQL> create directory dump_dir as '/tmp/datapump’; ソースDB環境とターゲットDB環境で実行するコマンド: select directory_name, directory_path from dba_directories where directory_name='DUMP_DIR'; 確認コマンド:
  8. expdp/impdpコマンド実行ユーザの作成 Data Pumpのexpdp/impdpコマンドを実行するためのユーザを準備します (専用のスキーマ作成を推奨) エクスポートおよびインポート操作に必要な権限を付与します Data Pump手順 – 事前設定 Copyright

    © 2023, Oracle and/or its affiliates 11 SQL> create user dpuser identified by password; SQL> alter user dpuser quota unlimited on users; SQL> grant read, write on directory dump_dir to dpuser; SQL> grant datapump_exp_full_database to dpuser; SQL> grant datapump_imp_full_database to dpuser; ソースDBとターゲットDBで実行するコマンド: ソースDBで実行するコマンド: ターゲットDBで実行するコマンド:
  9. 初期化パラメータSTREAMS_POOL_SIZEの設定 Data Pumpではメモリ領域であるSTREAMS_POOL_SIZEを使用して処理を行うため、領域の確保が必要となります 64Mから256Mの範囲が推奨となっています Data Pump手順 – 事前設定 Copyright ©

    2023, Oracle and/or its affiliates 12 SQL> select current_size/1024/1024 as current_size_mb from v$sga_dynamic_components where component='streams pool'; STREAMS_POOL_SIZEの値を確認します STREAMS_POOL_SIZEの値を指定するコマンド(不足する場合): SQL> alter system set streams_pool_size=256m scope=both; CURRENT_SIZE_MB --------------- 128 実行結果:
  10. 全体手順 事前設定 • ダンプファイル用のディレクトリの 準備 • expdp/impdpコマンド実行 ユーザの作成 • 初期化パラメータ

    STREAMS_POOL_SIZEの 設定 エクスポート • ディクショナリ統計の収集 • ダンプファイル・サイズの見積もり • パラメータ・ファイルの作成 • expdpコマンドの実行 ダンプファイルの 転送 • scpを使用したターゲットDBへ のダンプファイルの転送 インポート • パラメータ・ファイルの作成 • impdpコマンドの実行 • 移行データの確認 • ディクショナリ統計の収集 Data Pump手順 Copyright © 2023, Oracle and/or its affiliates 13
  11. ディクショナリ統計の収集 エクスポートを実行する前にディクショナリ統計を収集して最新の統計情報を維持します Data Pump手順 – エクスポート Copyright © 2023, Oracle

    and/or its affiliates 14 SQL> begin dbms_stats.gather_schema_stats('SYS'); dbms_stats.gather_schema_stats('SYSTEM'); end; ソースDBで実行するコマンド:
  12. ダンプファイル・サイズの見積もり expdpコマンドにESTIMATEパラメータおよびESTIMATE_ONLYパラメータを指定して、ファイルのサイズを見積もります ダンプファイルを生成せず、出力されるダンプファイルのサイズに対して準備した領域が十分か確認できます Data Pump手順 – エクスポート Copyright © 2023,

    Oracle and/or its affiliates 15 $ expdp dpuser/Welcome1 full=y directory=dump_dir estimate=statistics estimate_only=y; estimate=statisticsを指定して実行する $ expdp dpuser/Welcome1 full=y directory=dump_dir estimate=blocks estimate_only=y; estimate=blocksを指定して実行する モードの種類 定義 BLOCKS ブロックサイズにオブジェクトのブロック数をかけて見積もる(精度は高くない) STATISTICS 統計情報を元に見積もる 表1. ESTIMATEパラメータのモードについて
  13. ダンプファイル・サイズの見積もり Data Pump手順 – エクスポート Copyright © 2023, Oracle and/or

    its affiliates 16 ***省略*** Total estimation using STATISTICS method: 796.9 GB Job "DPUSER"."SYS_EXPORT_FULL_01" successfully completed at Fri Mar 10 05:56:31 2023 elapsed 0 00:00:02 estimate=statisticsを指定した実行結果: ***省略*** Total estimation using BLOCKS method: 1023. GB Job "DPUSER"."SYS_EXPORT_FULL_02" successfully completed at Fri Mar 10 05:59:06 2023 elapsed 0 00:00:03 estimate=blocksを指定した実行結果: 実際にexpdpを実行して作成されたダンプファイルの総容量は846 GBでした STATISTICSモードの方が正確であることが確認できました
  14. パラメータ・ファイルの作成 エクスポート(expdp)の実行に使用するパラメータ・ファイルを作成します 本検証では、ファイル圧縮ありのパターンと圧縮なしのパターンで実行しました Data Pump手順 – エクスポート Copyright © 2023,

    Oracle and/or its affiliates 17 schemas=scott parallel=8 directory=dump_dir dumpfile=dumpfile%U.dmp filesize=50g exclude=statistics logtime=all metrics=yes compression=all compression_algorithm=medium logfile=export_1.log schemas=scott parallel=8 directory=dump_dir dumpfile=dumpfile%U.dmp filesize=50g exclude=statistics logtime=all metrics=yes #compression=all #compression_algorithm=medium logfile=export_2.log 圧縮ありのパラメータ・ファイル(expdp.par): 圧縮なしのパラメータ・ファイル(expdp.par):
  15. expdpコマンドの実行 エクスポートを実行します Data Pump手順 – エクスポート Copyright © 2023, Oracle

    and/or its affiliates 18 $ expdp dpuser/password parfile=expdp.par Export: Release 12.1.0.2.0 - Production on Tue May 2 07:19:18 2023 Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved. ;;; Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options 02-MAY-23 07:19:19.911: Starting "DPUSER"."SYS_EXPORT_SCHEMA_01": dpuser/******** parfile=expdp.par ***省略*** 02-MAY-23 08:19:21.938: Job "DPUSER"."SYS_EXPORT_SCHEMA_01" successfully completed at Tue May 2 08:19:21 2023 elapsed 0 01:00:03 実行コマンド: 実行結果:
  16. expdpコマンドの実行 エクスポートされたダンプファイルを確認します Data Pump手順 – エクスポート Copyright © 2023, Oracle

    and/or its affiliates 19 $ ls -lha /tmp/datapump total 846G drwxrwxrwx. 2 oracle oinstall 4.0K Mar 13 12:43 . drwxrwxrwx. 5 root root 68 Mar 13 02:53 .. -rw-r-----. 1 oracle oinstall 50G Mar 13 12:21 dumpfile01.dmp -rw-r-----. 1 oracle oinstall 50G Mar 13 12:20 dumpfile02.dmp ***省略*** -rw-r-----. 1 oracle oinstall 4.8G Mar 13 12:46 dumpfile24.dmp -rw-r--r--. 1 oracle oinstall 28K Mar 13 12:46 export_1.log ダンプファイルが配置されているディレクトリを確認します 圧縮なしの実行結果: total 352G drwxrwxrwx. 2 oracle oinstall 4.0K Mar 30 01:54 . drwxrwxrwx. 5 root root 68 Mar 13 02:53 .. -rw-r-----. 1 oracle oinstall 44G Mar 30 02:54 dumpfile01.dmp -rw-r-----. 1 oracle oinstall 44G Mar 30 02:54 dumpfile02.dmp ***省略*** -rw-r-----. 1 oracle oinstall 44G Mar 30 02:54 dumpfile08.dmp -rw-r--r--. 1 oracle oinstall 23K Mar 30 02:54 export_2.log 圧縮ありの実行結果:
  17. 全体手順 事前設定 • ダンプファイル用のディレクトリの 準備 • expdp/impdpコマンド実行 ユーザの作成 • 初期化パラメータ

    STREAMS_POOL_SIZEの 設定 エクスポート • ディクショナリ統計の収集 • ダンプファイル・サイズの見積もり • パラメータ・ファイルの作成 • expdpコマンドの実行 ダンプファイルの 転送 • scpを使用したターゲットDBへ のダンプファイルの転送 インポート • パラメータ・ファイルの作成 • impdpコマンドの実行 • 移行データの確認 • ディクショナリ統計の収集 Data Pump手順 Copyright © 2023, Oracle and/or its affiliates 20
  18. scpを使用したターゲットDBへのダンプファイルの転送 scpコマンドを使用してダンプファイルをソースDB環境からターゲットDB環境に転送します nohupをscpの前につけて実行することで、転送中にセッションが切れても転送を継続させることができます Data Pump手順 – ダンプファイルの転送 Copyright © 2023,

    Oracle and/or its affiliates 21 $ nohup scp -i /home/opc/.ssh/ssh-key-2022-10-31.key /tmp/datapump/dumpfile* [email protected]:/tmp/datapump nohupを使用したscpコマンド: $ jobs -l ジョブの状態を確認するコマンド: 転送が完了すると以下のように出力される $ jobs –l [1]+ Done nohup scp –i /home/opc/.ssh/ssh-key-2022-10-31.key /tmp/datapump/dumpfile* [email protected]:/tmp/datapump
  19. 全体手順 事前設定 • ダンプファイル用のディレクトリの 準備 • expdp/impdpコマンド実行 ユーザの作成 • 初期化パラメータ

    STREAMS_POOL_SIZEの 設定 エクスポート • ディクショナリ統計の収集 • ダンプファイル・サイズの見積もり • パラメータ・ファイルの作成 • expdpコマンドの実行 ダンプファイルの 転送 • scpを使用したターゲットDBへ のダンプファイルの転送 インポート • パラメータ・ファイルの作成 • impdpコマンドの実行 • 移行データの確認 • ディクショナリ統計の収集 Data Pump手順 Copyright © 2023, Oracle and/or its affiliates 22
  20. パラメータ・ファイルの作成 Data Pump手順 – インポート Copyright © 2023, Oracle and/or

    its affiliates 23 インポート(impdp)の実行に使用するパラメータ・ファイルを作成します インポートでは圧縮ありのパターンと圧縮なしのパターンの両方に対して同じパラメータ・ファイルで実行します schemas=scott parallel=8 directory=dump_dir dumpfile=dumpfile%L.dmp exclude=statistics logtime=all metrics=yes transform=lob_storage:securefile remap_tablespace=users:datapump_test logfile=import_1.log インポート用のパラメータ・ファイル(impdp.par):
  21. impdpコマンドの実行 Data Pump手順 – インポート Copyright © 2023, Oracle and/or

    its affiliates 24 インポートを実行します $ impdp dpuser/password parfile=impdp.par Import: Release 19.0.0.0.0 - Production on Tue May 2 18:20:53 2023 Version 19.16.0.0.0 Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved. ;;; Connected to: Oracle Database 19c EE High Perf Release 19.0.0.0.0 - Production ***省略*** 02-MAY-23 22:14:22.925: Job "DPUSER"."SYS_IMPORT_SCHEMA_01" successfully completed at Tue May 2 22:14:22 2023 elapsed 0 03:53:28 実行コマンド: 実行結果:
  22. 移行データの確認 移行データを確認します ソースDBとのデータ量を比較します Data Pump手順 – インポート Copyright © 2023,

    Oracle and/or its affiliates 25 SIZE[GB] ---------- 1017.89063 実行結果(ターゲットDB): SQL> select sum(bytes)/(1024*1024*1024)"SIZE[GB]" from dba_segments where owner='SCOTT'; 実行コマンド: SIZE[GB] ---------- 1021.92725 実行結果(ソースDB):
  23. 移行データの確認 Data Pump手順 – インポート Copyright © 2023, Oracle and/or

    its affiliates 26 移行したスキーマのテーブルの種類やオブジェクトの数がソースDBとターゲットDBで一致するか確認する SQL> select table_name from dba_tables where owner = 'SCOTT'; テーブル一覧の確認(ソースDB、ターゲットDB) SQL> select count(*) from scott.customers; テーブルそれぞれのレコード数の確認(ソースDB、ターゲットDB) SQL> select object_name, object_type from dba_objects where owner = 'SCOTT' order by object_name; スキーマ所有のオブジェクト一覧の確認(ソースDB、ターゲットDB):
  24. ディクショナリ統計の収集 Data Pump手順 – インポート Copyright © 2023, Oracle and/or

    its affiliates 27 インポートを実行した後にディクショナリ統計を収集して最新の統計情報を維持します SQL> begin dbms_stats.gather_schema_stats('SYS'); dbms_stats.gather_schema_stats('SYSTEM'); end; ターゲットDBで実行するコマンド:
  25. Copyright © 2023, Oracle and/or its affiliates 29 Data Pump結果

    処理時間 各実行コマンドの処理時間を表. 2に示します コマンド 処理時間(圧縮なし) 処理時間(圧縮あり) expdp 48分40秒 1時間3秒 scp 1時間23分 37分 impdp 3時間58分6秒 3時間53分28秒 合計 6時間9分46秒 5時間30分31秒 • 圧縮ありと圧縮なしでは圧縮ありの方が全体的な実行時間は約30分短くなりました • 想定されるダウンタイムは約5時間半~6時間 • 圧縮ありでは圧縮処理があるためエクスポートの処理時間が長くなり、容量が少ない分、 ファイル転送時間が短くなります 表. 2 ※本検証における前提条件に基づく結果であり、その他の環境における実行結果を保証するものではありません。
  26. Copyright © 2023, Oracle and/or its affiliates 30 Data Pump結果

    各工程の想定作業時間 事前設定からインポート完了までに想定される作業時間を表. 3に示します 工程 想定される作業時間(処理時間を含む/圧縮なし) 事前設定 30分 ダンプファイル・サイズの見積もり 1時間 パラメータ・ファイルの作成 6時間 エクスポートの実行 1時間 ダンプファイルの転送 2時間 インポートの実行 4時間 移行データの確認 30分 合計 15時間 • expdp/impdpコマンドやダンプファイル転送用のscpコマンドの処理時間を含め、想定される作業時間が 合計約15時間 表. 3 ※本検証における前提条件に基づく結果であり、その他の環境における実行結果を保証するものではありません。
  27. 負荷情報 – 圧縮なし/Export Data Pump結果 Copyright © 2023, Oracle and/or

    its affiliates 31 • ソースDBのシェイプ情報とData Pumpのパラレル・パラメータ • シェイプ:VM.Standard.E4.Flex • OCPU:4 • ネットワーク帯域幅(Gbps):4 • メモリー(GB):64 • PARALLEL=8 • CPU使用率 user: (Avg.)6.77% user+sys: (Avg.)14.07%
  28. • メモリー使用率 • I/O Write Throughput kB/s , Write IOPS

    負荷情報 – 圧縮なし/Export Data Pump結果 Copyright © 2023, Oracle and/or its affiliates 32 (Avg.) 99.35% (Avg.) 296308.48kB/s (Avg.) 366.45
  29. • ターゲットDBのシェイプ情報とData Pumpのパラレル・パラメータ • シェイプ:VM.Standard.E4.Flex • OCPU:4 • ネットワーク帯域幅(Gbps):4 •

    メモリー(GB):64 • PARALLEL=8 • CPU使用率 負荷情報 – 圧縮なし/Import Data Pump結果 Copyright © 2023, Oracle and/or its affiliates 33 user: (Avg.) 25.91% user+sys: (Avg.) 47.6%
  30. • メモリー使用率 • I/O Read Throughput kB/s , Read IOPS

    負荷情報 – 圧縮なし/Import Data Pump結果 Copyright © 2023, Oracle and/or its affiliates 34 (Avg.) 97.63% (Avg.) 43980.16kB/s (Avg.) 59.23
  31. 負荷情報 – 圧縮あり/Export Data Pump結果 Copyright © 2023, Oracle and/or

    its affiliates 35 • ソースDBのシェイプ情報とData Pumpのパラレル・パラメータ • シェイプ:VM.Standard.E4.Flex • OCPU:4 • ネットワーク帯域幅(Gbps):4 • メモリー(GB):64 • PARALLEL=8 • CPU使用率 user: (Avg.) 75.59% user+sys: (Avg.) 82.81%
  32. • メモリー使用率 • I/O Write Throughput kB/s , Write IOPS

    負荷情報 – 圧縮あり/Export Data Pump結果 Copyright © 2023, Oracle and/or its affiliates 36 (Avg.) 98.02% (Avg.) 92853.51kB/s (Avg.) 103.57
  33. • ターゲットDBのシェイプ情報とData Pumpのパラレル・パラメータ • シェイプ:VM.Standard.E4.Flex • OCPU:4 • ネットワーク帯域幅(Gbps):4 •

    メモリー(GB):64 • PARALLEL=8 • CPU使用率 負荷情報 – 圧縮あり/Import Data Pump結果 Copyright © 2023, Oracle and/or its affiliates 37 user: (Avg.) 28.2% user+sys: (Avg.) 47.06%
  34. • メモリー使用率 • I/O Read Throughput kB/s , Read IOPS

    負荷情報 – 圧縮あり/Import Data Pump結果 Copyright © 2023, Oracle and/or its affiliates 38 (Avg.) 96.72% (Avg.) 44386.68kB/s (Avg.) 58.38
  35. 負荷情報 – 比較表 表4. に圧縮なしと圧縮ありのExportおよびImport実行時の負荷情報の比較表を示します。 Data Pump結果 Copyright © 2023,

    Oracle and/or its affiliates 39 メトリック 圧縮なし/Export 圧縮あり/Export 圧縮なし/Import 圧縮あり/Import CPU使用率(user) 6.77% 75.59% 25.91% 28.2% CPU使用率(user+sys) 14.07% 82.81% 47.6% 47.06% メモリー使用率 99.35% 98.02% 97.63% 96.72% I/O Write Throughput kB/s 296308.48kB/s 92853.51kB/s - - Write IOPS 366.45 103.57 - - I/O Read Throughput kB/s - - 43980.16kB/s 44386.68kB/s Read IOPS - - 59.23 58.38 表4. ※本検証における前提条件に基づく結果であり、その他の環境における実行結果を保証するものではありません。
  36. 負荷情報 – 考察 • 圧縮ありでエクスポート処理を実行するとCPUにかかる負荷が高くなる • 圧縮ありで実行すると、圧縮なしの時と比較してエクスポート時のCPU使用率は約70%増加した • 圧縮ありでエクスポート処理を実行すると書き込みのスループットは低くなる •

    圧縮ありで実行すると、圧縮なしの時と比較してエクスポート時のI/O書き込みスループットは約20万(kB/s) 低下し、書き込みIOPSは約260低下した • インポート処理では圧縮ありと圧縮なしの場合で大きな違いは出なかった • メモリー使用率に関しては、圧縮ありと圧縮なしの場合で違いはなく、また、エクスポート処理とインポート処理でも差は ほとんど出ず、どの場合も95%以上の結果となった Data Pump結果 Copyright © 2023, Oracle and/or its affiliates 40
  37. Data Pumpジョブの中断、再開、強制終了 Data Pumpでエクスポートおよびインポートの実行を中断したい場合は、「Ctrl + C」を1回押します ※ stop_jobコマンドを実行し、続いての確認に対して「yes」と入力すると中断され、コンソールに復帰します Data Pump

    Tips Copyright © 2023, Oracle and/or its affiliates 42 22-JUN-23 08:31:28.099: Completed 1 TABLESPACE_QUOTA objects in 0 seconds 22-JUN-23 08:31:28.100: Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA ^C Export> stop_job Are you sure you wish to stop this job ([yes]/no): yes [oracle@host-10-5-1-231]$ 以下に操作例を示します ※ 「Ctrl + C」を2回押してしまうと実行中のままコンソールに復帰してしまいます 続いて、SQL*Plusへ接続してジョブの名前を確認します SQL> SELECT * FROM DBA_DATAPUMP_JOBS; OWNER_NAME JOB_NAME OPERATION JOB_MODE STATE DEGREE ATTACHED_SESSIONS DATAPUMP_SESSIONS ---------- -------------------- ---------- ---------- --------------- ---------- ----------------- ----------------- DPUSER SYS_EXPORT_SCHEMA_01 EXPORT SCHEMA NOT RUNNING 0 0 0
  38. Data Pumpジョブの中断、再開、強制終了 Data Pump Tips Copyright © 2023, Oracle and/or

    its affiliates 43 $ expdp dpuser/Welcome1 attach=SYS_EXPORT_SCHEMA_01 Export> start_job SQL*Plusを終了し、以下のコマンドを実行するとジョブを再開できます [oracle@host-10-5-1-231]$ expdp dpuser/Welcome1 attach=SYS_EXPORT_SCHEMA_01 Export: Release 12.1.0.2.0 - Production on Thu Jun 22 08:41:57 2023 ***省略*** Job: SYS_EXPORT_SCHEMA_01 Owner: DPUSER Operation: EXPORT ***省略*** Process Name: DW07 State: UNDEFINED Export> start_job 実行例:
  39. Data Pumpジョブの中断、再開、強制終了 Data Pump Tips Copyright © 2023, Oracle and/or

    its affiliates 44 $ expdp dpuser/Welcome1 attach=SYS_EXPORT_SCHEMA_01 Export> kill_job Are you sure you wish to stop this job ([yes]/no): yes SQL*Plusを終了し、以下のコマンドを実行するとジョブを強制終了できます [oracle@host-10-5-1-231]$ expdp dpuser/Welcome1 attach=SYS_EXPORT_SCHEMA_01 Export: Release 12.1.0.2.0 - Production on Thu Jun 22 08:47:23 2023 ***省略*** Job: SYS_EXPORT_SCHEMA_01 Owner: DPUSER Operation: EXPORT ***省略*** Process Name: DW07 State: UNDEFINED Export> kill_job Are you sure you wish to stop this job ([yes]/no): yes [oracle@host-10-5-1-231]$ 実行例:
  40. コンパイル・エラー(ORA-39082)の処理 インポートで以下のようなエラーが発生する場合があります Data Pump Tips Copyright © 2023, Oracle and/or

    its affiliates 45 28-MAR-23 23:56:37.663: ORA-39082: Object type PACKAGE BODY:"SCOTT"."ORDERENTRY" created with compilation warnings 28-MAR-23 23:56:37.868: Job "DPUSER"."SYS_IMPORT_SCHEMA_01" completed with 1 error(s) at Tue Mar 28 23:56:37 2023 elapsed 0 09:51:33
  41. コンパイル・エラー(ORA-39082)の処理 Data Pump Tips Copyright © 2023, Oracle and/or its

    affiliates 46 SQL> SELECT OWNER,OBJECT_NAME,OBJECT_TYPE,STATUS FROM ALL_OBJECTS WHERE STATUS = 'INVALID'; OWNER OBJECT_NAME OBJECT_TYPE STATUS ----------- -------------------- ------------------ ---------------- SCOTT ORDERENTRY PACKAGE BODY INVALID SQL> show errors package body scott.orderentry Errors for PACKAGE BODY SCOTT.ORDERENTRY: LINE/COL ERROR -------- ----------------------------------------------------------------- 104/13 PL/SQL: Statement ignored 104/13 PLS-00201: identifier 'DBMS_LOCK' must be declared 107/13 PL/SQL: Statement ignored 107/13 PLS-00201: identifier 'DBMS_LOCK' must be declared 194/11 PL/SQL: SQL Statement ignored 195/40 PL/SQL: ORA-00932: inconsistent datatypes: expected DATE got TIME WITH TIME ZONE エラー内容を確認します
  42. コンパイル・エラー(ORA-39082)の処理 Data Pump Tips Copyright © 2023, Oracle and/or its

    affiliates 47 SQL> EXECUTE UTL_RECOMP.RECOMP_SERIAL('SCOTT'); PL/SQL procedure successfully completed. 再コンパイルコマンドを実行します SQL> show errors package body scott.orderentry Errors for PACKAGE BODY SCOTT.ORDERENTRY: LINE/COL ERROR -------- ----------------------------------------------------------------- 104/13 PL/SQL: Statement ignored 104/13 PLS-00201: identifier 'DBMS_LOCK' must be declared 107/13 PL/SQL: Statement ignored 107/13 PLS-00201: identifier 'DBMS_LOCK' must be declared エラー内容を確認します
  43. コンパイル・エラー(ORA-39082)の処理 Data Pump Tips Copyright © 2023, Oracle and/or its

    affiliates 48 SQL> GRANT EXECUTE ON DBMS_LOCK TO scott; Grant succeeded. SQL> EXECUTE UTL_RECOMP.RECOMP_SERIAL('SCOTT'); PL/SQL procedure successfully completed. SCOTTにDBMS_LOCK権限を付与し、もう一度再コンパイルコマンドを実行します SQL> SHOW ERRORS PACKAGE BODY SOE.ORDERENTRY No errors. エラー内容を確認します
  44. 全体手順 事前設定 • エンディアン形式の確認 • 転送対象の表領域が自己完 結型であることの確認 • ダンプファイルと表領域のデー タ・ファイル用のディレクトリの

    準備 • expdp/impdpコマンド実行 ユーザの作成 • ターゲットDB環境の表領域名 の変更 エクスポート • ディクショナリ統計の収集 • 表領域の読取り専用モードへ の設定 • パラメータ・ファイルの作成 • expdpコマンドの実行 ファイルの転送 • scpを使用したターゲットDBへ のダンプファイルと表領域の データファイルの転送 インポート • パラメータ・ファイルの作成 • impdpコマンドの実行 • 移行データの確認 • ディクショナリ統計の収集 Full Transportable Export/Import手順 Copyright © 2023, Oracle and/or its affiliates 51
  45. 構成図 Full Transportable Export/Import手順 Copyright © 2023, Oracle and/or its

    affiliates 52 ap-osaka-1 ap-tokyo-1 AD1 AD1 VCN(ソース) : peeringVCN_Kix Public (10.5.0.0/24) Private (10.5.1.0/24) VCN(ターゲット) : peeringVCN Private (10.0.1.0/24) Internet Internet GW DRG DRG Remote Peering 踏み台サーバ ターゲットDB ソースDBサーバ 10.5.1.124 host-10-5-1-124 OCI Tenancy Cust Tenancy Oracle Services Network File Storage File Storage 10.5.0.140 host-10-5-0-140 OCI Tenancy Oracle Services Network File Storage Mount Target File Storage Mount Target 10.0.1.147 TargetMiya2 DB2 Block Storage
  46. 移行の流れ Full Transportable Export/Import手順 Copyright © 2023, Oracle and/or its

    affiliates 53 expdp impdp scp .dmpファイル(メタデータ) + .dbfファイル(表領域のデータ) ソースDB ターゲットDB .dmpファイル(メタデータ) + .dbfファイル(表領域のデータ)
  47. 全体手順 事前設定 • エンディアン形式の確認 • 転送対象の表領域が自己完 結型であることの確認 • ダンプファイルと表領域のデー タ・ファイル用のディレクトリの

    準備 • expdp/impdpコマンド実行 ユーザの作成 • ターゲットDB環境の表領域名 の変更 エクスポート • ディクショナリ統計の収集 • 表領域の読取り専用モードへ の設定 • パラメータ・ファイルの作成 • expdpコマンドの実行 ファイルの転送 • scpを使用したターゲットDBへ のダンプファイルと表領域の データファイルの転送 インポート • パラメータ・ファイルの作成 • impdpコマンドの実行 • 移行データの確認 • ディクショナリ統計の収集 Full Transportable Export/Import手順 Copyright © 2023, Oracle and/or its affiliates 54
  48. エンディアン形式の確認 ソースDBとターゲットDBでエンディアン形式が異なる場合は移行できません 両方の環境でエンディアン形式の確認をします Full Transportable Export/Import手順 – 事前設定 Copyright ©

    2023, Oracle and/or its affiliates 55 SQL> SELECT d.PLATFORM_NAME, ENDIAN_FORMAT FROM V$TRANSPORTABLE_PLATFORM tp, V$DATABASE d WHERE tp.PLATFORM_ID = d.PLATFORM_ID; PLATFORM_NAME -------------------------------------------------------------------------------- ENDIAN_FORMAT -------------- Linux x86 64-bit Little 以下のように確認する エンディアン形式がソースDBとターゲットDBで異なる場合、Oracle Recovery Manager(Oracle RMAN)の CONVERTコマンドか、DBMS_FILE_TRANSFERパッケージのGET_FILEまたはPUT_FILEプロシージャを使用して、 転送されるデータファイルをターゲット・プラットフォームの形式に変換する必要があります
  49. 転送対象の表領域が自己完結型であることの確認 Full Transportable Export/Importでは、管理表領域(SYSTEMやSYSAUXなど)とユーザー定義表領域の両方で 定義されているデータベース・オブジェクトは転送できません たとえば、パーティション表は、ユーザー定義表領域と管理表領域の両方に格納されることがあります Full Transportable Export/Import手順 –

    事前設定 Copyright © 2023, Oracle and/or its affiliates 56 SQL> EXECUTE DBMS_TTS.TRANSPORT_SET_CHECK('USERS', TRUE); PL/SQL procedure successfully completed. SQL> SELECT * FROM TRANSPORT_SET_VIOLATIONS; no rows selected 自己完結型のオブジェクトがあるかのチェックコマンド(ソースDBで実行) • 上記のように表示されるビューが空の場合はすべての転送対象の表領域が自己完結型です • 表が表示される場合は外部に対して参照を持っているため、対象から外すか、管理表領域またはユーザー定義表 領域のいずれかに格納されるように再定義するなどして、解決する必要があります
  50. ダンプファイルと表領域のデータ・ファイル用のディレクトリの準備 Full Transportable Export/Import手順 – 事前設定 Copyright © 2023, Oracle

    and/or its affiliates 57 ダンプ・ファイルと表領域のデータファイル(ターゲットDB環境のみ)を保管するディレクトリを作成し、ディレクトリ・パスを ディレクトリ・オブジェクトとして指定します ディレクトリ名とディレクトリの配置は任意ですが、ディレクトリにダンプファイルを保管できる十分な領域を確保してください $ mkdir /tmp/fttdatapump $ chmod 777 /tmp/fttdatapump SQL> create directory dp_dir as '/tmp/fttdatapump’; ソースDB環境とターゲットDB環境で実行するコマンド: select directory_name, directory_path from dba_directories where directory_name='DP_DIR'; 確認コマンド: $ mkdir /tmp/dbf $ chmod 777 /tmp/dbf ターゲットDB環境に表領域のデータファイル用のディレクトリを作成する
  51. expdp/impdpコマンド実行ユーザの作成 Full Transportable Export/Import手順 – 事前設定 Copyright © 2023, Oracle

    and/or its affiliates 58 Data Pumpのexpdpコマンドを実行するためのユーザを準備します (専用のスキーマ作成を推奨) エクスポート操作に必要な権限を付与します SQL> create user dpuser identified by password; SQL> alter user dpuser quota unlimited on users; SQL> grant read, write on directory dump_dir to dpuser; SQL> alter user dpuser default tablespace system; SQL> alter user dpuser quota unlimited on users; SQL> grant datapump_exp_full_database to dpuser; ソースDBで実行するコマンド: • 移行対象の表領域がUSERSの場合、実行ユーザ(dpuser)のデフォルト表領域をUSERSに設定すると、 expdp実行の際にエラーになるため、別の表領域(※)に変更する必要があります ⇒ エラーの詳細、(※)に関しては本資料の「 Full Transportable Export/Import Tips」の項目に記述します
  52. expdp/impdpコマンド実行ユーザの作成 Full Transportable Export/Import手順 – 事前設定 Copyright © 2023, Oracle

    and/or its affiliates 59 Data Pumpのimpdpコマンドを実行するためのユーザを準備します (専用のスキーマ作成を推奨) エクスポート操作に必要な権限を付与します SQL> create user dpuser identified by password; SQL> alter user dpuser quota unlimited on users; SQL> grant read, write on directory dump_dir to dpuser; SQL> grant datapump_imp_full_database to dpuser; ターゲットDBで実行するコマンド:
  53. 全体手順 事前設定 • エンディアン形式の確認 • 転送対象の表領域が自己完 結型であることの確認 • ダンプファイルと表領域のデー タ・ファイル用のディレクトリの

    準備 • expdp/impdpコマンド実行 ユーザの作成 • ターゲットDB環境の表領域名 の変更 エクスポート • ディクショナリ統計の収集 • 表領域の読取り専用モードへ の設定 • パラメータ・ファイルの作成 • expdpコマンドの実行 ファイルの転送 • scpを使用したターゲットDBへ のダンプファイルと表領域の データファイルの転送 インポート • パラメータ・ファイルの作成 • impdpコマンドの実行 • 移行データの確認 • ディクショナリ統計の収集 Full Transportable Export/Import手順 Copyright © 2023, Oracle and/or its affiliates 61
  54. ディクショナリ統計の収集 Full Transportable Export/Import手順 – エクスポート Copyright © 2023, Oracle

    and/or its affiliates 62 エクスポートを実行する前にディクショナリ統計を収集して最新の統計情報を維持します SQL> begin dbms_stats.gather_schema_stats('SYS'); dbms_stats.gather_schema_stats('SYSTEM'); end; ターゲットDBで実行するコマンド:
  55. 表領域の読取り専用モードへの設定 エクスポート期間中は、転送される表領域を読取り専用モードにする必要があります Full Transportable Export/Import手順 – エクスポート Copyright © 2023,

    Oracle and/or its affiliates 63 SQL> alter tablespace users read only; ソースDBで実行するコマンド: SQL> select status from dba_tablespaces where tablespace_name = 'USERS’; STATUS --------- READ ONLY 確認コマンド: • エクスポートが完了し、表領域のデータファイルがターゲットDB環境に転送されたら、 表領域を読取り/書込みモードに戻すことができます
  56. パラメータ・ファイルの作成 エクスポート(expdp)の実行に使用するパラメータ・ファイルを作成します Full Transportable Export/Import手順 – エクスポート Copyright © 2023,

    Oracle and/or its affiliates 64 full=y transportable=always directory=dp_dir dumpfile=dumpfile%U.dmp exclude=statistics logtime=all metrics=yes logfile=export_1.log エクスポート用のパラメータ・ファイル(ftexpdp.par): • full=yとtransportable=alwaysを指定することで、Full Transportable Exportが実行されます
  57. expdpコマンドの実行 Full Transportable Export/Import手順 – エクスポート Copyright © 2023, Oracle

    and/or its affiliates 65 エクスポートを実行します $ expdp dpuser/password@pdb parfile=ftexpdp.par Export: Release 12.1.0.2.0 - Production on Mon May 1 05:52:48 2023 Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved. ;;; Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options 01-MAY-23 05:52:50.842: Starting "DPUSER"."SYS_EXPORT_FULL_01": dpuser/******** parfile=ftexp.par ***省略*** 01-MAY-23 05:54:07.923: Job "DPUSER"."SYS_EXPORT_FULL_01" successfully completed at Mon May 1 05:54:07 2023 elapsed 0 00:01:18 実行コマンド: 実行結果:
  58. expdpコマンドの実行 エクスポートされたダンプファイルを確認します Data Pump手順 – エクスポート Copyright © 2023, Oracle

    and/or its affiliates 66 [oracle@host-10-5-1-231 fttdatapump]$ ls -lha total 2.9M drwxrwxrwx. 2 root root 84 Apr 10 02:55 . drwxrwxrwx. 5 root root 68 Mar 13 02:53 .. -rw-r-----. 1 oracle oinstall 2.9M Apr 10 02:56 dumpfile01.dmp -rw-r--r--. 1 oracle oinstall 21K Apr 10 02:49 export_1.log ダンプファイルが配置されているディレクトリを確認します
  59. 全体手順 事前設定 • エンディアン形式の確認 • 転送対象の表領域が自己完 結型であることの確認 • ダンプファイルと表領域のデー タ・ファイル用のディレクトリの

    準備 • expdp/impdpコマンド実行 ユーザの作成 • ターゲットDB環境の表領域名 の変更 エクスポート • ディクショナリ統計の収集 • 表領域の読取り専用モードへ の設定 • パラメータ・ファイルの作成 • expdpコマンドの実行 ファイルの転送 • scpを使用したターゲットDBへ のダンプファイルと表領域の データファイルの転送 インポート • パラメータ・ファイルの作成 • impdpコマンドの実行 • 移行データの確認 • ディクショナリ統計の収集 Full Transportable Export/Import手順 Copyright © 2023, Oracle and/or its affiliates 67
  60. scpを使用したターゲットDBへのダンプファイルと表領域のデータファイルの転送 Full Transportable Export/Import手順 – ダンプファイルと表領域のデータファイル の転送 Copyright © 2023,

    Oracle and/or its affiliates 68 scpコマンドを使用してダンプファイルと表領域のデータファイルをソースDB環境からターゲットDB環境に転送します nohupをscpの前につけて実行することで、転送中にセッションが切れても転送を継続させることができます $ nohup scp -i /home/opc/.ssh/ssh-key-2022-10-31.key /tmp/fttdatapump/dumpfile* [email protected]:/tmp/fttdatapump $ nohup scp -i /home/opc/.ssh/ssh-key-2022-10-31.key /u01/app/oracle/oradata/oradb/users* [email protected]:/tmp/dbf nohupを使用したscpコマンド: $ jobs -l ジョブの状態を確認するコマンド: 転送が完了すると以下のように出力される $ jobs –l [1]+ Done nohup scp –i /home/opc/.ssh/ssh-key-2022-10-31.key /tmp/datapump/dumpfile* [email protected]:/tmp/datapump
  61. 全体手順 事前設定 • エンディアン形式の確認 • 転送対象の表領域が自己完 結型であることの確認 • ダンプファイルと表領域のデー タ・ファイル用のディレクトリの

    準備 • expdp/impdpコマンド実行 ユーザの作成 • ターゲットDB環境の表領域名 の変更 エクスポート • ディクショナリ統計の収集 • 表領域の読取り専用モードへ の設定 • パラメータ・ファイルの作成 • expdpコマンドの実行 ファイルの転送 • scpを使用したターゲットDBへ のダンプファイルと表領域の データファイルの転送 インポート • パラメータ・ファイルの作成 • impdpコマンドの実行 • 移行データの確認 • ディクショナリ統計の収集 Full Transportable Export/Import手順 Copyright © 2023, Oracle and/or its affiliates 69
  62. パラメータ・ファイルの作成 Full Transportable Export/Import手順 – インポート Copyright © 2023, Oracle

    and/or its affiliates 70 インポート(impdp)の実行に使用するパラメータ・ファイルを作成します directory=dp_dir dumpfile=dumpfile%L.dmp exclude=statistics logtime=all metrics=yes transport_datafiles=/tmp/dbf/users*.dbf logfile=import_1.log インポート用のパラメータ・ファイル(ftimpdp.par): • transport_datafilesにソースDBから転送してきた表領域のデータファイルを指定することで、 Full Transportable Importが実行されます
  63. impdpコマンドの実行 Full Transportable Export/Import手順 – インポート Copyright © 2023, Oracle

    and/or its affiliates 71 インポートを実行します $ impdp dpuser/password@pdb parfile=ftimpdp.par Import: Release 19.0.0.0.0 - Production on Mon May 1 18:30:42 2023 Version 19.16.0.0.0 Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved. ;;; Connected to: Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 – Production ***省略*** 01-MAY-23 18:32:10.556: Job "DPUSER"."SYS_IMPORT_TRANSPORTABLE_01" successfully completed at Mon May 1 18:32:10 2023 elapsed 0 00:01:26 実行コマンド: 実行結果:
  64. 移行データの確認 Full Transportable Export/Import手順 – インポート Copyright © 2023, Oracle

    and/or its affiliates 72 移行データを確認します ソースDBとのデータ量を比較します SQL> select sum(bytes)/(1024*1024*1024)"SIZE[GB]" from dba_segments where owner='SCOTT'; 実行コマンド: SIZE[GB] ---------- 1021.92157 実行結果(ターゲットDB): SIZE[GB] ---------- 1021.92725 実行結果(ソースDB):
  65. 移行データの確認 Full Transportable Export/Import手順 – インポート Copyright © 2023, Oracle

    and/or its affiliates 73 移行したスキーマのテーブルの種類やオブジェクトの数がソースDBとターゲットDBで一致するか確認する SQL> select table_name from dba_tables where owner = 'SCOTT'; テーブル一覧の確認(ソースDB、ターゲットDB) SQL> select count(*) from scott.customers; テーブルそれぞれのレコード数の確認(ソースDB、ターゲットDB) SQL> select object_name, object_type from dba_objects where owner = 'SCOTT' order by object_name; スキーマ所有のオブジェクト一覧の確認(ソースDB、ターゲットDB):
  66. ディクショナリ統計の収集 Full Transportable Export/Import手順 – インポート Copyright © 2023, Oracle

    and/or its affiliates 74 インポートを実行した後にディクショナリ統計を収集して最新の統計情報を維持します SQL> begin dbms_stats.gather_schema_stats('SYS'); dbms_stats.gather_schema_stats('SYSTEM'); end; ターゲットDBで実行するコマンド:
  67. 処理時間 各実行コマンドの処理時間を表. 5に示します Full Transportable Export/Import結果 Copyright © 2023, Oracle

    and/or its affiliates 76 コマンド 処理時間 expdp 1分18秒 scp(ダンプファイル) 1秒 scp(表領域のデータファイル) 1時間38分 impdp 1分26秒 合計 1時間40分45秒 • 想定されるダウンタイムは約1時間40分 表. 5 ※本検証における前提条件に基づく結果であり、その他の環境における実行結果を保証するものではありません。
  68. 各工程の想定作業時間 事前設定からインポート完了までに想定される作業時間を表. 6に示します Full Transportable Export/Import結果 Copyright © 2023, Oracle

    and/or its affiliates 77 工程 想定される作業時間(処理時間を含む) 事前設定 2時間 パラメータ・ファイルの作成 6時間 エクスポートの実行 10分 ファイルの転送 2時間 インポートの実行 10分 移行データの確認 30分 合計 10時間50分 • expdp/impdpコマンドやダンプファイル転送用のscpコマンドの処理時間を含め、想定される作業時間が 合計約10時間50分 表. 6 ※本検証における前提条件に基づく結果であり、その他の環境における実行結果を保証するものではありません。
  69. • ソースDBのシェイプ情報 • シェイプ:VM.Standard.E4.Flex • OCPU:4 • ネットワーク帯域幅(Gbps):4 • メモリー(GB):64

    • CPU使用率 負荷情報 - Export Full Transportable Export/Import結果 Copyright © 2023, Oracle and/or its affiliates 78 user: (Avg.) 7.25% user+sys: (Avg.) 8.25%
  70. • メモリー使用率 • I/O Write Throughput kB/s , Write IOPS

    負荷情報 - Export Full Transportable Export/Import結果 Copyright © 2023, Oracle and/or its affiliates 79 (Avg.) 44.61% (Avg.) 121kB/s (Avg.) 6.25
  71. • ターゲットDBのシェイプ情報 • シェイプ:VM.Standard.E4.Flex • OCPU:4 • ネットワーク帯域幅(Gbps):4 • メモリー(GB):64

    • CPU使用率 負荷情報 - Import Full Transportable Export/Import結果 Copyright © 2023, Oracle and/or its affiliates 80 user: (Avg.) 11.5% user+sys: (Avg.) 13.75%
  72. • メモリー使用率 • I/O Read Throughput kB/s , Read IOPS

    負荷情報 - Import Full Transportable Export/Import結果 Copyright © 2023, Oracle and/or its affiliates 81 (Avg.) 96.89% (Avg.) 117.25kB/s (Avg.) 6.00
  73. 負荷情報 – 比較表 表7. に負荷情報の結果の比較表を示します Full Transportable Export/Import結果 Copyright ©

    2023, Oracle and/or its affiliates 82 メトリック Export Import CPU使用率(user) 7.25% 11.5% CPU使用率(user+sys) 8.25% 13.75% メモリー使用率 44.61% 96.89% I/O Write Throughput kB/s 121kB/s - Write IOPS 6.25 - I/O Read Throughput kB/s - 117.25kB/s Read IOPS - 6.00 表7. ※本検証における前提条件に基づく結果であり、その他の環境における実行結果を保証するものではありません。
  74. expdp実行ユーザのデフォルトの表領域の設定(ORA-01647) expdpコマンドを実行するユーザのデフォルト表領域が移行対象の表領域の場合、以下のようなエラーが発生します Full Transportable Export/Import Tips Copyright © 2023, Oracle

    and/or its affiliates 85 $ expdp dpuser/Welcome1 parfile=ftexp.par ***省略*** ORA-31626: job does not exist ORA-31633: unable to create master table "DPUSER.SYS_EXPORT_FULL_05" ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95 ORA-06512: at "SYS.KUPV$FT", line 1048 ORA-01647: tablespace 'USERS' is read-only, cannot allocate space in it dpuserのデフォルト表領域をUSERS(移行対象の表領域)のまま実行 【原因】 • Data Pumpのエクスポートでは、制御プロセスが制御表を作成する領域が必要であり、読取り専用モードに設定し たデフォルト表領域であるUSERSに作成しようとするためエラーとなります 【解決策】 • 実行ユーザ(dpuser)のデフォルト表領域を読取り/書込みモードの表領域(※)に変更することで解決できます (※) 必要に応じてダミー表領域を作成してください
  75. Copyright © 2023, Oracle and/or its affiliates 86 Data PumpとFull

    Transportable Export/Importの結果比較
  76. 処理時間 表8. にData Pump(圧縮なし/あり)とFTEXの処理時間の結果の比較表を示します Data PumpとFull Transportable Export/Import結果比較 Copyright ©

    2023, Oracle and/or its affiliates 87 表8. コマンド Data Pump(圧縮なし) /処理時間 Data Pump(圧縮あり) /処理時間 FTEX/処理時間 expdp 48分40秒 1時間3秒 1分18秒 scp(ダンプファイル) 1時間23分 37分 1秒 scp(表領域のデー タファイル) - - 1時間38分 impdp 3時間58分6秒 3時間53分28秒 1分26秒 合計 6時間9分46秒 5時間30分31秒 1時間40分45秒 • FTEXはData Pumpの圧縮なしとありの両方と比較して、4時間ほど合計処理時間が短くなっています • FTEXのexpdp/impdpの処理では、表領域のデータファイルが含まれていない分、Data Pumpよりも処理時間が 短くなっているといえます • Data Pumpのダンプファイルの転送時間とFTEXのデータファイルの転送時間では差がそこまで出ませんでした ※本検証における前提条件に基づく結果であり、その他の環境における実行結果を保証するものではありません。
  77. Copyright © 2023, Oracle and/or its affiliates 88 Data PumpとFull

    Transportable Export/Import結果比較 各工程の想定作業時間 事前設定からインポート完了までに想定される作業時間を表9.に示します 工程 DP 想定される作業時間(処理時間を含む /圧縮なし) FTEX 想定される作業時間(処理時間を 含む) 事前設定 30分 2時間 ダンプファイル・サイズの 見積もり 1時間 - パラメータ・ファイルの作成 6時間 6時間 エクスポートの実行 1時間 10分 ダンプファイルの転送 2時間 2時間 インポートの実行 4時間 10分 移行データの確認 30分 30分 合計 15時間 10時間50分 • FTEXの方がData Pumpよりも想定される作業時間は約4時間10分短くなっています 表9. ※本検証における前提条件に基づく結果であり、その他の環境における実行結果を保証するものではありません。
  78. 負荷情報 表10. にData PumpとFTEXのエクスポートとインポート時のそれぞれの負荷情報の結果の比較表を示します Data PumpとFull Transportable Export/Import結果比較 Copyright ©

    2023, Oracle and/or its affiliates 89 メトリック DP圧縮なし /Export DP圧縮あり /Export DP圧縮なし /Import DP圧縮あり /Import FTEX /Export FTEX /Import CPU使用率(user) 6.77% 75.59% 25.91% 28.2% 7.25% 11.5% CPU使用率 (user+sys) 14.07% 82.81% 47.6% 47.06% 8.25% 13.75% メモリー使用率 99.35% 98.02% 97.63% 96.72% 44.61% 96.89% I/O Write Throughput kB/s 296308.48kB/ s 92853.51kB/s - - 121kB/s - Write IOPS 366.45 103.57 - - 6.25 - I/O Read Throughput kB/s - - 43980.16kB/s 44386.68kB/s - 117.25kB/s Read IOPS - - 59.23 58.38 - 6.00 表10. ※本検証における前提条件に基づく結果であり、その他の環境における実行結果を保証するものではありません。
  79. 負荷情報 – 考察 • CPU使用率はエクスポート時、インポート時のどちらにおいてもFTEXの方がData Pumpよりも低い結果となりました • メモリ使用率は、FTEXのエクスポート時以外は95%以上 • エクスポート時のI/O書き込みスループットと書き込みIOPSまた、インポート時のI/O読み取りスループットと読み取り

    IOPSはFTEXの方がData Pumpと比較して圧倒的に低い結果となりました • FTEXではメタデータのみエクスポートとインポートの処理をするため、データファイルも含めて処理を行うData Pumpと 比較して全体の負荷が小さい Data PumpとFull Transportable Export/Import結果比較 Copyright © 2023, Oracle and/or its affiliates 90
  80. 全体結果考察 Full Transportable Export/ImportはData Pumpと比較して、エクスポートとインポート時の、 • 処理時間が短かった • データベースに対する負荷が全体的に低くかった Data

    Pumpのexpdp/impdp処理では移行対象のすべてのデータを処理するのに対し、 Full Transportable Export/Importでは、 表領域のデータファイルを含まず、メタデータのみ処理するため、このような結果になったと考えられる Data PumpとFull Transportable Export/Import結果比較 Copyright © 2023, Oracle and/or its affiliates 91
  81. Data PumpとFull Transportable Export/Import Data Pump • エクスポートとインポートの処理時間が長い • FTEXと比べて事前設定や確認事項が少ない

    • 異なるエンディアン間での移行が可能 • ターゲットDB環境に移行対象の表領域と同じ名称の表領 域が存在してもインポート可能 Full Transportable Export/Import • エクスポートとインポートの処理時間が短い • エクスポートとインポート時のデータベースに対する負荷が 小さい • 事前設定や確認事項が多い • 転送対象の表領域が自己完結型である必要がある • 異なるエンディアン間での移行の場合、事前にソースDB 側で変換作業が必要 • 転送される表領域を読取り専用モードにする必要が ある • ターゲットDB環境に移行対象の表領域と同じ名称の 表領域が存在する場合、インポートできない など 検証を通した考察と所感 Copyright © 2023, Oracle and/or its affiliates 93
  82. Data PumpとFull Transportable Export/Import Data Pump • エクスポートとインポートの処理時間が長い • FTEXと比べて事前設定や確認事項が少ない

    • 異なるエンディアン間での移行が可能 • ターゲットDB環境に移行対象の表領域と同じ名称の表領 域が存在してもインポート可能 Full Transportable Export/Import • エクスポートとインポートの処理時間が短い • エクスポートとインポート時のデータベースに対する負荷が 小さい • 事前設定や確認事項が多い • 転送対象の表領域が自己完結型である必要がある • 異なるエンディアン間での移行の場合、事前にソースDB 側で変換作業が必要 • 転送される表領域を読取り専用モードにする必要が ある • ターゲットDB環境に移行対象の表領域と同じ名称の 表領域が存在する場合、インポートできない • など 検証を通した考察と所感 Copyright © 2023, Oracle and/or its affiliates 94 複雑な構成のデータベース向け 大容量のデータベース向け