コーソルDatabaseエンジニアのブログ
技術ブログ
技術ブログ
目次
渡部です。Oracle Database 19c新機能のDML Redirectionを紹介し、おさらいを兼ねて、最近のバージョンの関連するData Guard新機能をご紹介します。
[告知] 2019年7月23日(火)19:00 に開催する JPOUG in 15 minutes #8 で渡部の目で選んだOracle Database 19cの注目ポイントについてお話します。
DML Redirectionは、スタンバイデータベースで更新処理を実行可能にするOracle Database 19c新機能です。
従来、スタンバイデータベースでは原則的に参照処理しか実行できませんでした。すなわち、
更新処理を実行するアプリケーションを実行できるデータベースは、プライマリデータベースに限定されていました。DML Redirectionにより、更新処理を実行するアプリケーションをスタンバイデータベースで実行でき、プライマリデータベースの負荷を軽減することができます(処理のオフロード)。
なお、諸橋さんに教えて頂いたのですが、DML Redirectionは、従来スタンバイデータベースで使用できなかったBIツールを使用できるようになるという利点もあるそうです。というのも、一部のBIツールは、BIツール独自の管理データを対象データベースに保管するために更新処理を実行します。DML Redirectionにより、スタンバイデータベースで更新処理が実行可能になるため、このようなBIツールがスタンバイデータベースで使用可能になります。
これらの機能は12c R2および11g R2で追加されたものです。従来スタンバイデータベースで実行できなかったインメモリ処理やチューニング支援機能を、スタンバイデータベースで実行可能する機能拡張です。
これらの機能は18cおよび12g R1で追加されたものです。従来スタンバイデータベースでは一時表が使用できませんでしたが、これらの機能拡張により、スタンバイデータベースで一時表が使用可能になりました。
Support for DML on Global Temporary Tablesは、従来からあるグローバル一時表をスタンバイデータベースで使用可能にするものです。データベースに存在するデータを外部にエクスポートするときに、データを加工してからエクスポートしたいケースがあります。グローバル一時表が使えると、データの加工をグローバル一時表を使って実行可能なため、エクスポート処理のシステム構成をシンプルにできます。
Private Temporary Tablesは、新しい種類の一時表で、あるセッション専用の一時表です。グローバル一時表を使用する場合と異なり、あらかじめ一時表を作成しておく必要がないため、より簡単に一時表を使用できます。
これらの機能は12g R1で追加されたものです。従来スタンバイデータベースではシーケンスが使用できませんでしたが、これらの機能拡張により、スタンバイデータベースでシーケンスが使用可能になりました。
一時表が有用なケースと似た状況ですが、データベースに存在するデータを外部にエクスポートするときに、シーケンスを使って連番を付与したいケースがあります。これらの機能拡張はこのような状況で有効です。
Support for Sequencesは従来型のシーケンスを使用可能にする機能拡張で、Session Sequenceは新しい種類のシーケンスであるセッションシーケンスを使用可能にする機能拡張です。