Always FreeのAutonomous Database - Oracle Database 21c

Always Free Autonomous Databaseをプロビジョニングする場合、Oracle Database 19cまたはOracle Database 23aiのいずれかを選択できます。

Always Free Autonomous DatabaseOracle Database 21cの機能

Always Free Autonomous Databaseをプロビジョニングする場合、Oracle Database 19cまたはOracle Database 23aiのいずれかを選択できます。

ノート

Always FreeのAutonomous Database Oracle Database 23aiの可用性により、Oracle Database 21cはプロビジョニングまたはクローニング・オプションとして使用できなくなりました。Oracle Database 21cで実行されている既存のAlways Free Autonomous Databaseは、Always Free Autonomous Databaseとして続行されます。

Oracle Database 21cで実行されているAlways Free Autonomous Databaseには、多くの新しい革新的な自律型機能および開発者指向機能が用意されています(次を含むがこれらに限定されません):

パフォーマンス機能

  • 自動ゾーン・マップ

    自動ゾーン・マップは、顧客が操作しなくてもユーザー表に対して作成およびメンテナンスされます。ゾーン・マップを使用すると、問合せの条件に基づいてブロック範囲およびパーティションをプルーニングできます。自動ゾーン・マップは、ダイレクト・ロードの場合はメンテナンスが行われ、他のDML操作の場合は、バックグラウンドで増分的かつ定期的にメンテナンスおよびリフレッシュが行われます。

    この機能を有効にするには:

    exec dbms_auto_zonemap.configure('AUTO_ZONEMAP_MODE','ON');

    この機能は次のように無効化されます:

    exec dbms_auto_zonemap.configure('AUTO_ZONEMAP_MODE','OFF');

    詳細は、DBMS_AUTO_ZONEMAPサブプログラムのサマリーに関する項を参照してください。

  • オブジェクト・アクティビティ・トラッキング・システム

    オブジェクト・アクティビティ・トラッキング・システム(OATS)は、様々なタイプのデータベース・オブジェクトの使用状況を追跡します。使用方法には、アクセス、データ操作、リフレッシュなどの操作が含まれます。

    OATSを有効にするために手動の操作は必要なく、構成も必要ありません。詳細は、PL/SQLプロシージャDBMS_ACTIVITY.CONFIGUREおよびデータベース・ディクショナリ・ビューDBA_ACTIVITY_CONFIGを参照してください。

アプリケーション開発: 高度な分析SQL機能

  • SQLマクロ

    SQLマクロは、共通のSQL構造を除外する機能で、スカラー式をサポートしています。これにより、開発者の生産性が向上し、共同コード開発が簡略化され、コード品質が向上します。詳細は、SQLマクロに関する項を参照してください。

  • 分析関数の拡張

    ウィンドウ・ファンクションは、EXCLUDEオプションおよびWINDOW句のサポートを含む、完全なANSI標準をサポートしています。完全なANSI標準をサポートすると、他の標準準拠データベース・システムとともに開発されたアプリケーションの移行が容易になります。詳細は、ウィンドウ・ファンクションに関する項を参照してください。

  • 新しい分析ファンクションおよび統計集計ファンクション

    Oracle Database 21cのSQLでは、いくつかの新しい分析ファンクションおよび統計集計ファンクションを使用できます。これらの追加のSQL集計関数を使用すると、より効率的なコードを作成でき、データベース内の処理が高速になるという利点があります。

    • CHECKSUMは入力値または式のチェックサムを計算します。

      キーワードALLおよびDISTINCTがサポートされます。

    • KURTOSIS関数KURTOSIS_POPおよびKURTOSIS_SAMPは、データ・セットの依存性を測定します。この値が大きいほど、データ・セット内の差異の大部分が、規模の小さい差異が多数発生したのではなく、非常に大きい差異がまれに発生した結果であることを意味します。正規分布の尖度がゼロであることに注意してください。

      キーワードALLDISTINCTおよびUNIQUEがサポートされます。

    • SKEWNESSファンクションSKEWNESS_POPおよびSKEWNESS_SAMPは、データの非対称の測定値です。正の歪度は、データが中心点の右側に偏っていることを意味します。負の歪度は、データが左側に偏っていることを意味します。

      キーワードALLDISTINCTおよびUNIQUEがサポートされます。

    • ANY_VALUEは、GROUP BY文のパフォーマンスを簡素化および最適化する関数で、グループ内のランダム値を返し、グループ内の最初の値を返すように最適化されています。これにより、入力行に対して比較が行われないようにし、GROUP BY句の一部としてすべての列を指定する必要があります。

    詳細は、Oracle Database 21c SQL言語リファレンス・ガイドを参照してください。

  • ビット単位の集計関数

    Oracle Database 21cでは、新しいビット単位タイプ処理ファンクションBIT_AND_AGGBIT_OR_AGGおよびBIT_XOR_AGGにより、ネイティブなビット単位タイプ処理が提供されます。これらのファンクションを使用すると、新しいタイプのアプリケーション処理のために、データベース内での処理のタイプを有効にし、全体的なパフォーマンスを向上させ、不要なデータ移動を回避し、パラレル処理などのコア・データベース機能をネイティブに利用できます。詳細は、Oracle Database 21c SQL言語ガイドを参照してください。

