『Oracle Database SQL言語リファレンス』のこのリリースでの変更点
内容は次のとおりです。
Oracle Databaseリリース19cにおける変更点
Oracle Database 19cの『Oracle Database SQL言語リファレンス』で変更された点を次に示します。
新機能
リリース19cの新機能は次のとおりです。
Microsoft Azure ADユーザーへのOracle Databaseスキーマおよびロールのマッピング
CREATE USER
の拡張されたGLOBALLY
句を使用して、Oracle DatabaseスキーマをMicrosoft Azure ADユーザーに排他的にマップできます。
CREATE ROLE
の拡張されたGLOBALLY
句を使用して、共有OracleスキーマまたはOracle Databaseグローバル・ロールをAzure ADアプリケーション・ロールにマップできます。
SQLマクロ
SQLマクロ(SQM)を作成して、共通のSQL式および文を、他のSQL文で使用できる再利用可能なパラメータ化された構造体にくくり出すことができます。
Oracle Databaseリリース19c, バージョン19.7以降、SQL表マクロがサポートされています。SQL表マクロは、通常FROM
句で使用される式で、多相(パラメータ化)ビューのように機能します。
SQL表マクロにより、開発者の生産性が高まり、コラボレーション開発が簡略化され、コード品質が向上します。
粒度の高いサプリメンタル・ロギング
粒度の高いサプリメンタル・ロギングでは、データベース・レベルまたはスキーマ・レベルでサプリメンタル・ロギングが有効になっている場合でも、部分データベース・レプリケーション・ユーザーは、関心のない表に対するサプリメンタル・ロギングを無効にできます。
この機能は、データベース内の一部の表に対してのみサプリメンタル・ロギングが必要な場合に使用し、リソース使用率およびREDO生成のオーバーヘッドを大幅に削減します。
この機能を使用するには、ALTER DATABASE
およびALTER PLUGGABLE DATABASE
文のsupplemental_db_logging
句に追加された新しいsupplemental_subset_replication_clause
を構成します。
LOBロケータの署名ベース・セキュリティ
このリリース以降、ラージ・オブジェクト(LOB)ロケータの署名ベース・セキュリティを構成できます。LOB署名キーは、マルチテナントPDBまたはスタンドアロンの非マルチテナント・データベースのどちらでも使用できます。
ALTER DATABASE DICTIONARY ENCRYPT CREDENTIALS
SQL文を実行することで、LOB署名キー資格証明の暗号化を有効にできます。それ以外の場合、資格証明は不明瞭化された形式で格納されます。LOB署名キーを暗号化された形式で格納する場合、データベースまたはPDBにオープンTDEキーストアが必要です。
REST APIを使用したクラウドのオブジェクト・ストアのサポート
Oracle Data Pumpは、サポートされているオブジェクト・ストアにあるファイルからデータをインポートできます。
ALTER DATABASE
文の新しいproperty_clause
を使用して、コマンドラインでデータベース資格証明を指定し、デフォルトの資格証明をデータベースに格納できます。
システム管理シャーディングに対する複数表ファミリのサポート
この機能は、システム管理シャード・データベースにのみ適用されます。CREATE SHARDED TABLE
文を使用して、1つのシャード・データベースで異なる表ファミリにアクセスする様々なアプリケーションをホストできます。
システム・シャーディングを使用する表ファミリは複数作成できますが、ユーザー定義および複合シャーディングでは1つの表ファミリのみがサポートされます。
シャード間の一意の連番の生成
一意制約を持つ主キー以外の列のシャード間でグローバルに一意の連番を生成でき、自分で管理する必要がありません。シャード・データベースによってこれらの連番が管理されます。
CREATE SEQUENCE
文またはALTER SEQUENCE
文のSHARD
句を使用して、シャード間で一意の連番を生成します。
インメモリー外部表のビッグ・データおよびパフォーマンスの向上
CREATE TABLE
およびALTER TABLE
文のinmemory_clause
では、ORACLE_HIVE
およびORACLE_BIGDATA
ドライバ・タイプの指定をサポートしています。
非パーティション表のinmemory_clause
句でINMEMORY
を指定して、これらのドライバ・タイプをサポートできます。
ビットマップ・ベースの固有カウントのSQLファンクション
5つの新しいビット・ベクトル・ファンクションを使用して、SQL問合せ内でCOUNT DISTINCT操作を高速化できます。
BITMAP_BUCKET_NUMBER
BITMAP_BIT_POSITION
BITMAP_CONSTRUCT_AGG
BITMAP_OR_AGG
BITMAP_COUNT
Memoptimized Rowstore - 高速インジェスト
高速収集を有効にするには、CREATE TABLE
またはALTER TABLE
のmemoptimize_write_clause
を使用します。高速収集は、ディスクに書き込む前に挿入を格納するバッファ・プールを利用して、モノのインターネット(IoT)アプリケーションから1行データを挿入する頻繁なメモリー処理を最適化します。
JSONとオブジェクトのマッピング
この機能により、JSONデータと、ユーザー定義のSQLオブジェクト型およびコレクションとの間のマッピングが可能になります。
SQL/JSONファンクションjson_value
を使用して、JSONデータをSQLオブジェクト型のインスタンスに変換できます。反対の方向では、SQL/JSONファンクションjson_object
またはjson_array
を使用して、SQLオブジェクト型のインスタンスからJSONデータを生成できます。
JSON_MERGEPATCHファンクション
新しいSQLファンクションjson_mergepatch
を使用して、JSONドキュメントを宣言的に更新できるようになりました。1つの文を使用して複数のドキュメントに1つ以上の変更を適用できます。
この機能により、JSON更新操作の柔軟性が向上します。
JSON構文の簡略化
構文の簡略化は、SQL/JSONパス式およびファンクションjson_object
によるSQL/JSON生成用に提供されます。新しいSQL問合せ句NESTED
は、json_table
をLEFT OUTER JOIN
とともに使用する方法の単純な代替方法を提供します。
GeoJSONデータに対するJSON_SERIALIZEおよびJSONデータ・ガイドのサポート
新しいSQLファンクションjson_serialize
を使用して、JSONデータをテキストまたはUTFエンコードBLOB
データにシリアライズできます。
SQL集計ファンクションjson_dataguide
では、GeoJSON地理データをドキュメント内で検出できるようになりました。これを使用して、このようなデータをSQLデータ型SDO_GEOMETRY
として投影するビューを作成できます。
ハイブリッド・パーティション表
一部のパーティションがOracleデータベース・セグメント内に存在し、一部のパーティションが外部ファイルおよびソース内に存在するハイブリッド・パーティション表を作成できます。内部パーティションおよび外部パーティションは、必要に応じて単一のパーティション表に統合できます。
CREATE TABLE
またはALTER TABLE
のtable_partition_description
句でINTERNAL
またはEXTERNAL
を指定します。
パリティ保護されたファイル
高レベルの冗長性を必要としないアーカイブ・ログやバックアップ・セットなどのライトワンス・ファイルの単一のパリティを構成し、領域を節約できます。
ALTER DISKGROUP
文のredundancy_clause
にPARITY
を指定します。
LISTAGG集計のDISTINCTオプション
LISTAGG
集計ファンクションでは、新しいDISTINCT
キーワードを使用した重複削除がサポートされるようになりました。
統合監査のトップ・レベル文
ユーザーが直接発行したSQL文を監査する場合は、CREATE AUDIT POLICY
文(統合監査)にONLY TOPLEVEL
句を指定します。
by_users_with_roles_clause
を使用して、指定したロールを直接的または間接的に付与されたユーザーのポリシーを有効化できるようになりました。
OMF以外のモードでの自動名前変更の透過的オンライン変換のサポート
ALTER TABLESPACE ENCRYPTION
文でFILE_NAME_CONVERT
を省略すると、Oracleは内部的に補助ファイルの名前を選択し、後でその名前を元の名前に戻します。
ALTER SYSTEM句のFLUSH PASSWORDFILE_METADATA_CACHE
コマンドALTER SYSTEM FLUSH PASSWORDFILE_METADATA_CACHE
は、SGAに格納されているパスワード・ファイルのメタデータ・キャッシュをフラッシュし、変更があったことをデータベースに通知します。