2.147 INMEMORY_CLAUSE_DEFAULT
INMEMORY_CLAUSE_DEFAULT
を使用すると、新しい表およびマテリアライズド・ビューにインメモリー列ストア(IM列ストア)のデフォルトの句を指定できます。
ノート:
このパラメータの設定は、インメモリー外部表またはハイブリッド・パーティション表には影響しません。特性 | 説明 |
---|---|
パラメータ・タイプ |
文字列 |
構文 |
|
構文 |
other-clauses::=
|
構文 |
compression-clause::=
|
構文 |
priority-clause::=
|
構文 |
rac-clause::=
|
構文 |
distribute-clause::=
|
構文 |
duplicate-clause::=
|
デフォルト値 |
空の文字列 |
変更可能 |
|
PDBで変更可能 |
はい |
基本 |
いいえ |
Oracle RAC |
すべてのインスタンスには同じ値を使用する必要がある |
脚注1 この句の詳細は、表2-2を参照してください。
INMEMORY_CLAUSE_DEFAULT
パラメータを設定しないか空の文字列に設定する場合(デフォルト)、INMEMORY
として明示的に指定された表およびマテリアライズド・ビューのみがIM列ストアに移入されます。INMEMORY_CLAUSE_DEFAULT
パラメータの値をNO INMEMORY
に設定すると、デフォルト値に設定した場合と同じ結果になります。
INMEMORY_CLAUSE_DEFAULT
パラメータを設定する場合、INMEMORYとして指定された、新規作成の
任意の表またはマテリアライズド・ビューは、このパラメータから未指定の属性を継承します。これにより、構文で明示的に指定されていない特定のインメモリー・オプションがデフォルトで強制されます。たとえば、INMEMORY_CLAUSE_DEFAULT
パラメータをMEMCOMPRESS FOR CAPACITY LOW
に設定し、表がINMEMORY PRIORITY HIGH
で作成される場合、その表はINMEMORY MEMCOMPRESS FOR CAPACITY LOW PRIORITY HIGH
として宣言されたかのように扱われます。
INMEMORY
をこのパラメータの一部として指定する場合、NO INMEMORY
として明示的に指定された表とマテリアライズド・ビューを除き、新規作成された表とマテリアライズド・ビューはすべてIM列ストアに移入されます。たとえば、このパラメータをINMEMORY MEMCOMPRESS FOR CAPACITY HIGH
に設定する場合、この句がSQLのCREATE TABLE
文にあるかのように新しい表がすべて作成されます。指定のセグメントの表領域にINMEMORY
のデフォルト値がある場合、このパラメータの値がオーバーライドされます。
表2-2 INMEMORY_CLAUSE_DEFAULTパラメータの値の意味
構文 | 説明 |
---|---|
|
新規作成された表とマテリアライズド・ビューがSQLの |
|
SQLの |
|
インメモリー圧縮をインスタンスに使用する必要があることを指定します。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IM列ストアに表を移入する場合に使用する優先度を指定します。 デフォルトでは、IM列ストアへの表の移入は、その表が有用かどうかをデータベースが判断するまで遅れる場合があります。 データベース・インスタンスが起動すると、表は優先度順に移入されます。 |
|
これは、優先度を指定しない場合のデフォルト値です。 |
|
|
|
|
|
|
|
|
|
Oracle Real Application Clusters (Oracle RAC)インスタンス間でのIM列ストアの表の管理方法を指定します。 Oracle RAC以外のデータベースの場合、表全体またはパーティションが1つのインスタンスに存在する必要があるため、これらの設定による影響はありません。 |
|
Oracle RACインスタンス間での表の配信方法を指定します。 |
|
パーティション化のタイプおよび
|
|
IM列ストアの表が行IDの範囲に基づき様々なOracle RACインスタンスに配信されることを指定します。 |
|
すべてのOracle RACインスタンス間で分散される、IM列ストアの表の各インメモリー圧縮ユニット(IMCU)のコピー数を指定します。 ノート: エンジニアド・システムでOracle Real Application Clusters (Oracle RAC)を使用している場合、 |
|
Oracle RACインスタンス間でデータは複製されません。これはデフォルトです。 |
|
データは別のOracle RACインスタンスで複製されるため、合計2つのOracle RACインスタンスにデータが存在することになります。 |
|
すべてのOracle RACインスタンス間でデータが複製されます。 |
例
次の文では、表はIM列ストアに移入されません。
alter system set INMEMORY_CLAUSE_DEFAULT='NO INMEMORY' scope=both;
次の文では、新しい表およびマテリアライズド・ビュー(NO INMEMORY
として指定されたものを除く)は、高容量圧縮レベルでIM列ストアに移入されます。
alter system set INMEMORY_CLAUSE_DEFAULT='INMEMORY MEMCOMPRESS FOR CAPACITY HIGH' scope=both;
次の文では、新しい表(NO INMEMORY
として指定されたものも含む)は、優先度がLOW
の最高パフォーマンス圧縮レベルでIM列ストアに移入されます。
alter system set INMEMORY_CLAUSE_DEFAULT='INMEMORY MEMCOMPRESS FOR QUERY LOW PRIORITY LOW' scope=both;
次の文では、新しい表(NO INMEMORY
として指定されたものも含む)は、インメモリー圧縮なしでIM列ストアに移入されます。
alter system set INMEMORY_CLAUSE_DEFAULT='INMEMORY NO MEMCOMPRESS' scope=both;
次の文では、IM列ストアの表は、すべてのOracle RACインスタンス(非エンジニアド・システムを除く)で複製されます。非エンジニアド・システムの場合、duplicate-clause
(DUPLICATE ALL
)は無視され、列ストアの表は、Oracle RACインスタンス間で自動的に配信されます。IM列ストアには表の各IMCUのコピーが1つしかありません。
alter system set INMEMORY_CLAUSE_DEFAULT='INMEMORY MEMCOMPRESS FOR QUERY DISTRIBUTE AUTO DUPLICATE ALL' scope=both;
次の文では、INMEMORY_CLAUSE_DEFAULT
パラメータの値をデフォルト値(空の文字列)に戻します。
alter system set INMEMORY_CLAUSE_DEFAULT='' scope=both;
関連項目:
-
IM列ストアの概要は、『Oracle Database In-Memoryガイド』を参照してください。
-
IM列ストアの詳細は、『Oracle Database In-Memoryガイド』を参照してください。
-
IM列ストアの圧縮方法の詳細は、『Oracle Database In-Memoryガイド』を参照
-
IM列ストアにデータベース・オブジェクトを移入する場合の優先度レベルの詳細は、『Oracle Database In-Memoryガイド』を参照
-
CREATE TABLE文の詳細は、『Oracle Database SQL言語リファレンス』を参照
-
CREATE MATERIALIZED VIEW文の詳細は、『Oracle Database SQL言語リファレンス』を参照