JavaScript DBMS_MLEを使用した実行

DBMS_MLEパッケージを使用すると、ユーザーはOracle Database内でJavaScriptコードを実行し、PL/SQLとJavaScriptの間でシームレスにデータを交換できます。JavaScriptコード自体は、組込みJavaScriptモジュールを介してPL/SQLおよびSQLを実行できます。JavaScriptデータ型は、Oracle Databaseデータ型に自動的にマップされ、その逆も同様です。

DBMS_MLEパッケージを使用すると、開発者はJavaScriptでデータ処理ロジックを記述できます。JavaScriptは、広く使用されている一般的なプログラミング言語であり、データの近くで実行する必要があるプログラムの作成にも使用できるようになりました。

詳細は、DBMS_MLEを参照してください。

ブロックチェーン表

ブロックチェーン表は、挿入操作のみできる追加専用の表です。行の削除は、禁止または時間に基づいて制限されます。ブロックチェーン表内の行は、特殊なシーケンシングおよびチェーン・アルゴリズムによって改ざん防止状態になっています。ユーザーは、行が改ざんされていないことを確認できます。行メタデータの一部であるハッシュ値は、行の連鎖および検証に使用されます。

ブロックチェーン表を使用すると、ブロックチェーン・ネットワーク内のすべての参加者が同じ改ざん防止元帳にアクセスできる集中元帳モデルを実装できます。

集中化されたレジャー・モデルでは、分散化されたレジャー・ネットワークを設定するための管理オーバーヘッドが軽減され、分散化されたレジャーに比べると待機時間が比較的少なくなり、開発者の生産性が向上し、市場化までの時間が短縮され、組織にとって大幅な節約になります。データベース・ユーザーは、他のデータベース・アプリケーション開発で利用しているのと同じツールおよびプラクティスを引き続き使用できます。

詳細は、ブロックチェーン表の管理を参照してください。

