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

【DB19c Upgrade!】エピソード05 移行戦略

【DB19c Upgrade!】エピソード05 移行戦略

データベースをアップグレードしよう! バーチャル・クラスルーム
~ Oracle Databaseの運用をされている方が必ず知っておきたいアップグレードのベスト・プラクティス

エピソード05 移行戦略
- プラットフォーム移行の最適な選択、ベスト・プラクティスと事例(Data Pump, Data Guard, FTEX, GoldenGate)、ExaCC移行、統計の転送
https://www.youtube.com/watch?v=73sDhC-zd-Q

これまでに、パフォーマンス、安定性、マルチテナントへの移行など、アップグレードのあらゆる側面を説明してきました。今回は少し焦点を変えて、データベースの移行戦略について詳しくお話しします。
移行戦略については、実に多くのことが頭に浮かびます。例えば、AIX上に300テラバイトのデータベースをExadataに移行したい、あるいは、WindowsからLinuxに移行したい、あるいは、非常に重要なデータベースを30秒しか停止させられないSLAがある。アップグレードでは、通常、辞書を更新するだけですが、マイグレーションでは、データを読み込んで、ソースからターゲットサイトに転送する必要があります。そのため、データベースのサイズは、通常、移行時間に大きく影響します。
どのような手法がベストなのでしょうか? 非常に多くの技術が用意されています。Data Pump、トランスポータブル表領域、フル・トランスポータブル・エクスポートおよびインポート、Data Guard、増分バックアップ、そしてGoldenGateなどです。
そこで、最良の選択をできるようにします。非常にシンプルなアプローチか、ダウンタイムを少なくするか、です。そして最後には、データベースを移行する際に正しいパフォーマンスデータが得られるよう、移行後のパフォーマンスについてもご案内します。

oracle4engineer

May 10, 2022
Tweet

More Decks by oracle4engineer

Other Decks in Technology

