※本ページは、”Oracle Database 21c now available on Oracle Exadata”の翻訳です
最新のイノベーションリリースであるOracle Database 21cがExadata向けにリリースされました。Exadata Database Machineを活用するために特別に設計された多数の新機能と拡張機能が付属しています。
先に進む前に、Oracle Database 21cには、その前身である Oracle Database 19cと同様に、様々な機能の配列が含まれています。 Oracle Database Server TechnologiesのエグゼクティブVPである Andy Mendelsohn によるこの短いビデオを見て、Willie Hardieからのこのブログ投稿(日本語訳)をざっと読むと、Oracle Database 21cの内容の概要を簡単に知ることができます。昔ながらのマニュアルを読むのが好きな私たちのために、「Learning Database New Features」のマニュアルは、すべての新機能とドキュメントライブラリの残りの部分へのリンクをカバーしており、注意を引くものすべてに慣れることができます。
ExadataでOracle Database 21cの使用を開始したい場合は、完全なストレージへのオフロードをサポートしている Exadata System Software 21.2.xを使用して、GI / ASMもバージョンも21cにアップグレードする必要があります。いつものように、MOS Note 888828.1は、Oracle Database 21cをサポートするように更新された Oracle Exadata Deployment Assistant(OEDA)へのリンクを含む最新情報で更新されます。
イノベーションリリース
Oracle Database 21cはイノベーションリリースです。イノベーションリリースにより、お客様は、その恩恵を受ける可能性のあるユースケースやアプリケーションに、新しく強化された機能を迅速に採用できます。 Oracle Database 21cの新機能には、ブロックチェーンテーブル、ネイティブJSONデータ型、SQLマクロ、およびOracleデータベース内でのJavascriptの実行が含まれます。お客様は、イノベーションリリースのサポート期間が、Oracle Database 19cなどのロングタームリリースに比べて短いことに注意する必要があります。イノベーションリリースを採用しているお客様は、次のデータベースリリースが出荷されてから1年以内に次のデータベースリリースにアップグレードする準備をする必要があります。
すべてのオンプレミスプラットフォーム(Exadataを含む)およびOracle Cloud(Autonomous Database Servicesを含む)での最新のOracle Database 21cの可用性とサポート期間については、My Oracle Support(MOS)NOTE 742060.1を参照してください。
次にExadataでのみ提供されるのOracle Database 21cの機能と最適化に戻りましょう。
Exadata用のOracleDatabase21cの新機能
Automatic Indexing(自動インデックス)作成の機能強化
Oracle Database 19cで導入された自動インデックス作成は、DBAと開発者の生産性を大きく前進させます。有効にすると、自動インデックス作成はデータベースのワークロードを常に監視し、新しいインデックスを識別、作成、および検証します。これにより、処理が高速化され、アプリケーションとユーザーにメリットがあります。たとえば、非表示のインデックスとして作成を提案されたインデックスがパフォーマンスを向上させないとします。この場合、同じテストと結果の繰り返しを避けるために、あまり役に立たないインデックスに対応するSQLが除外リストに追加されていても、インデックスは削除され、プロセスが繰り返されます。アルゴリズムがそれ自体の間違いから効果的に学習できるようにします。
このタスクをOracleデータベースに完全に引き渡す準備が整っていない場合は、自動索引付けをレポート専用モードで実行できます。したがって、本番環境でインデックスを作成する前に、新しいインデックスの推奨事項を取得し、非本番データベースで有効性をテストできます。
最初のリリースでは、自動インデックス作成により、考慮するスキーマを制限できました。ただし、自動インデックス作成では、これらのスキーマ内のすべてのテーブルが考慮されました。 21cでは、自動インデックス作成を構成する際の制御の粒度が向上しました。たとえば、個々のテーブルを含めたり除外したりできるようになりました。このレベルの制御は、インデックスが最初に作成されるときに重要なSQLステートメントでカーソルが無効になるのを防ぐのに役立ちます。
Oracle RAC Cache Fusion 機能の強化
Exadataで実行されるほとんどの(できればすべての)データベースはOracle Real Application Clusters(RAC)で実装されるため、管理者はグローバルキャッシュサービスプロセス(LMS)プロセスの重要性とOracle RAC Cache Fusionでのそれらの役割を認識します。これらのプロセスとOracle RAC Cache Fusionの内部を詳しく説明することで、これらのプロセスの機能を簡単にしたくはありませんが、かなりの時間を費やす可能性があります。そのため、別の日に残しておきましょう。
手元のトピックに戻ると、LMSプロセスは、キャッシュフュージョン要求を処理するときに、データベースインスタンス間で通信する作業の大部分を実行します。 LMSプロセスの数は、CPUコアの数に依存し、優先度の高いモードで実行されます。フォアグラウンドプロセスは、リモートインスタンスで実行されているリモートLMSプロセスと通信して、ロックおよびデータブロック要求を行います。このセクションでは、インスタンスの可用性のコンテキストでLMSについて特に関心があります。キャッシュフュージョンリクエストを処理する場合、LMSは、不一致やロック状態のエラーなどのさまざまな理由で、アサート/内部エラーの形でさまざまな問題に遭遇する可能性があります。ただし、以前のリリースとは異なり、LMSはエラーを回復し、コストの高いインスタンスクラッシュを防止し続けます。Oracle Database 21cで導入されたこの機能は、Oracle RAC Cache Fusion Hardeningと呼ばれ、インスタンスのクラッシュの可能性を減らすことで高可用性を強化します。最終的に、これによりLMSはより堅牢になります。この予防メカニズムにより、多くのデータベースをマルチテナントアーキテクチャに統合しているミッションクリティカルなデータベースおよび環境で、Oracle Daatbase とExadataの可用性がさらに向上します。
データベースインメモリ-CellMemoryレベル(Databae 19.8にもバックポート)
Exadata System Software 12.2.1.1.0では、Exadata System Softwareがフラッシュキャッシュを使用してデータベースインメモリ形式でデータを格納する機能を導入しました。これは、ストレージサーバー上のインメモリ列キャッシュまたは「CellMemory」として知られています。これにより、インメモリ領域がデータベースサーバーを超えてストレージサーバーに効果的に拡張され、この形式でより多くのデータにアクセスできるようになり、このデータをデータベースと同じティアで高速ベクトル処理インメモリアルゴリズムで処理できるようになります。結果として、データベースサーバーのメモリとストレージサーバーのインメモリ列キャッシュの両方を使用することで、データベースサーバーに搭載されているメモリのみを使用した場合よりも、ピュア・インメモリ形式でかなり多くのデータにアクセスできるようになります。
Oracle Database 21.3(および19.8)より前は、ExadataのCellMemory機能は、Database In-Memoryを有効にするために、INMEMORY_SIZEの値を指定する必要がありました。Oracle Database 21.3(および19.8)から、INMEMORY_SIZE = 0およびINMEMORY_FORCE = CELLMEMORY_LEVELを設定して、データベースインスタンスにインメモリ列ストアを割り当てることなく、ExadataのCellMemory機能を利用できるようになりました。これはストレージサーバー上のインメモリ列キャッシュ機能の動作に影響を与えたり変更したりすることはなく、この機能を使用するにはデータベースインメモリのライセンスを購入する必要があることに注意してください。
CMANトンネルを使用したリバースコネクションのサポート
安全性の高い環境でのExadataデプロイメントの場合、一般的な要件は、データベースへのインバウンド接続を防止し(データベースに接続しない場合に最初にデータベースをデプロイする理由とは正反対に聞こえます…)、アウトバウンド接続のみを許可することです。 。これはデータベースを確保するのに役立つ可能性があるため、データはネットワーク内の信頼できる既知のエンドポイントによってのみ使用されます。しかし、そのような状況で実際にデータベースに接続するにはどうすればよいでしょうか。確かに、Exadata Database Serverでアプリケーションコードを直接実行してデータをプッシュしているのではありませんか?いいえ、おそらくこれを行っていませんが、データベースへの着信接続がネットワーク内の既知の信頼できるエンドポイントからのものであることを確認することをお勧めします。
Connection Manager(CMAN)に入ります。 Oracle Database 21cでは、CMANを使用して、アプリケーションからのインバウンド接続が送信されるCMANサーバーとデータベースサーバーで実行されているCMANクライアントの間にセキュアトンネル(sshトンネルと考えてください)を作成できます。次の図は、信頼できるネットワーク内のCMANサーバーへの安全なコネクション・プールを作成したExadata Database Server上のCMANクライアントを示しています。クライアントとアプリケーションは、信頼されたゾーンのCMANサーバーに接続し、CMANサーバーは、安全なトンネルを使用してクライアントをデータベースに接続します。非常にシンプルです!

この投稿の冒頭で述べたように、Oracle Database 21cには膨大な数の新機能と最適化があります。今回このブログで触れたのは、Oracle Exadataの恩恵を受けている、またはOracle Exadataによって拡張されている機能に触れただけです。ドキュメントのLearning Database New Featuresガイドを参照し、機能の定期的な更新については、https://blogs.oracle.com/exadata または、blogs.oracle.com/databaseを確認することを強くお勧めします。
今後数週間から数か月以内に、Oracle Database 19cと21c、そしてもちろんOracle Exadataに関する投稿を増やす予定です。ご期待してお待ちください!
最後に、以下のコメントセクションでこれと他の投稿についてのあなたの考えを教えてください。 Twitter @ExadataPMでフォローすることもできます