JSONドキュメント・ストアの機能拡張

  • データ・ガイドの機能改善

    開発の柔軟性が向上し、マテリアライズド・ビューが可能になります。これにより、DMLパフォーマンスとのトレードオフにより、問合せのパフォーマンスが向上する可能性があります。

    • 第3引数にDBMS_JSON.GATHER_STATSを指定した場合、JSON_DATAGUIDEは統計情報を収集するようになりました。これらは、ファンクション・コール時に動的(最新)に計算されます。

    • DBMS_JSON.CREATE_VIEWに、標準ビューのかわりにマテリアライズド・ビューを作成するオプションが追加されました。ビューをデータのサブセットに作成できるように、特定のパスを指定するオプションもあります。CREATE_VIEWおよびADD_VIRTUAL_COLUMNの両方が拡張されて、列名の競合の自動解決、列名に適用される接頭辞の提供、および列名の大/小文字区別の指定が可能になりました。

    詳細は、「JSONデータ・ガイド」を参照してください。

  • JSON DataTypeの複数値索引

    新しい索引作成構文CREATE MULTIVALUE INDEXを使用すると、JSONデータ型の列内の文字列または数値の配列にファンクション索引を作成できます。配列内の一意の各値は、検索可能な索引エントリになります。これにより、JSON_EXISTSまたはJSON_VALUE演算子を使用して検索するときに、JSON列の配列内の値を検索するための完全なJSONスキャンの必要性がなくなります。JSONを検索する場合、従来のファンクション索引と同様の利点がありますが、従来のファンクション索引は、行ごとに単一の索引付けされた値に制限されます。

    詳細は、JSON_EXISTSの複数値関数ベース索引の作成および複数値関数ベース索引の使用を参照してください。

  • 新しいJSONデータ型

    JSONは、JSONデータの新しいSQLおよびPL/SQLのデータ型です。この型を使用すると、問合せおよび更新のパフォーマンスが大幅に向上します。JSONデータ型は、SQL/JSON問合せおよびDML処理に最適なバイナリ形式OSONを使用します。バイナリ形式を使用すると、JSONデータの処理について、データベース・パフォーマンスが向上する可能性があります。

    JSONデータ型とそのインスタンスは、次のように、SQLデータ型が使用できるほとんどの場所で使用できます:

    • 表またはビューDDL用の列タイプとして
    • SQL/JSONファンクションおよび条件と、PL/SQLプロシージャおよびファンクションとともに使用
    • Oracleドット表記法問合せ構文で
    • ファンクション索引および検索索引を作成する場合

    Oracle Call InterfaceおよびJava Database Connectivity (JDBC)クライアントでは、バイナリJSONデータ型OSON形式を直接操作できるAPIが提供されるようになり、ネットワーク・コストおよびサーバーCPUサイクルが大幅に節約されています。今後、OracleではJSONデータ型を使用してJSONデータを格納および処理することをお薦めします。

    Oracle Autonomous JSON Databaseでは、OSON形式を使用してJSONデータを格納および処理します。

    詳細については、Creating a Table With a JSON Columnを参照してください。

  • 新しいOracle SQL関数JSON_TRANSFORM

    SQL関数JSON_TRANSFORMを使用して、JSONドキュメントの各部を更新できます。変更する部分、変更内容および新しい値を指定します。JSON_TRANSFORMは、OSON形式レベルで部分更新を実行することで最適化され、JSONデータ型の更新パフォーマンスが向上します。

    JSON_TRANSFORMにより、アプリケーションでは解析して再構築することなくJSONドキュメントを変更できます。ほとんどの場合、ドキュメント全体に対するサーバーとクライアント間のラウンドトリップも回避されます。

    詳細は、Oracle SQLファンクションJSON_TRANSFORMを参照してください。

  • SQL/JSON構文の改善

    より複雑なSQL/JSON問合せを表現し、一部の問合せをより簡潔に表示できるようになりました:

    • 新しいSQL関数JSON_SCALARは、SQLデータ型のスカラー・インスタンスを受け入れ、スカラーJSON値をJSONデータ型のインスタンスとして返します。

    • 新しいJSONパス言語の項目メソッドでは、JSON_SCALAR: float()double()binary()ymInterval()およびdsInterval()がサポートされます。

    • The JSON path-language and dot-notation syntax support the aggregate item methods: avg(), count(), minNumber(), maxNumber(), minString(), maxString(), sum().

      詳細は、Simple Dot-Notation Access to JSON DataおよびSQL/JSON Path Expressionの項目メソッドを参照してください。

SODAの機能拡張: 新しいJSONデータ型

デフォルトのコレクション記憶域がJSONデータ型に変更されました。詳細は、SODA for PL/SQLによるドキュメント・コレクションの作成に関する項を参照してください。

PL/SQLの機能拡張

  • PL/SQLが拡張され、ループおよび修飾式で新しいイテレータを使用して繰返しコントロールをプログラミングできるようになりました。

    新しいイテレータ構造体は、明確かつ単純でわかりやすく効率的です。

    詳細は、PL/SQL拡張イテレータに関する項を参照してください。

アプリケーションの段階的データベース・パスワード・ロールオーバー

アプリケーションのデータベース・パスワードは、管理者が停止時間をスケジュールしなくても変更できます。

これを行うには、データベース管理者は、PASSWORD_ROLLOVER_TIMEパスワード・プロファイル・パラメータにゼロ以外の制限を持つプロファイルをアプリケーション・スキーマに関連付けます。これにより、PASSWORD_ROLLOVER_TIME制限で指定された期間、古いパスワードを有効なままにしながら、アプリケーション・ユーザーのデータベース・パスワードを変更できます。ロールオーバー期間中、アプリケーション・インスタンスは古いパスワードまたは新しいパスワードのいずれかを使用してデータベース・サーバーに接続できます。ロールオーバー時間が経過すると、新しいパスワードのみが許可されます。

CREATE PROFILEおよびALTER PROFILE文の句PASSWORD_ROLLOVER_TIMEに加えて、ALTER USER文には句EXPIRE PASSWORD ROLLOVER PERIODがあります。DBA_USERSおよびUSER_USERSデータ・ディクショナリ・ビューのACCOUNT_STATUS列には、ロールオーバー・ステータスを示す値を示すステータスがいくつかあります。

詳細は、アプリケーションの段階的データベース・パスワード・ロールオーバーの管理に関する項を参照してください。

Always Free Autonomous Database Oracle Database 21cノート

Always Free Autonomous DatabaseOracle Database 21cを使用している場合、次のOracle Database 21cの機能はサポートされていません: