ここでは、Oracle Database 11gの新機能について説明し、追加情報の参照先を示します。
以前のリリースのOracle Databaseの新機能については、該当するリリースのマニュアルを参照してください。
このリリースの新機能は、次のとおりです。
履歴表のデータ記憶域を最適化するようにデータベースに指示できます。CREATE
FLASHBACK
ARCHIVE
の「[NO] OPTIMIZE DATA」句と、ALTER
FLASHBACK
ARCHIVE
の「[NO] OPTIMIZE DATA」句を参照してください。
「SYS_CONTEXT」機能では、指定されたロールが当該セッションで現在有効化されているかどうかを判断できる新しいビルトイン・ネームスペースSYS_SESSION_ROLES
に対する問合せができます。
新しいシステム権限であるEXEMPT
REDACTION
POLICY
では、既存のOracle Data Redactionポリシーをバイパスできます。詳細は、表18-1を参照してください。
今回のリリースでは、次のSQL文が拡張されています。
CREATE
TABLE
およびALTER
TABLE
で、パーティションとサブパーティション用にdeferred_segment_creation句がサポートされるようになりました。これによって、最初のデータ行がパーティションまたはサブパーティションに挿入されるまで、セグメントの作成を遅らせることができます。
TRUNCATE
TABLE
には、表のすべてのセグメントの割当てを解除できるDROP ALL STORAGE句が新しく追加されています。ALTER
TABLE
には、パーティションまたはサブパーティションのすべてのセグメントの割当てを解除できるDROP ALL STORAGE句が新しく追加されています。
このSQL言語リファレンスでの構成の変更
このマニュアルの主にPL/SQLで構成されていた項の一部は、Oracle Database 11gリリース1の『Oracle Database PL/SQL言語リファレンス』に移行されました。移行された項目の詳細は、「このSQL言語リファレンスでの構成の変更」を参照してください。
このSQL言語リファレンスの新機能
今回のリリースでは、次のSQL文が追加または拡張されています。
接続または認証ユーザーのパスワードが変更された場合に、データベース・リンクの固定ユーザー・パスワードを更新するためのトップレベルSQL文ALTER DATABASE LINKが新しく追加されています。
ALTER
DISKGROUP
文には、次の変更が行われています。
ディスク・グループ・ファイルのインテリジェント・データ配置属性を指定するためのdisk_region_clauseが新しく追加されています。
物理ボリューム・デバイスに対応する論理的なOracle ASM動的ボリューム・マネージャ(Oracle ADVM)のボリュームを操作するためのdiskgroup_volume_clausesが新しく追加されています。
Oracle ASMファイルへのアクセスを制御するためのusergroup_clauses、user_clauses、file_permissions_clauseおよびfile_owner_clauseが新しく追加されています。
AUDIT
およびNOAUDIT
には、実行されるすべてのトップレベルSQL文の監査を使用可能および使用禁止にするためのALL STATEMENTS句が新しく追加されています。AUDIT
にのみ、監査を現行のセッションに制限するためのIN SESSION CURRENT句が新しく追加されています。
CREATE
DISKGROUP
およびALTER
DISKGROUP
には、次の変更が行われています。
ディスクまたは障害グループをクォーラム・ディスクまたは障害グループとして指定し、Cluster Synchronization Services(CSS)の投票ファイルを含めることができるQUORUM | REGULAR句が新しく追加されています。
エディションを使用するためのCREATE EDITION文およびDROP EDITION文が新しく追加されています。エディションによって、データベース内に同じエディション化可能なオブジェクトを2バージョン以上保持できるようになります。
CREATE INDEXTYPEおよびALTER INDEXTYPEにWITH
SYSTEM
MANAGED
STORAGE
TABLES
句が新しく追加されています。この句を使用すると、レンジ・パーティション表とリスト・パーティション表の両方にドメイン索引を作成できるようになります。
フィジカル・スタンバイ・データベースをプライマリ・データベースと同期するために使用できるSYNC WITH PRIMARY句が、ALTER
SESSION
に新しく追加されています。リアルタイム問合せモードのフィジカル・スタンバイ・データベースへの問合せに対して、セッション固有の適用ラグの許容値を指定するためのセッション・パラメータSTANDBY_MAX_DATA_DELAYが新しく追加されています。
CREATE
MATERIALIZED
VIEW
LOG
には、タイムスタンプのかわりにコミットSCNデータを使用してマテリアライズド・ビューをリフレッシュするようにデータベースに指示するCOMMIT SCN句が新しく追加されています。これによってリフレッシュ速度が向上します。
マテリアライズド・ビュー・ログのパージ時間を指定するためのmv_log_purge_clause句が、CREATE
MATERIALIZED
VIEW
LOG
およびALTER
MATERIALIZED
VIEW
LOG
に新しく追加されています。
CREATE
TABLE
およびALTER
TABLE
には、次の拡張が行われています。
最初のデータ行が表に挿入されるまで、表セグメントの作成を遅らせるためのdeferred_segment_creation句が新しく追加されています。この句はマテリアライズド・ビューにも使用できます。
table_compression句に、構文と用語が新しく追加されています。OLTP表圧縮を指定するには、COMPRESS
FOR
OLTP
を使用します。(以前のリリースでは、構文はCOMPRESS
FOR
ALL
OPERATIONS
でした。)基本表圧縮を指定するには、COMPRESS
BASIC
を使用します。(以前のリリースでは、構文はCOMPRESS
FOR
DIRECT_LOAD
OPERATIONS
でした。この圧縮はDSS表圧縮と呼ばれていました。)
表を指定する問合せ結果を結果キャッシュの対象とするかどうかを指定するためのRESULT_CACHE句が新しく追加されています。
ネストした表をパーティション実表でパーティション化するためのLOCAL
キーワードが、nested_table_col_propertiesに新しく追加されています。これは、このリリースでのデフォルト動作です。以前のリリースのデフォルト動作では、ネストした表はパーティション実表でパーティション化されませんでした。このリリースでは、ネストした非パーティション表をパーティション実表を使用して格納する場合、GLOBAL
キーワードを指定する必要があります。
エディショニング・ビューを作成するためのキーワードEDITIONINGが、CREATE
VIEW
に新しく追加されています。
ディレクトリ・オブジェクトに対するEXECUTE
オブジェクト権限が、GRANT文に新しく追加されています。外部表のORACLE_LOADER
アクセス・ドライバは、プリプロセッサ・プログラムを実行するかどうかを判断するときに、この権限を参照します。
今回のリリースでは、次の組込みファンクションが追加または拡張されています。
LISTAGGファンクションは、指定されたメジャーについて、ORDER
BY
句に指定された各グループ内でデータを順序付け、measure列の値を結合します。
データ・ウィンドウ内の指定された行のメジャー値を戻すNTH_VALUEファンクションが新しく追加されています。
データベースのタイムゾーン・データファイルを変更するときに役立つファンクションとして、ORA_DST_AFFECTED、ORA_DST_CONVERTおよびORA_DST_ERRORが新しく追加されています。
今回のリリースで追加または拡張されたその他の機能は、次のとおりです。
現在では、Oracle7で導入されたヒントのかわりに、SQLチューニング・アドバイザ、SQL計画管理、SQLパフォーマンス・アナライザなどのOracleツールが使用されています。詳細は、「ヒント」を参照してください。
Oracle Database 11gリリース2 (11.2.0.1)以上では、PARALLEL
、PARALLEL_INDEX
、NO_PARALLEL
およびNO_PARALLEL_INDEX
の各ヒントは文レベルのヒントであり、以前のオブジェクト・レベルのヒントより優先されます。「パラレル・ヒントの注意事項」を参照してください。
VALUES
句でダイレクト・パスINSERT
を使用するためのAPPEND_VALUESヒントが新しく追加されています。
REDOログ・ファイルを指定するときに、新しいキーワードBLOCKSIZE句を使用してオペレーティング・システム依存のセクター・サイズを上書きできます。
LOB_compression_clauseにLOW
設定が新しく追加されています。この設定を使用すると、わずかに低い圧縮率のコストで、解凍および圧縮の処理速度が大幅に向上します。
subquery_factoring_clauseでは、再帰的副問合せのファクタリング(再帰的WITH)がサポートされるようになりました。これによって、階層データの問合せを行うことができます。この機能は、深さ優先検索および幅優先検索を提供し、複数の再帰的ブランチをサポートするという点において、CONNECT
BY
よりも強力です。行の順序付けを指定し、再帰型での繰返しをマーク付けするために、search_clauseおよびcycle_clauseが新しく追加されています。
このSQL言語リファレンスでの構成の変更
多くのSQL文は、ほぼPL/SQL要素のみで構成されています。これらの文はこのマニュアルでも取り上げられていますが、構文とセマンティクスの大部分は『Oracle Database PL/SQL言語リファレンス』に移行されました。次の表に、このマニュアルに記載されている簡略化されたSQL構文とセマンティクス、および『Oracle Database PL/SQL言語リファレンス』に記載されている完全な構文とセマンティクスの項を示します。
簡略化されたSQLの項 | 完全な構文とセマンティクス |
---|---|
CREATE FUNCTION |
CREATE FUNCTION |
CREATE PACKAGE |
CREATE PACKAGE |
CREATE PACKAGE BODY |
CREATE PACKAGE BODY |
CREATE PROCEDURE |
CREATE PROCEDURE |
CREATE TRIGGER |
CREATE TRIGGER |
CREATE TYPE |
CREATE TYPE |
CREATE TYPE BODY |
CREATE TYPE BODY |
ALTER FUNCTION |
ALTER FUNCTION |
ALTER PACKAGE |
ALTER PACKAGE |
ALTER PROCEDURE |
ALTER PROCEDURE |
ALTER TRIGGER |
ALTER TRIGGER |
ALTER TYPE |
ALTER TYPE |
このSQL言語リファレンスの新機能
今回のリリースでは、次のSQL文が追加または拡張されています。
ALTER DATABASEには、次の拡張が行われています。
managed_standby_recovery句が大幅に簡略化されました。ほとんどのリカバリ処理がデータベースで自動的に行われるようになったため、数多くの副次句が非推奨になりました。
supplemental_db_loggingには、PL/SQLコールのサプリメンタル・ロギングを使用可能または使用禁止にするための構文が新しく追加されています。
standby_database_clausesには、フィジカル・スタンバイ・データベースをスナップショット・スタンバイ・データベースに変換したり、スナップショット・スタンバイ・データベースをフィジカル・スタンバイ・データベースに変換するための構文が新しく追加されています。
managed_standby_recovery句には、ロジカル・スタンバイで提供されるローリング・アップグレード機能を使用したり、プライマリ・データベースやフィジカル・スタンバイを元の構成に戻したりするためのKEEP
IDENTITY
構文が新しく追加されています。
ALTER DISKGROUPには、次の拡張が行われています。
check_diskgroup_clauseの、Oracle ASM環境におけるディスク・グループ、ディスクおよびファイルの一貫性をチェックするための構文が簡略化されました。
diskgroup_availability句には、ディスク・グループをマウントするためのオプションが新しく追加されています。
修復するディスクをオフラインにし、後でオンラインに戻すためのdisk_offline_clause句およびdisk_online_clause句が新しく追加されています。
ALTER INDEXには、次の拡張が行われています。
ユーザー管理記憶表のドメイン索引をシステム管理記憶表に移行するためのMIGRATE
パラメータが新しく追加されています。
索引をオプティマイザで参照できないように変更するためのINVISIBLE
パラメータが新しく追加されています。
「PARAMETERS句」でドメイン索引と同様にXMLIndex索引も再作成することができるようになりました。
ALTER SYSTEMには、次の拡張が行われています。
Oracle Real Application Clusters(Oracle RAC)環境で別のインスタンスのセッションを停止するための構文が新しく追加されています。
移行用にOracle ASMクラスタを作成し、すべてのノードが同じソフトウェア・バージョンに移行された後、通常の操作に戻すためのrolling_migration_clausesが新しく追加されています。
ALTER TABLEには、次の拡張が行われています。
DEFAULT
値を指定した場合のadd_column_clauseの動作が拡張され、パフォーマンスが向上しています。
READ ONLY | READ WRITEの構文によって、表のメンテナンス中にDDLまたはDMLによって変更されないように表を読取り専用モードにした後で、読取り/書込みモードにすることができます。
add_table_partition句の構文が拡張され、システム・パーティションを追加することができるようになりました。
flashback_archive_clauseを使用して、表の履歴追跡を使用可能または使用禁止にすることができます。
add_column_clauseを使用して、表に仮想列を追加することができるようになりました。
レンジ・パーティション表を期間パーティション表に変換するためのalter_interval_partitioning句が新しく追加されています。
データベースで、表におけるパーティションの様々なメンテナンス操作を参照パーティション表の子表に対してカスケードするためのdependent_tables_clauseが新しく追加されています。
ALTER TABLESPACEに、一時表領域または個々の一時ファイルに使用されている領域を縮小するための構文が新しく追加されています。
ASSOCIATE STATISTICSの構文を使用して、システム管理されたドメイン索引で収集された統計情報の記憶域がデータベースによって管理されるように指定することができます。
AUDITに、データ・マイニング・モデルでの様々なアクティビティを監査するための構文が新しく追加されています。
CALLでは、ルーチンに引数が必要な場合に、コールされているルーチンに対する引数に位置表記法、名前表記法および混合表記法を使用することができるようになりました。
COMMENTに、データ・マイニング・モデルに関する説明コメントを指定するためのMINING
MODEL
句が新しく追加されています。
CREATE DISKGROUPおよびALTER DISKGROUPに、ディスク・グループの様々な属性を設定するための構文が新しく追加されています。
表の変更履歴を追跡できるフラッシュバック・データ・アーカイブを作成、変更および削除するためのCREATE FLASHBACK ARCHIVE文、ALTER FLASHBACK ARCHIVE文およびDROP FLASHBACK ARCHIVE文が新しく追加されています。
CREATE INDEXには、次の拡張が行われています。
ローカル・パーティション・ドメイン索引を作成するためのlocal_domain_index_clauseが新しく追加されています。
index_attributesが変更され、オプティマイザで参照できない索引を作成できるようになりました。
XMLデータ用のXMLIndex索引を作成するためのXMLIndex_clauseが新しく追加されています。
CREATE INDEXTYPEおよびALTER INDEXTYPEを使用して、サブジェクト索引タイプに基づいて作成されたドメイン索引をレンジ・パーティションにすることができ、このドメイン索引の記憶表およびパーティションのメンテナンス操作がデータベースによって管理されるよう指定することができます。
CREATE PFILEに、現行のシステム全体のパラメータ設定からパラメータ・ファイルを作成するための構文が新しく追加されています。
CREATE RESTORE POINTに、指定された日時または過去のSCNに対するリストア・ポイントを作成して、フラッシュバック・データベースを保持するための構文が新しく追加されています。
CREATE SPFILEに、現行のシステム全体のパラメータ設定からシステム・パラメータ・ファイルを作成するための構文が新しく追加されています。
CREATE TABLEには、次の拡張が行われています。
flashback_archive_clauseを使用して、変更履歴の追跡が使用可能な表を作成することができます。
system_partitioning句を使用して、BY
SYSTEM
表をパーティション化することができます。
仮想列を作成するためのvirtual_column_definitionが新しく追加されています。
XMLデータをバイナリ形式のXML書式で格納するためのXML記憶域用の構文が新しく追加されています。
別のパーティション表への参照によって表をパーティション化するためのreference_partitioning句が新しく追加されています。
LOB_parametersに、より高速かつ効率的で、LOBの圧縮、暗号化、複製などの新機能を使用できるLOB用の記憶域を新しく指定するためのSECUREFILE
パラメータが新しく追加されています。
SecureFiles記憶域を使用したLOBに対するサーバー側のLOB圧縮を使用可能または使用禁止にするためのLOB_compression_clauseが新しく追加されています。
重複データを単一の共有リポジトリ内で結合して、記憶域の消費を削減し、SecureFiles記憶域を使用したLOBの記憶域管理を簡略化するためのLOB_deduplicate_clauseが新しく追加されています。
LOB_parametersに、SecureFiles記憶域を使用したLOBのLOB列の暗号化を使用可能または使用禁止にするためのENCRYPT
句およびDECRYPT
句が新しく追加されています。
CREATE TABLESPACEに、storage_clauseに新しく追加されたENCRYPT
キーワードとともに使用して表領域全体を暗号化するための構文が新しく追加されています。
DROP DISKGROUPに、Oracle ASMインスタンスによってマウントされなくなったディスク・グループを削除するためのFORCE
キーワードが新しく追加されています。
GRANTに、権限受領者がデータ・マイニング・モデルを使用して作業することができる様々なシステム権限およびオブジェクト権限が新しく追加されています。
LOCK TABLEに、表に対するDMLロックを取得するまでに文が待機する最大秒数を指定するための構文が新しく追加されています。
MERGEでは、ドメイン索引が含まれる表での操作がサポートされるようになりました。
SELECTに、行を列に変換するためのPIVOT
構文が新しく追加されています。また、列を行に変換するデータを問い合せるためのUNPIVOT
操作も新しく追加されています。
次のSQL組込みファンクションが追加または拡張されています。
キューブまたはディメンションのデータを抽出し、2次元形式のリレーショナル表に戻すための組込みファンクションCUBE_TABLEが新しく追加されています。
INSERTXMLAFTERでは、属性ノードでないターゲット・ノードの直後に任意の種類の1つ以上のノードを追加できます。
REGEXP_INSTRおよびREGEXP_SUBSTRに、正規表現の特定のサブストリングを評価対象とするためのオプションのsubexpr
パラメータが追加されています。
ソース文字列内で指定されている正規表現パターンの繰返し回数をカウントするための組込みファンクションREGEXP_COUNTが新しく追加されています。
PREDICTION、PREDICTION_COSTおよびPREDICTION_SETが拡張されています。格納されているコスト・マトリックスを使用するか(使用可能な場合のみ)、コスト・マトリックスを表内で指定するかを指定する構文が新しく追加されています。
予測に対する確度の下限および上限を戻すファンクションPREDICTION_BOUNDSが新しく追加されています。
XMLデータをSQLスカラー・データ型にキャストして、XQuery式が空でないXQueryシーケンスを戻すかどうかをそれぞれ確認するためのファンクションXMLCASTおよびXMLEXISTSが新しく追加されています。
対応するXMLDiffおよびXMLPatch C APIへのSQLインタフェースを提供するファンクションXMLDIFFおよびXMLPATCHが新しく追加されています。これらのファンクションを使用すると、2つのXMLType文書を比較し、diffファイルを使用してXMLType文書を修正できます。
その他の追加された変更は次のとおりです。
以前のリリースでは、第6章「式」の式の書式に変数式がありました。この書式の名前は、ドキュメント・セットの他のマニュアルに合わせてプレースホルダ式に変更されています。「プレースホルダ式」を参照してください。
以前のリリースでは、TABLE
およびCLUSTER
の区切られた構文のブランチを持つ単一文としてTRUNCATE
文がありました。このコマンドは、他のトップレベルSQL文に合わせてTRUNCATE CLUSTERおよびTRUNCATE TABLEに分割されています。実際の構文またはセマンティクスは、変更されていません。
RESULT_CACHE_MODE
初期化パラメータの設定を上書きするためのヒント「RESULT_CACHEヒント」および「NO_RESULT_CACHEヒント」が新しく追加されています。
「ファンクション式」では、式として使用されるユーザー定義ファンクションに対する引数に位置表記法、名前表記法および混合表記法を使用することができるようになりました。
ALTER TABLEおよびALTER INDEXのindex_partition_description
構文を使用して、ドメイン索引のパーティションに対してパラメータを指定することができるようになりました。
Oracle Multimediaでサポートされるオブジェクト型が新しく追加されています。「メディア型」を参照してください。