Transcript

  1. ヒント、コツ、インサイト、そして秘密 Roy Swonger, Mike Dietrich & Daniel Overby Hansen Database

    Upgrade, Utilities and Patching 移行戦略 Photo by Todd Trapani on Unsplash
  2. Vice President Database Upgrade, Utilities & Patching Roy F. Swonger

    @RoyFSwonger Copyright © 2021, Oracle and/or its affiliates 2
  3. Distinguished Product Manager Database Upgrade and Migrations Mike Dietrich https://MikeDietrichDE.com

    @MikeDietrichDE mikedietrich Copyright © 2021, Oracle and/or its affiliates 3
  4. Senior Principal Product Manager Cloud Migration Daniel Overby Hansen https://dohdatabase.com

    @dohdatabase dohdatabase Copyright © 2021, Oracle and/or its affiliates 4
  5. 移行 | 手法 手法は次のとおりです: • Data Pump • トランスポータブル表領域 •

    フル・トランスポータブル・エクスポート/インポート • Data Guard • 増分バックアップ • Oracle GoldenGate Simplicity Downtime Copyright © 2021, Oracle and/or its affiliates 9
  6. Copyright © 2021, Oracle and/or its affiliates 11 Data Pump

    RMAN Data Guard Golden Gate Trans- Portable 異なる 移行 技術
  7. 長所 • 使いやすさ • Universal • 構造や文字セットなどを変更 • プラットフォームに依存しない •

    アーキテクチャに依存しない • バージョン間で機能 • 下位互換性 ドキュメンテーション • Oracle Database 19cユーティリティ・ガイド 考慮事項 • 大量のデータおよび複雑な構造の期間 Data Pump Copyright © 2021, Oracle and/or its affiliates 13
  8. Data Pump | モード比較 Copyright © 2021, Oracle and/or its

    affiliates 18 DUMP FILE NETWORK ファイル・システムへのアクセスが必要 ダンプ・ファイルのディスク領域が必要です フル機能 SQL*Net接続 追加のディスク領域は不要 機能に制限がある プロ・チップ: Data Pumpのデータ移動方 法の詳細
  9. Data Pump | アーキテクチャ DBMS_DATAPUMP DBMS_DATAPUMP expdp impdp プロ・チップ: Data

    Pumpのデータ移動方 法の詳細 Copyright © 2021, Oracle and/or its affiliates 19
  10. 20 Copyright © 2021, Oracle and/or its affiliates Data Pump

    | 前提条件 権限 ディレクトリ Streamsプール 2つの事前定義済ロール: • DATAPUMP_EXP_FULL_DATABASE • DATAPUMP_IMP_FULL_DATABASE SYS AS SYSDBAを使用しない プロ・チップ: これらのロールは強力です - 付与時には注意 Database 19c, Utilities Guide
  11. 21 Copyright © 2021, Oracle and/or its affiliates Data Pump

    | 前提条件 権限 ディレクトリ Streamsプール ダンプ・ファイルとログ・ファイルの格納が必要 プロ・チップ: Data Pumpはサーバー側を実行するため、デー タベース・サーバーからディレクトリにアクセスできる必要があり ます $ mkdir /home/oracle/dp SQL> create directory DP_DIR as '/home/oracle/dp'; SQL> grant read, write on directory DP_DIR to SYSTEM;
  12. 22 Copyright © 2021, Oracle and/or its affiliates Data Pump

    | 前提条件 権限 ディレクトリ Streamsプール STREAMS_POOL_SIZEが妥当な値であることを確認 通常、64Mから256Mの範囲で十分です SQL> alter system set streams_pool_size=128m scope=both; プロ・チップ: 他のパラメータがData Pum に与える影響の詳細
  13. 24 Copyright © 2021, Oracle and/or its affiliates Data Pump

    | ベスト・プラクティス パラメータ・ファイル 一貫性 ディクショナリ統計 診断 パラレル 統計 LOBs ダンプ・ファイル 圧縮 コマンドラインにパラメータを追加しない パラメータ・ファイルの使用 $ expdp system directory=dp_dir schemas=scott logfile=export_scott.log parallel=8 ... $ more export.par directory=dp_dir schemas=scott logfile=export_scott.log parallel=8 ... $ expdp system parfile=export.par
  14. 25 Copyright © 2021, Oracle and/or its affiliates Data Pump

    | ベスト・プラクティス パラメータ・ファイル 一貫性 ディクショナリ統計 診断 パラレル 統計 LOBs ダンプ・ファイル 圧縮 一貫したエクスポートの実行 特定のSCNへ UNDOが必要 • オフ時間でエクスポート • Active Data Guardからのエクスポート flashback_time=systimestamp flashback_scn=<scn> プロ・チップ: Data Pump・レガシー・モード では、CONSISTENT=Yを使用できます
  15. 26 Copyright © 2021, Oracle and/or its affiliates Data Pump

    | ベスト・プラクティス パラメータ・ファイル 一貫性 ディクショナリ統計 診断 パラレル 統計 LOBs ダンプ・ファイル 圧縮 辞書の統計を収集します: • エクスポートする直前 • インポート直後に 統計の収集 SQL> BEGIN DBMS_STATS.GATHER_SCHEMA_STATS('SYS'); DBMS_STATS.GATHER_SCHEMA_STATS('SYSTEM'); END; $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catcon.pl ¥ -l /tmp ¥ -b gatherstats -- ¥ --x"begin dbms_stats.gather_schema_stats('SYS'); dbms_stats.gather_schema_stats('SYSTEM'); end;"
  16. 27 Copyright © 2021, Oracle and/or its affiliates Data Pump

    | ベスト・プラクティス パラメータ・ファイル 一貫性 ディクショナリ統計 診断 パラレル 統計 LOBs ダンプ・ファイル 圧縮 常に診断情報を含める 追加 • タイムスタンプ • 内部タイミング • アクセス・メソッド logtime=all metrics=yes プロ・チップ: パラメータLOGTIMEがOracle Database 12.1に追加されました
  17. Data Pump | ベスト・プラクティス 28 Copyright © 2021, Oracle and/or

    its affiliates 診断なし すべての診断 Processing object type SCHEMA_EXPORT/TABLE/TABLE Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA . . imported "METAL"."ALBUMS" 988.8 KB 28069 rows . . imported "METAL"."BANDS" 3.444 MB 37723 rows . . imported "METAL"."REVIEWS" 66.47 MB 21510 rows 16-OCT-20 17:26:57.158: Processing object type SCHEMA_EXPORT/TABLE/TABLE 16-OCT-20 17:26:58.262: Startup took 1 seconds 16-OCT-20 17:26:58.264: Startup took 1 seconds 16-OCT-20 17:26:59.082: Completed 3 TABLE objects in 1 seconds 16-OCT-20 17:26:59.082: Completed by worker 1 1 TABLE objects in 1 seconds 16-OCT-20 17:26:59.082: Completed by worker 2 1 TABLE objects in 0 seconds 16-OCT-20 17:26:59.082: Completed by worker 3 1 TABLE objects in 0 seconds 16-OCT-20 17:26:59.313: Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA 16-OCT-20 17:27:01.943: . . imported "METAL"."ALBUMS" 988.8 KB 28069 rows in 2 seconds using external_table 16-OCT-20 17:27:03.778: . . imported "METAL"."BANDS" 3.444 MB 37723 rows in 2 seconds using external_table 16-OCT-20 17:27:12.644: . . imported "METAL"."REVIEWS" 66.47 MB 21510 rows in 13 seconds using external_table
  18. 29 Copyright © 2021, Oracle and/or its affiliates Data Pump

    | ベスト・プラクティス パラメータ・ファイル 一貫性 ディクショナリ統計 診断 パラレル 統計 LOBs ダンプ・ファイル 圧縮 加速 通常、nをCPUコアの数x 2に設定 メタデータのパラレル・エクスポート/インポート - Oracle Database 12.2で紹介 除外 • トランスポータブル表領域(21cに追加) • フル・トランスポータブル・エクスポート/インポート(21cでもあります) • ネットワーク・モード parallel=n プロ・チップ: Oracle Data Pumpのパラレル機能の 詳細(ドキュメントID 365459.1)
  19. 31 Copyright © 2021, Oracle and/or its affiliates Data Pump

    | ベスト・プラクティス パラメータ・ファイル 一貫性 ディクショナリ統計 診断 パラレル 統計 LOBs ダンプ・ファイル 圧縮 オプティマイザ統計を常に除外 トランスポータブル表領域 いずれか • 新たな統計の収集 • DBMS_STATSを使用したトランスポート統計 exclude=statistics exclude=table_statistics,index_statistics
  20. 32 Copyright © 2021, Oracle and/or its affiliates Data Pump

    | ベスト・プラクティス パラメータ・ファイル 一貫性 ディクショナリ統計 診断 パラレル 統計 LOBs ダンプ・ファイル 圧縮 インポート時に、常にSecureFile LOBに変換 SecureFile LOBs • パラレルでインポート可能 • 通常は高速です • 高度な機能を提供 • パーティション化に適しています • 強く推奨されます transform=lob_storage:securefile
  21. 33 Copyright © 2021, Oracle and/or its affiliates Data Pump

    | ベスト・プラクティス パラメータ・ファイル 一貫性 ディクショナリ統計 診断 パラレル 統計 LOBs ダンプ・ファイル 圧縮 複数のファイルにエクスポート 99以上のファイル パラレル・エクスポートを使用する場合は必須 dumpfile=dumpfile%U.dmp filesize=5g dumpfile=dumpfile%L.dmp filesize=5g
  22. 34 Copyright © 2021, Oracle and/or its affiliates Data Pump

    | ベスト・プラクティス パラメータ・ファイル 一貫性 ディクショナリ統計 診断 パラレル 統計 LOBs ダンプ・ファイル 圧縮 圧縮を使用したエクスポートの高速化 Advanced Compressionオプションが必要 compression=all compression_algorithm=medium プロ・チップ: COMPRESSION=METADATA_ONLYでは Advanced Compressionオプションは必要ありません
  23. 35 Copyright © 2021, Oracle and/or its affiliates Data Pump

    | ベスト・プラクティス パラメータ・ファイル 一貫性 ディクショナリ統計 診断 パラレル 統計 LOBs ダンプ・ファイル 圧縮 圧縮アルゴリズム BASIC : 以前のバージョンで使用されているアルゴリズムと同じです。 パフォーマンスに重大な影響を与えることなく優れた圧縮機能。 LOW : 圧縮率よりもCPU使用率低減を優先する場合に使用 MEDIUM: 推奨のオプション。BASICに似た特徴を持ちますが、 異なるアルゴリズムを使用しています HIGH: 最大限の圧縮が可能ですが、CPU負荷が高くなります
  24. 36 Copyright © 2021, Oracle and/or its affiliates Data Pump

    | ベスト・プラクティス パラメータ・ファイル 一貫性 ディクショナリ統計 診断 パラレル 統計 LOBs ダンプ・ファイル 圧縮 実際の利用例 - 12.2EBSデータベースのエクスポート FILE SIZE MB RATIO TIME NONE 5.500 1,0 4m 54s ALL BASIC 622 8,9 4m 58s ALL LOW 702 7,8 5m 24s ALL MEDIUM 567 9,7 4m 55s ALL HIGH 417 13,2 5m 13s FILE SIZE MB RATIO TIME NONE 5.800 1,0 2m 33s ALL BASIC 705 8,2 3m 03s ALL LOW 870 6,6 8m 11s ALL MEDIUM 701 8,2 3m 01s ALL HIGH 509 11,3 12m 16s
  25. 39 Copyright © 2021, Oracle and/or its affiliates Data Pump

    | Data Guardを使用 Data Guard環境へのインポート - シームレスに連携 1. STANDBY_FILE_MANAGEMENT=AUTOの確認 • オプションで、DB_FILE_NAME_CONVERTも構成 2. PDB$SEEDから新規PDBの作成 • スタンバイ・データベースに自動的に伝播 3. Data Pumpによるインポート • インポートは、REDO適用を介してスタンバイに暗黙的に実行されます • 表領域が自動的に作成されます
  26. Data Pump | As Fallback 例えば VERSION=11.2.0.4 でダンプファイルに エクスポート ネットワークを

    介してコピー データベースに インポート 11.2.0.4 19c 40 Copyright © 2021, Oracle and/or its affiliates
  27. 42 Copyright © 2021, Oracle and/or its affiliates Data Pump

    | フォールバックとして より低いリリースと互換性のあるダンプ・ファイルを作成するには その他のオプション • COMPATIBLE • LATEST Export/Import DataPumpパラメータVERSION – 異なるOracleバージョン間でのData Pumpの互換性(ドキュメントID 553337.1) version=11.2.0.4 プロ・チップ: ドキュメント内の VERSIONの詳細
  28. 制限事項: • パラレル・メタデータのサポートなし(現状) • LONGおよびRAWデータはありません • ソース・データベースが12.2以上でない • ACCESS_METHOD=DIRECT_PATH •

    データ並列性は複数のパーティションまたは表に制限さ れます • dblink上に大規模なパーティション化されていない表内 にPQ並列性がない • ダウングレードに対して動作しない Data Pump | ネットワーク・モード Copyright © 2021, Oracle and/or its affiliates 44 Database Link
  29. 46 Copyright © 2021, Oracle and/or its affiliates Data Pump

    | SQL文の生成 impdpが実行するSQLの生成 $ more import.par ... sqlfile=all_statements.sql ... $ impdp system parfile=import.par DMP SQL
  30. 47 Copyright © 2021, Oracle and/or its affiliates Data Pump

    | SQL文の生成 --CONNECT SYSTEM -- new object type path: SCHEMA_EXPORT/USER CREATE USER "TPCC" IDENTIFIED BY VALUES 'S:F9E9DD2D0A8D0AEA2ACB9000FD1EDE144005661F7A9AE2BD6951DE396931;BB4954843B02D85D' DEFAULT TABLESPACE "TPCCTAB" TEMPORARY TABLESPACE "TEMP"; -- new object type path: SCHEMA_EXPORT/SYSTEM_GRANT GRANT UNLIMITED TABLESPACE TO "TPCC"; -- new object type path: SCHEMA_EXPORT/ROLE_GRANT GRANT "CONNECT" TO "TPCC"; GRANT "RESOURCE" TO "TPCC"; -- new object type path: SCHEMA_EXPORT/TABLESPACE_QUOTA DECLARE TEMP_COUNT NUMBER; SQLSTR VARCHAR2(200); BEGIN SQLSTR := 'ALTER USER "TPCC" QUOTA UNLIMITED ON "TPCCTAB"'; EXECUTE IMMEDIATE SQLSTR; EXCEPTION WHEN OTHERS THEN IF SQLCODE = -30041 THEN SQLSTR := 'SELECT COUNT(*) FROM USER_TABLESPACES WHERE TABLESPACE_NAME = ''TPCCTAB'' AND CONTENTS = ''TEMPORARY'''; EXECUTE IMMEDIATE SQLSTR INTO TEMP_COUNT; IF TEMP_COUNT = 1 THEN RETURN; ELSE RAISE; END IF; ELSE RAISE; END IF; END; /
  31. 48 Copyright © 2021, Oracle and/or its affiliates Data Pump

    | PL/SQLの生成 DBMS_DATAPUMP APIを使用するためのPL/SQLの生成 Data Pump・エクスポートおよびData Pump・インポートをPL/SQLから直接開始できます $ more import.par ... parallel=8 ... $ impdp system parfile=import.par BEGIN SYS.DBMS_DATAPUMP.SET_PARALLEL( handle => :JOBHNDL, degree => :DEGREE); END; /
  32. 49 Copyright © 2021, Oracle and/or its affiliates Data Pump

    | PL/SQLの生成 1. テスト・データベースでのSQLトレースの有効化 2. Data Pump・コマンドを実行 3. トレース・ファイルの確認 SQL> alter system set event='10046 trace name context forever, level 4'; $ impdp system ...parfile=import.par $ vi ORCL_ora_12345.trc
  33. Data Pump | PL/SQLの生成 Copyright © 2021, Oracle and/or its

    affiliates 50 DECLARE JOBHNDL NUMBER; BEGIN JOBHNDL := SYS.DBMS_DATAPUMP.OPEN( operation => 'EXPORT', job_mode => 'SCHEMA', remote_link => NULL, job_name => NULL, version => NULL, ena_sec_roles => 0); DECLARE JOBHNDL NUMBER; BEGIN JOBHNDL := SYS.DBMS_DATAPUMP.OPEN( operation => 'EXPORT', job_mode => 'SCHEMA', remote_link => NULL, job_name => NULL, version => NULL, ena_sec_roles => 0); SYS.DBMS_DATAPUMP.ADD_FILE( handle => JOBHNDL, filename => 'demo_exp.log', directory => 'DMPDIR', filesize => NULL, filetype => 3, reusefile => NULL); DECLARE JOBHNDL NUMBER; BEGIN JOBHNDL := SYS.DBMS_DATAPUMP.OPEN( operation => 'EXPORT', job_mode => 'SCHEMA', remote_link => NULL, job_name => NULL, version => NULL, ena_sec_roles => 0); SYS.DBMS_DATAPUMP.ADD_FILE( handle => JOBHNDL, filename => 'demo_exp.log', directory => 'DMPDIR', filesize => NULL, filetype => 3, reusefile => NULL); SYS.DBMS_DATAPUMP.SET_PARALLEL( handle => JOBHNDL, degree => 8); ... ... ...
  34. Data Pump | 既存のオブジェクト TABLE_EXISTS_ACTIONをAPPENDまたはTRUNCATEに設定すると、処理が遅くなり ます ユースケース: 数千のパーティションを持つスキーマのインポート 問題: オブジェクトをすべて作成するのに非常に時間がかかります

    解決策: パーティションを事前に作成し、TABLE_EXISTS_ACTION=APPENDを使用 Problem: 遅い 解決策: Data Pumpにオブジェクトが正常であることを信頼するように伝えます。 DATA_OPTION = TRUST_EXISTING_TABLE_PARTITIONS Copyright © 2021 Oracle and/or its affiliates. Copyright © 2021, Oracle and/or its affiliates 51
  35. 52 Copyright © 2021, Oracle and/or its affiliates Data Pump

    | マルチテナント ユースケース: Data Pumpに起因するノイジー・ネイバーの回避 問題: 1つのPDBであまりにも多くのData Pumpジョブが開始され、CDBのリソースが枯渇する。 解決策: 1つのPDBでのData Pumpの同時実行ジョブ数の制限 Default: 100 SetからAUTO: 50 % of SESSIONS プロ・チップ: Data Pump・ジョブが多す ぎると、ORA-39391が発生 SQL> alter system set max_datapump_jobs_per_pdb=2 container=all;
  36. 53 Copyright © 2021, Oracle and/or its affiliates Data Pump

    | マルチテナント ユースケース: Data Pumpに起因するノイジー・バー症候群の回避 問題: Data Pumpジョブで使用されるパラレルワーカーの数が多すぎて、CDBのリソースが枯渇する。 解決策: Data Pumpジョブでの並列度の制限 Default: 50 SetからAUTO: 50 % of SESSIONS NEW IN 19c SQL> alter system set max_datapump_parallel_per_job=2 container=all;
  37. Copyright © 2021, Oracle and/or its affiliates 65 RMAN Data

    Guard Data Pump Golden Gate Trans- portable 異なる 移行 技術
  38. 長所 • ハードウェアのリフレッシュ/交換のためのNo.1の選択 • 高速でシンプル • コピー・ダウンタイムを回避 • 複数回テスト •

    ファイル・システム、RAWデバイス、ASMに依存しない • Cross-platform ドキュメンテーション • Oracle 19c Data Guardの概念と管理 考慮 • Oracle 12c以降、ターゲット・ハードウェアでソース・ソフ トウェアが必要 • エンディアン間が動作しない Data Guard Copyright © 2021, Oracle and/or its affiliates 67
  39. RHEL5.8 Data Guard | 移行 OL7.6 古い ハードウェア 新しい ハードウェア

    REDO適用 切替え RMAN> DUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE ... Copyright © 2021, Oracle and/or its affiliates 68
  40. Data Guard | カスケード・スタンバイによる移行 OL7.6 RHEL5.8 REDO適用 OL7.6 REDO適用 新規プライマリ

    スタンバイ カスケード スタンバイ スタンバイ プロ・チップ: オプションで、新しいプライマリ・データベース をアップグレードできます Copyright © 2021, Oracle and/or its affiliates 70
  41. Copyright © 2021, Oracle and/or its affiliates 移行手段としてのData Guardの使用 Payback

    GmbH Germany Exadata移行プロジェクト2012 Source: obs / Payback GmbH / Bild: Payback 72
  42. 顧客事例 | Payback Payback GmbH • American Expressに所属 • ドイツ、ミュンヘンの本社

    • カスタマイズされたITソリューションを基に、プロフェッショナルな顧客ロイヤルティ・プログラムを開 発、運用 顧客 Project 2012 制約 準備 アップグレード 成功? 備考 Copyright © 2021, Oracle and/or its affiliates 73
  43. 顧客事例 | Payback 14TBをExadata V1からExadata X2-2に移行 プロジェクトのタイムライン: すべてのテストを含め 2か月 方法

    • MOSノート: 1055938.1 Data Guardを使用したハードウェアおよびOracleの移行(ケース2) 顧客 Project 2012 制約 準備 アップグレード 成功? 備考 Copyright © 2021, Oracle and/or its affiliates 74
  44. 顧客事例 | Payback Oracle 11.1.0.7ソフトウェアは、Exadata X2-2にはインストールしないでください • ソースのExadataを11.2.0.3にアップグレードすることが出来ません Database 14TB

    ダウンタイム: 8時間未満 ネットワークの「ボトルネック」 • 救済策: V1からX2-2への特別なIBケーブル接続 顧客 Project 2012 制約 準備 アップグレード 成功? 備考 Copyright © 2021, Oracle and/or its affiliates 75
  45. 顧客事例 | Payback RMANによる14TBのリストア • ACTIVEデータベースからのDUPLICATE InfiniBandケーブル 顧客 Project 2012

    制約 準備 アップグレード 成功? 備考 Copyright © 2021, Oracle and/or its affiliates 76
  46. 顧客事例 | Payback ライブ・アップグレード/移行 • RMANのリストアおよびリカバリ: <3時間 • 64個のパラレルRMANチャネルが割り当てられた: >4TB/hour

    RMANのリストア 64の並列チャネル InfiniBandケーブル 顧客 Project 2012 制約 準備 アップグレード 成功? 備考 Copyright © 2021, Oracle and/or its affiliates 77
  47. 顧客事例 | Payback データベースのアップグレード11.1.0.7  11.2.0.3 • 新しいPARALLEL UPGRADEツールcatctl.plをベータ・カスタマとして使用しました •

    再コンパイルを含むデータベースの合計アップグレード時間: 20分 顧客 Project 2012 制約 準備 アップグレード 成功? 備考 Copyright © 2021, Oracle and/or its affiliates 78
  48. 顧客事例 | Payback 正常稼働? • 成功! 2012年7月3日にゴー・ライブ • 約3週間、予定を前倒し •

    公式な移行とアップグレード時間の合計: 〜4時間 • < 3時間: スタンバイとリカバリのためのリストア • < 20分: Oracle 11.2.0.3へのデータベースのアップグレード • 〜40分: 追加タスク(crsctlなど) 顧客 Project 2012 制約 準備 アップグレード 成功? 備考 Copyright © 2021, Oracle and/or its affiliates 79
  49. 顧客事例 | Payback いくつかの計画は変更されました – しかし準備はできました☺ • AWRおよびSQL計画管理 移行手段としてのフィジカル・スタンバイが重要なテクニックだった •

    複数のテスト実行を許可 • コピー時間はダウンタイムを考慮していない 顧客 Project 2012 制約 準備 アップグレード 成功? 備考 2020? Copyright © 2021, Oracle and/or its affiliates 80
  50. 顧客事例 | Payback 現在、PaybackにはOracle 19.8.0の多くの本番データベースがあります 顧客 Project 2012 制約 準備

    アップグレード 成功? 備考 2020? Copyright © 2021, Oracle and/or its affiliates 81
  51. 長所 • フィジカル・スタンバイをアップグレードに活用 • 優れた実績のあるアプローチ • ダウンタイムは5分未満 • メンテナンスにも役立ちます ドキュメンテーション

    • Oracle 19c Data Guardの概念と管理 考慮事項 • 同じハードウェアでは実行できません • ログ・マイナー・パフォーマンス(SQL適用) • Oracle 19cでサポートされていないデータ型 • ROWID, UROWID • ネストされた表 • ネストされた表を持つオブジェクト • アイデンティティ列 • 19cでサポートされていないパーティション化タイプ • システム • 参照 ローリング・アップグレード | 一時ロジカル・スタンバイ Copyright © 2021, Oracle and/or its affiliates 83
  52. ローリング・アップグレード | スタンバイ・タイプ Copyright © 2021, Oracle and/or its affiliates

    84 PHYSICAL LOGICAL REDO適用 データ・ブロックの変更により更新 完全コピー -block-by-block SQL適用 SQLの実行による更新 完全コピー -table-by-table プロ・チップ: Data Guard概要および管理でのスタンバ イ・タイプの詳細はこちらをご覧ください
  53. TIME ローリング・アップグレード | コンセプト Copyright © 2021, Oracle and/or its

    affiliates 85 プライマリ フィジカル スタンバイ ユーザーはここに 接続されています REDO 保証付きリストア・ポイント ビルドLogMiner directory ロジカル・スタンバイ への変換 SQL SQLの適用 INSERT INTO ORDERS VALUES ... DELETE FROM CUSTOMERS WHERE ... UPDATE TRANSACTIONS SET ... SQL> alter database recover to logical standby keep identity; LOGMINER Redo アップグレード SQL スイッチオーバー 新しいOracle Homeで開始 19c フラッシュバック フィジカル・スタンバイへの変換 新しいOracle Homeで開始 19c REDO アップグレード REDO経由 任意 REDO
  54. ローリング・アップグレード | オプション Copyright © 2021, Oracle and/or its affiliates

    87 手動 DBMS_ROLLING Enterprise Editionの一部 ソースは11.1.0.7である必要があります 手動によるアプローチ Active Data Guardが必要 ソースは12.1.0.2以上である必要があります 自動化 推奨
  55. Copyright © 2021, Oracle and/or its affiliates 91 異なる 移行

    技術 Data Pump RMAN Data Guard Golden Gate Trans- portable
  56. 長所 • 非常にシンプルで簡単 • 既知のプロセス • ライブ・データベースでのプロセスのテスト • ファイル・システム、RAWデバイス、ASMに依存しない •

    一部のクロス・プラットフォーム機能(1079563.1) ドキュメンテーション • Oracle 19cバックアップおよびリカバリ・ユーザー・ガイド 考慮事項 • データベースがコピーされる間、かなりのダウンタイムが 発生 • Oracle 12c以降のターゲット・ハードウェアにはソース・ ソフトウェアが必要 • クロス・エンディアンには対応していません クローニング | アクティブのまま複製 Copyright © 2021, Oracle and/or its affiliates 92
  57. 長所 • シンプルで簡単 • 既知のプロセス • ダウンタイムを劇的に削減 • より高いバージョンにリストア •

    既存のバックアップを使用 • ファイル・システム、RAWデバイス、ASMに依存しない • 一部のクロス・プラットフォーム機能(1079563.1) ドキュメンテーション • Oracle 19cバックアップおよびリカバリ・ユーザー・ガイド 考慮事項 • クロス・エンディアンに対応していません クローニング | 増分バックアップ Copyright © 2021, Oracle and/or its affiliates 93
  58. RHEL5.8 クローニング | 増分バックアップ OL7.6 古い ハードウェア 新しい ハードウェア RMAN>

    BACKUP INCREMENTAL LEVEL 0 ... 再接続 RMAN> RESTORE DATABASE ... RMAN> BACKUP INCREMENTAL LEVEL 1 ... RMAN> RECOVER DATABASE ... Copyright © 2021, Oracle and/or its affiliates 94
  59. RHEL5.8 クローニング | リストアおよびアップグレード OL7.6 Oracle Home 11.2.0.4 Oracle Home

    19c 再接続 RMAN> RECOVER DATABASE ... SQL> ALTER DATABASE OPEN RESETLOGS UPGRADE; アップグレード RMAN> BACKUP INCREMENTAL LEVEL 0 ... RMAN> BACKUP INCREMENTAL LEVEL 1 ... Copyright © 2021, Oracle and/or its affiliates 95
  60. Copyright © 2021, Oracle and/or its affiliates 96 Data Pump

    RMAN Data Guard Golden Gate Trans- portable 異なる 移行 技術
  61. エンディアン | 基本 Copyright © 2021, Oracle and/or its affiliates

    99 ソース : https://en.wikipedia.org/wiki/Endianness ビッグ・エンディアン リトル・エンディアン
  62. 100 Copyright © 2021, Oracle and/or its affiliates エンディアンの移行 |

    クラウドはLinux クラウドは常にリトル・エンディアン ビッグ・エンディアン・プラットフォームのデータベースでは移行が必要 • Data Pump • トランスポータブル表領域 • フル・トランスポータブル・エクスポート・インポート
  63. 101 Copyright © 2021, Oracle and/or its affiliates エンディアンの移行 |

    トランスポート ビッグ・エンディアン・プラットフォーム • HP-UX (64-bit) • HP-UX IA (64-bit) • AIXベース・システム(64-bit) • IBM zSeriesベースのLinux • IBM Power Based Linux • Solaris[tm] OE (32-bit) • Solaris[tm] OE (64-bit) 変換
  64. エンディアンの移行 | 正確な変換プラットフォーム文字列の確認 102 Copyright © 2021, Oracle and/or its

    affiliates SQL> SELECT platform_name, endian_format FROM v$transportable_platform WHERE endian_format!='Little'; PLATFORM_NAME ENDIAN_FORMAT ____________________________________ ________________ AIX-Based Systems (64-bit) Big Apple Mac OS Big HP-UX (64-bit) Big HP-UX IA (64-bit) Big IBM Power Based Linux Big IBM zSeries Based Linux Big Linux OS (S64) Big Solaris[tm] OE (32-bit) Big Solaris[tm] OE (64-bit) Big
  65. エンディアンの移行 | トランスポータブル表領域コンセプト Copyright © 2021, Oracle and/or its affiliates

    103 データを移動するには、次の2つが必要: DATA 実際の行 META DATA 定義情報: User/schema 表 列 索引 トリガー 権限付与 PL/SQL ...
  66. エンディアンの移行 | トランスポータブル表領域コンセプト Copyright © 2021, Oracle and/or its affiliates

    104 データを移動するには、次の2つが必要: DATA META DATA CREATE USER u1 ... CREATE TABLE t1 ( ... CREATE INDEX i1 ON t1.c1 ... CREATE TRIGGER trig1 ... GRANT SELECT ON t1 ... CREATE PROCEDURE p1 ... INSERT INTO t1 (...) VALUES (...) INSERT INTO t1 (...) VALUES (...) INSERT INTO t1 (...) VALUES (...) INSERT INTO t1 (...) VALUES (...) SYSTEM表領域に格納 ユーザー表領域に格納
  67. エンディアンの移行 | トランスポータブル表領域コンセプト Copyright © 2021, Oracle and/or its affiliates

    105 DATA Data Pumpによる エクスポート データ・ファイルの コピー SYSTEM
  68. エンディアンの移行 | トランスポータブル表領域コンセプト Copyright © 2021, Oracle and/or its affiliates

    106 SYSTEM DATA データベース・バージョンに関連付けられている データベースのバージョンに依存しない 同じデータベース・バージョンでのみ機能 同じ または 新しいデータベース・バージョンで機能 Data Pumpは横断的に動作します: • データベース・バージョン • データベース・アーキテクチャ(非CDB / CDB) 同じデータベース・アーキテクチャでのみ機能 同じ または 異なるデータベース・アーキテクチャで機能
  69. エンディアンの移行 | トランスポータブル表領域コンセプト Copyright © 2021, Oracle and/or its affiliates

    107 トランスポータブル表領域の動作は次のとおりです: • 同一または新しいデータベース・バージョン • 非CDBからPDBへの変換(およびその逆)の場合
  70. SYSTEM DATA エンディアンの移行 | Full Transportable Export Import (FTEX) Copyright

    © 2021, Oracle and/or its affiliates 109 新しい空の 19c PDB ソース・データベース 12.1.0.2 表領域 異なるエンディアン形式 SYSTEM 読取り専用の設定 DATA データ・ファイルのコピー DATA RMAN変換 データファイル Data Pump Full Transportable Export/Import 表領域プラグイン メタ・データ転送 (users, tables, indexes, triggers, PL/SQL ...)
  71. DATA SYSTEM DATA エンディアンの移行 | FTEXと増分バックアップ Copyright © 2021, Oracle

    and/or its affiliates 111 新しい空の 19c PDB ソース・データベース 12.1.0.2 表領域 異なるエンディアン形式 SYSTEM レベル0イメージ・ファイルのバックアップ Data Pump Full Transportable Export/Import 表領域プラグイン メタ・データ転送 (users, tables, indexes, triggers, PL/SQL ...) レベル1増分バックアップ 読取り専用の設定 リストア時に データファイルを変換 最終
  72. Data Guard | トランスポータブル Copyright © 2021, Oracle and/or its

    affiliates 113 ターゲット プライマリ ターゲット スタンバイ ソース 表領域 リストア Data Pump Full Transportable Export/Import 表領域プラグイン REDO適用経由 Redo
  73. Data Guard | トランスポータブル Copyright © 2021, Oracle and/or its

    affiliates 114 ファイル・ストレージにASMを使用して非CDBおよびPDBを移行するステップ(ドキュメントID 1576755.1)
  74. 116 Copyright © 2021, Oracle and/or its affiliates トランスポータブル |

    スターター・チェックリスト データベース作成 バックアップ / リカバリ TDE PERLスクリプト ターゲット・データベースまたはPDBの作成 • 同じ文字セット • 同一国語文字セット • COMPATIBLEは同じ以上である必要があります データベース・タイム・ゾーンが一致する必要があります タイムゾーン・ファイルのバージョンが一致する必要があります • https://mikedietrichde.com/2016/12/08/create-a-database-with-non- default-time-zone/ SQL> SELECT dbtimezone FROM v$instance; SQL> SELECT * FROM v$timezone_file;
  75. 117 Copyright © 2021, Oracle and/or its affiliates トランスポータブル |

    スターター・チェックリスト データベース作成 バックアップ / リカバリ TDE PERLスクリプト 増分バックアップのソースでのブロック変更トラッキングの有効化 • 通常、宛先での変換はソースより高速です • PERLスクリプトは変換を実行 • 必要 • Enterprise Edition (on-prem) • Enterprise Edition Extreme Performance (DBCS) • Exadata SQL> SELECT status, filename FROM V$BLOCK_CHANGE_TRACKING; SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING;
  76. 118 Copyright © 2021, Oracle and/or its affiliates トランスポータブル |

    スターター・チェックリスト データベース作成 バックアップ / リカバリ TDE PERLスクリプト TDE暗号化 • サポートなし • 同じエンディアンの移行のみ
  77. 119 Copyright © 2021, Oracle and/or its affiliates トランスポータブル |

    スターター・チェックリスト データベース作成 バックアップ / リカバリ TDE PERLスクリプト RMAN増分バックアップ • MOSノート: 2471245.1 V4 PERLスクリプトによる、クロス・プラットフォーム増分バックアップを使用したトラン スポータブル表領域ダウンタイムの削減 • ソース: 10.2.0.3以上 • ターゲット: 11.2.0.4以上
  78. トランスポータブル | 一般的なベスト・プラクティス Copyright © 2021, Oracle and/or its affiliates

    120 • 演習、演習、演習 • 小規模なデータベースで開始 • 本番規模のデータベースで機能していることを証明 • 自動化 • 一貫性を確保して人的ミスを回避するため • すべてのログと出力を保存 • Data Pump、RMAN • クリーンアップ手順 • 失敗およびロールバックの場合 • テストを繰り返すには • ソース・データベースを確実にオフラインにする
  79. Copyright © 2021, Oracle and/or its affiliates Let‘s do it

    PERLスクリプトを使用した増分バックアップによるFTEX移行 Step-by-Step Unsplashのasoggettiによるフォト 131
  80. 増分バックアップを使用した転送 | 6フェーズ Setup 1 Prepare & Level-0 2 Roll

    Forward 3 Final Incremental Backup 4 Transport 5 Clean Up 6 Copyright © 2021 Oracle and/or its affiliates. Copyright © 2021, Oracle and/or its affiliates 132
  81. フェーズ1 | 設定 - データベース作成 移行先データベースの作成 • COMPATIBLE は 同じか

    上であること • 同一 • データベース文字セット • 各国語文字セット • タイムゾーンのバージョン • データベース・タイムゾーン設定 Copyright © 2021 Oracle and/or its affiliates. Copyright © 2021, Oracle and/or its affiliates 133
  82. フェーズ1 | 異なるメソッド RMANのバックアップ / 変換 • CONVERTのステージング領域が必要 • xttdriver.pl

    --backup and --restore DBMS_FILE_TRANSFER * • ファイル当たり2TBの制限 • ステージング領域がありません • 暗黙的にCONVERT • xttdriver.pl -Sおよび-G ステージング バックアップ 変換 &変換のリストア * V4スクリプトでは、DBMS_FILE_TRANSFERは サポートされなくなりました Copyright © 2021 Oracle and/or its affiliates. Copyright © 2021, Oracle and/or its affiliates 135
  83. フェーズ1 | xtt.properties構成 Copyright © 2021 Oracle and/or its affiliates.

    xtt.properties ## Tablespaces to transport ## ======================== tablespaces=TS1,TS2 ## Source database platform ID ## =========================== platformid=13 ## Source system file locations ## ============================ ## Location where datafile copies are created ## during the "-p prepare" step. dfcopydir=/oracle/DQ1/rman_stage ## backupformat ## ------------ ## Location where incremental backups are created. backupformat=/oracle/DQ1/rman_stage ## Destination system file locations ## ================================= ## Location where datafile copies are placed by the user ## when they are transferred manually from souce system. stageondest=/oracle/DQ1/rman_stage ## storageondest ## ------------- ## Location where the converted datafile copies will be ## written during the "-c conversion of datafiles" step. ## This is the final location of the datafiles ## where they will be used by the destination database. storageondest=/oracle/DQ1/sapdata50 ## backupondest ## ------------ ## Location where converted incremental backups ## on the destination system will be written during ## the "-r roll forward datafiles" step. backupondest=/oracle/DQ1/rman_stage_incr Copyright © 2021, Oracle and/or its affiliates 136
  84. フェーズ2 | Level-0バックアップ ステージング xttdriver.pl --backup Copyright © 2021 Oracle

    and/or its affiliates. scp oracle@dest:/home/oracle/xtt res.txt Copyright © 2021, Oracle and/or its affiliates 137
  85. フェーズ2 | level-0バックアップの変換/リストア ステージング C C xttdriver.pl --restore Copyright ©

    2021 Oracle and/or its affiliates. Copyright © 2021, Oracle and/or its affiliates 138
  86. フェーズ3 | 増分 level-1バックアップ ステージング i i xttdriver.pl --backup Copyright

    © 2021 Oracle and/or its affiliates. scp oracle@dest:/home/oracle/xtt res.txt Copyright © 2021, Oracle and/or its affiliates 139
  87. フェーズ3 | 増分 level-1バックアップ: 変換 / マージ ステージング iC iC

    iC iC xttdriver.pl --restore Copyright © 2021 Oracle and/or its affiliates. Copyright © 2021, Oracle and/or its affiliates 140
  88. フェーズ3 | Level-1を繰り返します: Backup/Convert/Merge ステージング i i ステージング iC iC

    iC iC Copyright © 2021 Oracle and/or its affiliates. Copyright © 2021, Oracle and/or its affiliates 141
  89. フェーズ4 | ダウンタイム - 読取り専用 ステージング 読取り専用 読取り専用 Copyright ©

    2021 Oracle and/or its affiliates. Copyright © 2021, Oracle and/or its affiliates 142
  90. フェーズ4 | 最終増分: Backup/Convert/Merge ステージング i i ステージング iC iC

    iC iC 読取り専用 読取り専用 読取り専用 読取り専用 Copyright © 2021 Oracle and/or its affiliates. Copyright © 2021, Oracle and/or its affiliates 143
  91. フェーズ5 | フル・トランスポータブル・エクスポート/インポート データベース・リンク 読取り専用 読取り専用 impdp FULL=Y TRANSPORTABLE=ALWAYS Copyright

    © 2021 Oracle and/or its affiliates. [oracle@dest]$ impdp mike/passwd@v19c NETWORK_LINK=v112 FULL=Y TRANSPORTABLE=ALWAYS [VERSION=12] METRICS=Y EXCLUDE=STATISTICS LOGTIME=ALL LOGFILE=ftex_dir:v112fullimp.log TRANSPORT_DATAFILES='/oracle/DQ1/sapdata50/ts1.dbf' TRANSPORT_DATAFILES='/oracle/DQ1/sapdata50/ts2.dbf' Copyright © 2021, Oracle and/or its affiliates 144
  92. フェーズ6 | 検証とクリーンアップ 読取り専用 読取り専用 RMAN> Copyright © 2021 Oracle

    and/or its affiliates. Copyright © 2021, Oracle and/or its affiliates 145
  93. ExaCC移行 | プロジェクト目標 クロス・プラットフォーム移行 • AIX(ビッグ・エンディアン)からLinux(リトル・エンディアン) • オプション: • Data

    Pump • シンプルだが、複雑さとデータ量により遅れ • トランスポータブル表領域 • 複雑さにより作業準備作業時間が増加するが、大量のデータに対応可能 • フル・トランスポータブル・エクスポート/インポート • 両方を結合しますが、ログ・エラーを予測できないために困難になる可能性があります 万能な移行パス • 同じエンディアン移行の場合でも利用可能 Copyright © 2021 Oracle and/or its affiliates. Copyright © 2021, Oracle and/or its affiliates 158
  94. ExaCC移行 | タイムライン Backups TTS Meta Restore Level 1 Restore

    Level 1 Restore Level 0 Copyright © 2021, Oracle and/or its affiliates 161
  95. ExaCC移行 | PERLスクリプト 増分バックアップ Restore/Recover 輸送 メタの再構築 dbmigusera.pl Recovery Appliance

    向けのカスタマイズ済 PERLスクリプト Copyright © 2021, Oracle and/or its affiliates 163
  96. ExaCC移行 | xtt.properties xtt.properties のカスタマイズ #リストアおよびリカバリ操作に使用されるSBTパラメータ構成 btlibparms="SBT_LIBRARY=/u01/app/oracle/product/ 12.2.0.1/dbhome_1/lib/libra.so, ...’)” #パラレルでリストア

    / リカバリされるデータファイルの数。 resparallel=16 #移行する表領域のリスト ttsnames=T14_1,T14_2,T14_3,T14_4,T14_5,T14_6,T14_7,T14_8,T14_9,T14_10,T14_11 #データファイルをリストアするディレクトリ storageondest=+DATAC1/dbmig/datafile sourceplatid=2 dbid=4173218531 retrycount=2 Copyright © 2021, Oracle and/or its affiliates 166
  97. ExaCC移行 | スクリプトのソースのチェック スクリプトのチェック • SYSTEM表領域内のオブジェクトのチェック • データベースのサイズ • 表領域

    • オブジェクト数メタ・オブジェクト • その他多数 … AWR抽出 計画の取得 CHECK Copyright © 2021, Oracle and/or its affiliates 171
  98. ExaCC移行 | Prep Work on ExaCC 新しいデータベースを構築 • 同一文字セット •

    同一国語文字セット • 同じタイム・ゾーン・バージョン • PDBとして 修正 • USERS_DROP_ME_LATERへの「USERSの名 前変更」表領域 • 保証付きリストア・ポイントをテスト用に設定 Restore/Recover 輸送 メタの再構築 Copyright © 2021, Oracle and/or its affiliates 172
  99. ExaCC移行 | ソースでの準備作業 SYSTEM TSから表を移動 スクリプトの生成 • 表領域を読取り専用および逆に設定 • ダミーの表領域の作成とリバース

    • 一時表領域の作成 • ユーザーの作成、プロファイルの作成 • 権限、ロール、ディレクトリの作成 • MV、DB-Linksを作成する権限 • 表/索引で使用されるファンクションの作成 • グローバル一時表の作成 • xtt.properties表領域リスト Copyright © 2021, Oracle and/or its affiliates 173
  100. ExaCC移行 | Inc Backup Restore レベル0のバックアップのリストア • $ perl dbmigusera.pl

    --restore レベル1のバックアップ・リストア/リカバリ • $ perl dbmigusera.pl --recover 繰返し … ダウンタイム不要 Restore/Recover 輸送 メタの再構築 Copyright © 2021, Oracle and/or its affiliates 174
  101. ExaCC移行 | Prep Work on ExaCC 作成 • プロファイル •

    ダミー表領域 • 一時表領域 • ユーザー • ディレクトリ ドロップ • ダミー表領域 作成 • 表/索引の付与、ロール、ディレクトリ、関数 dfcopy.txt(テキストPERL): • TRANSPORT_DATAFILES文字列の生成 Restore/Recover 輸送 メタの再構築 Copyright © 2021, Oracle and/or its affiliates 175
  102. ExaCC移行 | 最終 Inc Backup-Restore レベル1のバックアップ・リストア/リカバリ • $ perl dbmigusera.pl

    --recover ダウンタイム Restore/Recover 輸送 メタの再構築 TablespacesReadのみ Copyright © 2021, Oracle and/or its affiliates 176
  103. Copyright © 2021, Oracle and/or its affiliates ExaCC移行 | TTSおよびメタのエクスポート

    メタデータ・エクスポート • ファンクション、パッケージ、プロシージャ、database_link 、順序、ビュー、シノニム TTSエクスポート 重要 • GATHER_SCHEMA_STATS('SYS') • GATHER_SCHEMA_STATS('SYSTEM') Restore/Recover 輸送 メタの再構築 メタDataExport TTS Export 177
  104. ExaCC移行 | メタ情報の再構築 メタ・インポート • 再構築: • 関数 • パッケージ

    • プロシージャ • データベース・リンク • 順序 • ビュー • シノニム Restore/Recover 輸送 メタの再構築 Metadata Import Copyright © 2021, Oracle and/or its affiliates 179
  105. ExaCC移行 | スクリプトのチェック - 比較 クリーンアップ • GRPの削除 • その他の条約

    チェック・スクリプトの実行 • 比較前/後 ExaCCでのオンライン暗号化 CHECK CHECK Copyright © 2021, Oracle and/or its affiliates 180
  106. Copyright © 2021, Oracle and/or its affiliates 190 Data Pump

    RMAN Data Guard Golden Gate Trans- portable 異なる 移行 技術
  107. GoldenGate | 説明 INSERT INTO ... UPDATE ... DELETE FROM

    ... 初期コピー INSERT INTO ... UPDATE ... DELETE FROM ... 取得された ステートメント ステートメント リプレイ Copyright © 2021, Oracle and/or its affiliates 192
  108. 長所 • 真のゼロ・ダウンタイム • 非常に柔軟 • 移行の処理 • 旧バージョンからのアップグレードを処理 •

    優れたフォールバック機能 • OGGライセンスに含まれるActive Data Guard 考慮事項 • 追加ライセンスが必要 • 複雑性の追加 GoldenGate Copyright © 2021, Oracle and/or its affiliates 193
  109. GoldenGate | 説明 INSERT INTO ... UPDATE ... DELETE FROM

    ... 初期コピー INSERT INTO ... UPDATE ... DELETE FROM ... 取得された ステートメント ステートメント リプレイ アップグレード データベース 切替え 逆方向 レプリケーション Copyright © 2021, Oracle and/or its affiliates 194
  110. GoldenGate | Data Pump統合 どのSCNからレプリケーションを開始するかを指定する必要 がなくなりました。 New Replicatパラメータ DBOPTIONS ENABLE_INSTANTIATION_FILTERING

    Requires Oracle GoldenGate 12.2 MOS Note: 1276058.1 SQL> select source_object_name, instantiation_scn from dba_apply_instantiated_objects where source_object_owner = 'APPS' ; SOURCE_OBJECT_NAME INSTANTIATION_SCN ------------------------------------ TCUSTMER 829723224 TCUSTORD 829723223 2017-07-17 15:02:51 INFO OGG-10155 Instantiation CSN filtering is enabled on table APPS.TCUSTMER at CSN 829,723,224. 2017-07-17 15:02:51 INFO OGG-10155 Instantiation CSN filtering is enabled on table APPS.TCUSTORD at CSN 829,723,223. Copyright © 2021, Oracle and/or its affiliates 196
  111. Oracle Streams | サポート解除 Oracle Database 19c (19.1)以降、Oracle Streamsはサポートされなくなります。Oracle GoldenGateは、Oracle

    Databaseのレプリケーション・ソリューションです。 " Database 19cアップグレード・ガイド • Oracle Database Advanced Queuingは非推奨ではありません • Oracle Database 19cで完全サポート Copyright © 2021, Oracle and/or its affiliates 208
  112. Oracle Streams | GoldenGate移行 StreamsからGoldenGateに移行する方法 Oracle StreamsからOracle GoldenGateへの変換 (ドキュメントID 1383303.1)

    Oracle StreamsからGoldenGateへの移行ユーティリティ (ドキュメントID 1912338.1) Copyright © 2021, Oracle and/or its affiliates 209
  113. 211 Copyright © 2021, Oracle and/or its affiliates パフォーマンスの安定性 |

    移行後 パフォーマンスの安定性 ヒントやコツ、アンダースコア・パラメータ – 第3回セッション レコーディングを見る スライドを入手
  114. 212 Copyright © 2021, Oracle and/or its affiliates 移行 |

    時期 論理移行には以下が適用されます Data Pumpまたはトランスポータブル表領域を使用してデータを移動する場合
  115. 214 Copyright © 2021, Oracle and/or its affiliates 統計の転送 |

    概要 プロ・チップ: 統計の転送の詳細は、『SQLチューニング ・ガイド』を参照してください データベース間でオプティマイザ統計を転送する場合、DBMS_STATSを使用してステージング表と の間で統計をコピーし、表のコンテンツを宛先データベースからアクセス可能にするにはツールを使用 する必要があります。 " Database 19c SQLチューニング・ガイド、第17章 次の統計を転送できます • スキーマ • 表 • データベース(まれ) • ディクショナリおよび固定オブジェクト(まれ)
  116. 218 Copyright © 2021, Oracle and/or its affiliates 統計の転送 |

    ユースケース 再収集せずに移行後に新しい統計を取得 • 文字セットの移行には新しい統計が必要です • 論理移行(トランスポータブル表領域、インポート)
  117. 219 Copyright © 2021, Oracle and/or its affiliates 統計の転送 |

    ユースケース Data Pumpを使用した統計の転送より高速 • ネイティブ・Data Pump統計エクスポートをDBMS_STATSに置き換えます • 優れたパフォーマンス
  118. 220 Copyright © 2021, Oracle and/or its affiliates 統計の転送 |

    ワークフロー ソース・データベース ユーザー・データ(SALESAPP) データ・ディクショナリ(SYS) オプティマイザ統計が配置される場所
  119. 221 Copyright © 2021, Oracle and/or its affiliates 統計の転送 |

    ワークフロー ステージング表の作成 統計をステージング表にエクスポート Data Pumpを使用したステージング表のエクスポート SQL> EXEC DBMS_STATS.CREATE_STAT_TABLE ( ownname => 'SALESAPP', stattab => 'OPT_STATS_STG'); SQL> EXEC DBMS_STATS.EXPORT_SCHEMA_STATS ( ownname => 'SALESAPP', stattab => 'OPT_STATS_STG'); $ expdp SALESAPP ¥ DIRECTORY=mydirectory ¥ DUMPFILE=opt_stats_stg.dmp ¥ TABLES=OPT_STATS_STG
  120. 222 Copyright © 2021, Oracle and/or its affiliates 統計の転送 |

    ワークフロー ターゲット・データベース 転送ダンプ・ファイル Data Pumpを使用したステージング表のインポート ステージング表から統計をインポート プロ・チップ: データベース・リンクを使用して、ソース・データベースから 直接インポートすることもできます $ impdp SALESAPP ¥ DIRECTORY=mydirectory ¥ DUMPFILE=opt_stats_stg.dmp ¥ TABLES=OPT_STATS_STG SQL> EXEC DBMS_STATS.IMPORT_SCHEMA_STATS ( ownname => 'SALESAPP', stattab => 'OPT_STATS_STG');
  121. 224 Copyright © 2021, Oracle and/or its affiliates 統計の転送 |

    知っておきたいこと • オプティマイザは、ユーザーが所有する表に格納されている統計を使用しません - 辞書からのみ • 統計をインポートすると、統計が最新になります(eg. 失効していない) • 上位バージョンに転送できます - 統計表をアップグレードする必要がある可能性があります • 増分統計: オプションで同期をエクスポート SQL> EXEC DBMS_STATS.IMPORT_SCHEMA_STATS ( ... ORA-20002: Version of statistics table "SALESAPP"."OPT_STATS_STG" is too old SQL> EXEC DBMS_STATS.UPGRADE_STAT_TABLE ('SALESAPP', 'OPT_STATS_STG'); SQL> EXEC DBMS_STATS.EXPORT_SCHEMA_STATS ( ... stat_category => 'OBJECT_STATS, REALTIME_STATS, SYNOPSES');
  122. 226 Copyright © 2021, Oracle and/or its affiliates 転送 |

    SQL計画ベースライン 準備 抽出 転送 ロード SQL計画ベースラインはデータ・ディクショナリに格納されます 転送先 - 情報はトランスポータブル・フォーマットに変換し、ステージング表に 格納する必要があります プロ・チップ: 移行するスキーマまたは表領域(あるいはそ の両方)にステージング表を作成 SQL> BEGIN DBMS_SPM.CREATE_STGTAB_BASELINE ( table_name => 'SPB_STAGING', table_owner => 'SPM'); END; /
  123. 227 Copyright © 2021, Oracle and/or its affiliates 転送 |

    SQL計画ベースライン 準備 抽出 転送 ロード 転送するベースラインを選択 fixedプランおよびacceptedプランを抽出するには プロ・チップ: dba_sql_plan_baselinesを使用して プランを検索することもできます SQL> DECLARE l_count NUMBER; BEGIN l_count := DBMS_SPM.PACK_STGTAB_BASELINE ( table_name => 'SPB_STAGING', table_owner => 'SPM', enabled => 'YES', fixed => 'YES'); END; /
  124. 228 Copyright © 2021, Oracle and/or its affiliates 転送 |

    SQL計画ベースライン 準備 抽出 転送 ロード ステージング表がユーザー・データとともに移行される場合、このステップをスキ ップできます Data Pumpを使用して、その単一表を転送 プロ・チップ: ソース・データベースへのネットワーク接続がない場合、ダンプ・フ ァイルからインポートすることもできます SQL> CREATE DATABASE LINK src_link ... ; $ impdp system network_link=src_link tables=SPM.SPB_STAGING ...
  125. 229 Copyright © 2021, Oracle and/or its affiliates 転送 |

    SQL計画ベースライン 準備 抽出 転送 ロード 最後に、ステージング表からデータ・ディクショナリにベースラインをロード プロ・チップ: フィルタを適用して、インポートするベ ースラインを制限できます SQL> DECLARE l_count NUMBER; BEGIN l_count := DBMS_SPM.UNPACK_STGTAB_BASELINE ( table_name => 'SPB_STAGING', table_owner => 'SPM'); END; /
  126. 232 Copyright © 2021, Oracle and/or its affiliates 転送 |

    SQLプロファイル 準備 抽出 転送 ロード SQLプロファイルはデータ・ディクショナリに格納されます 転送先 - プロファイルはトランスポータブル・フォーマットに変換し、ステージング 表に格納する必要があります プロ・チップ: 移行するスキーマまたは表領域(あるいは その両方)にステージング表を作成 SQL> BEGIN DBMS_SQLTUNE.CREATE_STGTAB_SQLPROF ( table_name => 'STAGING', table_owner => 'SQLPROFILES'); END; /
  127. 233 Copyright © 2021, Oracle and/or its affiliates 転送 |

    SQLプロファイル 準備 抽出 転送 ロード 転送するプロファイルを選択 DEFAULTカテゴリからすべてのプロファイルを抽出するには プロ・チップ: profile_nameおよび profile_categoryでもフィルタできます SQL> BEGIN DBMS_SQLTUNE.PACK_STGTAB_SQLPROF ( staging_table_name => 'STAGING', staging_schema_owner => 'SQLPROFILES'); END; /
  128. 234 Copyright © 2021, Oracle and/or its affiliates 転送 |

    SQLプロファイル 準備 抽出 転送 ロード ステージング表がユーザー・データとともに移行される場合、このステップをス キップできます Data Pumpを使用して、その単一表を転送 プロ・チップ: ソース・データベースへのネットワーク接続がない場合、ダンプ・ファ イルからインポートすることもできます SQL> CREATE DATABASE LINK src_link ... ; $ impdp system network_link=src_link ¥ tables=SQLPROFILES.STAGING ...
  129. 235 Copyright © 2021, Oracle and/or its affiliates 転送 |

    SQLプロファイル 準備 抽出 転送 ロード 最後に、ステージング表からデータ・ディクショナリにプロファイルをロード プロ・チップ: 同じまたはそれ以上のリリースにSQL プロファイルをロードできます SQL> BEGIN DBMS_SQLTUNE.UNPACK_STGTAB_SQLPROF ( staging_table_name => 'STAGING', staging_schema_owner => 'SQLPROFILES', replace => TRUE); END; /
  130. Data Pump Data Guard 一時ロジカ ル・スタンバ イ RMAN複 製 RMAN

    Incr. TTS FTEX FTEX Incr. Golden Gate シンプルさ シンプル シンプル 複合 シンプル シンプル 複合 中 中 複合 ダウンタイム 大幅な ほぼゼロ ほぼゼロ 大幅な 低 大幅な 大幅な 低 ゼロ バージョン変更 + + + + + + 同じエンディアンのOSの変更 + (+) (+) (+) (+) + + + + Big/Little Endianness OS Change + + + + + 同じハードウェア + + + + + + + + ハードウェア交換 + + + + + + + + + 非CDBからCDB/PDB + + + + + 暗号化 + + + + + + 稼働開始 / アップグレード後のフォール バック + + 文字セットの変更 + + 異なる 移行 技術 Copyright © 2021, Oracle and/or its affiliates 238
  131. 240 Copyright © 2021, Oracle and/or its affiliates パフォーマンスの安定性 |

    移行後 パフォーマンスの安定性 ヒントやコツ、アンダースコア・パラメータ – 第3回セッション レコーディングを見る スライドを入手