ヘッダーをスキップ

Oracle Database SQL言語リファレンス
11g リリース1(11.1)

E05750-03
目次
目次
索引
索引

戻る 次へ

11 SQL文: ALTER MATERIALIZED VIEW〜ALTER SYSTEM

この章では、次のSQL文について説明します。


ALTER MATERIALIZED VIEW

用途

マテリアライズド・ビューは、問合せ結果を含むデータベース・オブジェクトです。問合せのFROM句には、表、ビューおよびその他のマテリアライズド・ビューを指定できます。これらをあわせて、マスター表(レプリケーション用語)またはディテール表(データ・ウェアハウス用語)といいます。このマニュアルでは、マスター表という用語を使用します。マスター表が格納されているデータベースをマスター・データベースといいます。

ALTER MATERIALIZED VIEW文を使用すると、既存のマテリアライズド・ビューを次の方法で変更できます。

前提条件

マテリアライズド・ビューを変更するために必要な権限は、次のように直接付与される必要があります。

マテリアライズド・ビューが自分のスキーマ内にある必要があります。自分のスキーマ内にない場合は、ALTER ANY MATERIALIZED VIEWシステム権限が必要です。

クエリー・リライトでマテリアライズド・ビューを使用可能にする場合、次の条件が必要です。

構文

alter_materialized_view::=

画像の説明

(「ALTER TABLE」の項にあるphysical_attributes_clause::=table_compression::=LOB_storage_clause::=modify_LOB_storage_clause::=alter_table_partitioning::=parallel_clause::=logging_clause::=allocate_extent_clause::=alter_iot_clauses::=scoped_table_ref_constraint::=alter_mv_refresh::=を参照)

physical_attributes_clause::=

画像の説明

storage_clause::=を参照)

table_compression::=

画像の説明

LOB_storage_clause::=

画像の説明

LOB_storage_parameters::=を参照)

LOB_storage_parameters::=

画像の説明

LOB_parameters::=storage_clause::=を参照)

LOB_parameters::=

画像の説明

storage_clause::=logging_clause::=を参照)

modify_LOB_storage_clause::=

画像の説明

modify_LOB_parameters::=を参照)

modify_LOB_parameters::=

画像の説明

storage_clause::=LOB_retention_clause::=LOB_compression_clause::=logging_clause::=allocate_extent_clause::=shrink_clause::=deallocate_unused_clause::=を参照)

parallel_clause::=

画像の説明

logging_clause::=

画像の説明

allocate_extent_clause::=

画像の説明

size_clause::=を参照)

deallocate_unused_clause::=

画像の説明

size_clause::=を参照)

shrink_clause::=

画像の説明

alter_iot_clauses::=

画像の説明

index_org_table_clause::=alter_overflow_clause::=を参照。alter_mapping_table_clausesは、マテリアライズド・ビューではサポートされていません。)

index_org_table_clause::=

画像の説明

mapping_table_clauseおよびkey_compressionは、マテリアライズド・ビューではサポートされていません。index_org_overflow_clause::=を参照)

index_org_overflow_clause::=

画像の説明

(「ALTER TABLE」の項にあるsegment_attributes_clause::=を参照)

alter_overflow_clause::=

画像の説明

allocate_extent_clause::=shrink_clause::=deallocate_unused_clause::=を参照)

add_overflow_clause::=

画像の説明

(「ALTER TABLE」の項にあるsegment_attributes_clause::=を参照)

scoped_table_ref_constraint::=

画像の説明

alter_mv_refresh::=

画像の説明

セマンティクス

schema

マテリアライズド・ビューが含まれているスキーマを指定します。schemaを指定しない場合、マテリアライズド・ビューは自分のスキーマ内にあるとみなされます。

materialized_view

変更するマテリアライズド・ビューの名前を指定します。

physical_attributes_clause

PCTFREEPCTUSEDINITRANSパラメータの値(USING INDEX句で使用する場合は、INITRANSパラメータ値のみ)、およびマテリアライズド・ビューの記憶特性を指定します。PCTFREEPCTUSEDおよびINITRANSパラメータの詳細は、「ALTER TABLE」を参照してください。記憶特性の詳細は、「storage_clause」を参照してください。

table_compression

table_compression句を使用すると、ディスクおよびメモリーの使用量を削減するために、データ・セグメントを圧縮するかどうかを指定できます。この句のセマンティクスの詳細は、「CREATE TABLE」のtable_compression句を参照してください。

LOB_storage_clause

LOB_storage_clauseを使用すると、新しいLOBの記憶特性を指定できます。マテリアライズド・ビューのLOB記憶域は、表の場合と同様に動作します。LOB記憶域パラメータの詳細は、「CREATE TABLE」の「LOB_storage_clause」を参照してください。

modify_LOB_storage_clause

modify_LOB_storage_clauseを使用すると、LOB属性LOB_itemの物理属性またはLOBオブジェクト属性を変更できます。マテリアライズド・ビューのLOB記憶域の変更は、表の場合と同様に動作します。

参照:

変更可能なLOB記憶域パラメータの詳細は、「ALTER TABLE」の「modify_LOB_storage_clause」を参照してください。 

alter_table_partitioning

マテリアライズド・ビューのalter_table_partitioningの構文および一般的な機能は、パーティション表と同じです。「ALTER TABLE」の「alter_table_partitioning」を参照してください。

マテリアライズド・ビューのパーティション変更の制限事項:

partitioning_clausesでは、LOB_storage_clauseまたはmodify_LOB_storage_clauseを指定できません。


注意:

マテリアライズド・ビューの内容をマスター表の内容と同期させて保持するには、表パーティションを削除または切り捨てた後、表に依存しているすべてのマテリアライズド・ビューを手動で完全リフレッシュすることをお薦めします。 


MODIFY PARTITION UNUSABLE LOCAL INDEXES

この句を使用すると、partitionに関連付けられたすべてのローカル索引パーティションに、UNUSABLEのマークが付きます。

MODIFY PARTITION REBUILD UNUSABLE LOCAL INDEXES

この句を使用すると、partitionに関連付けられた、使用禁止のローカル索引パーティションを再構築できます。

parallel_clause

parallel_clauseを使用すると、マテリアライズド・ビューのデフォルトの並列度を変更できます。

この句の詳細は、「CREATE TABLE」の「parallel_clause」を参照してください。

logging_clause

この句を使用すると、マテリアライズド・ビューのロギング特性を指定または変更できます。この句の詳細は、「logging_clause」を参照してください。

allocate_extent_clause

allocate_extent_clauseを使用すると、マテリアライズド・ビューの新しいエクステントを明示的に割り当てることができます。この句の詳細は、「allocate_extent_clause」を参照してください。

shrink_clause

この句を使用すると、マテリアライズド・ビューのセグメントを縮小化できます。この句の詳細は、「CREATE TABLE」の「shrink_clause」を参照してください。

CACHE | NOCACHE

アクセス頻度の高いデータについて、CACHEは、全表スキャンの実行時にこの表に対して取り出された各ブロックを、バッファ・キャッシュのLRUリストの最高使用頻度側に入れることを指定します。この属性は、小規模な参照表で有効です。NOCACHEは、ブロックをLRUリストの最低使用頻度側に入れることを指定します。この句の詳細は、「CREATE TABLE」の「CACHE | NOCACHE | CACHE READS」を参照してください。

alter_iot_clauses

alter_iot_clausesを使用すると、索引構成マテリアライズド・ビューの特性を変更できます。alter_iot_clausesコンポーネントのキーワードおよびパラメータは、ALTER TABLEと同じです。また、次の制限事項があります。

索引構成マテリアライズド・ビューの変更の制限事項:

index_org_table_clausemapping_table_clausesまたはkey_compression句は指定できません。

参照:

索引構成マテリアライズド・ビューの作成については、「CREATE MATERIALIZED VIEW」の「index_org_table_clause」を参照してください。 

USING INDEX句

この句を使用すると、マテリアライズド・ビューのデータをメンテナンスするために使用される索引のINITRANSパラメータおよびSTORAGEパラメータの値を変更できます。

USING INDEX句の制限事項:

この句では、PCTUSEDまたはPCTFREEパラメータは指定できません。

MODIFY scoped_table_ref_constraint

MODIFY scoped_table_ref_constraint句を使用すると、新しい表または新しい列の別名にREF列または属性の有効範囲を再指定できます。

REF列の有効範囲の再指定の制限事項:

ALTER MATERIALIZED VIEW文では、1つのREF列または属性の有効範囲のみを再指定することができます。この句は、この文以外では使用できません。

alter_mv_refresh

alter_mv_refresh句を使用すると、自動リフレッシュの方法、モードおよび日時のデフォルト値を変更できます。マテリアライズド・ビューのマスター表の内容が変更された場合、マテリアライズド・ビューのデータを更新し、現在マスター表にあるデータを正確に反映させる必要があります。この句によって、自動的にマテリアライズド・ビューをリフレッシュする日時をスケジューリングし、リフレッシュの方法およびモードを指定できます。


注意:

この句では、デフォルトのリフレッシュ・オプションのみを設定します。リフレッシュを実際に実装する手順は、『Oracle Databaseアドバンスト・レプリケーション』および『Oracle Databaseデータ・ウェアハウス・ガイド』を参照してください。 


FAST句

FASTを指定すると、増分リフレッシュ方法を指定できます。これはマスター表に対して行った変更に従ってリフレッシュを行います。この変更は、マスター表に関連付けられたマテリアライズド・ビュー・ログ(従来型DML変更の場合)またはダイレクト・ローダー・ログ(ダイレクト・パス・インサート操作の場合)に格納されます。

従来型DMLの変更の場合も、ダイレクト・パス・インサート操作の場合も、他の条件によって、高速リフレッシュへのマテリアライズド・ビューの適応性が制限されることがあります。

参照:

  • レプリケーション環境における高速リフレッシュの制限については、『Oracle Databaseアドバンスト・レプリケーション』を参照してください。

  • データ・ウェアハウス環境における高速リフレッシュの制限については、『Oracle Databaseデータ・ウェアハウス・ガイド』を参照してください。

  • 「自動リフレッシュの例:」

 

FASTリフレッシュの制限事項:

FASTリフレッシュには、次の制限事項があります。

COMPLETE句

COMPLETEを指定すると、完全リフレッシュ方法を指定できます。これは、マテリアライズド・ビューを定義する問合せを実行することによって実装されます。完全リフレッシュを指定すると、高速リフレッシュが実行可能であっても、完全リフレッシュが実行されます。

参照:

「完全リフレッシュの例:」 

FORCE句

FORCEを指定すると、リフレッシュ時に、高速リフレッシュが可能な場合は高速リフレッシュを実行し、そうでない場合は完全リフレッシュを実行できます。

ON COMMIT句

ON COMMITを指定すると、マテリアライズド・ビューのマスター表に対するトランザクションをコミットするときに必ず高速リフレッシュが実行されます。

ON COMMITの制限事項:

この句は、マテリアライズド結合ビューおよびマテリアライズド集計ビューにのみサポートされます。

参照:

『Oracle Databaseアドバンスト・レプリケーション』および『Oracle Databaseデータ・ウェアハウス・ガイド』を参照してください。 

ON DEMAND句

ON DEMANDを指定すると、マテリアライズド・ビューは、3つのDBMS_MVIEWリフレッシュ・プロシージャのいずれかのコールによる要求でリフレッシュされます。ON COMMITおよびON DEMANDのどちらも指定しなかった場合、ON DEMANDがデフォルトになります。

ON COMMITまたはON DEMANDを指定した場合、START WITHまたはNEXTを同時に指定できません。

参照:

  • これらのプロシージャの詳細は、『Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス』を参照してください。

  • REFRESH ON DEMANDを指定することによって作成できるマテリアライズド・ビューのタイプについては、『Oracle Databaseデータ・ウェアハウス・ガイド』を参照してください。

 

START WITH句

START WITH dateを指定すると、最初の自動リフレッシュ時間を表す日付を指定できます。

NEXT句

NEXTを指定すると、自動リフレッシュの間隔を計算するための日付式を指定できます。

START WITH値およびNEXT値は、将来の時刻に評価される値です。START WITH値を省略した場合、Oracle Databaseはマテリアライズド・ビューの作成時刻に対してNEXT式を評価することによって、最初の自動リフレッシュ時刻を判断します。START WITH値を指定し、NEXT値を指定しない場合、Oracle Databaseは1回のみマテリアライズド・ビューをリフレッシュします。START WITH値およびNEXT値のどちらも指定しない場合、またはalter_mv_refreshを指定しない場合、Oracle Databaseはマテリアライズド・ビューを自動リフレッシュしません。

WITH PRIMARY KEY句

WITH PRIMARY KEYを指定すると、ROWIDマテリアライズド・ビューを主キー・マテリアライズド・ビューに変更できます。主キー・マテリアライズド・ビューを使用すると、高速リフレッシュを継続できるマテリアライズド・ビューの機能に影響せずに、マテリアライズド・ビュー・マスター表を再編成できます。

この句を指定するには、マスター表に、使用可能な主キー制約が定義され、この制約に基づき、主キー情報を記録するマテリアライズド・ビュー・ログが定義されている必要があります。

参照:

 

USING ROLLBACK SEGMENT句

自動UNDOモードでは、ロールバック・セグメントではなくUNDO表領域が使用されるため、データベースが自動UNDOモードの場合、この句は無効です。自動UNDOモードを使用することをお薦めします。この句は、ロールバック・セグメントが使用される以前のバージョンのOracle Databaseが含まれるレプリケーション環境との下位互換性のためにサポートされています。

この句の詳細は、「CREATE MATERIALIZED VIEW」の「USING ROLLBACK SEGMENT句」を参照してください。

USING ...CONSTRAINTS句

この句のセマンティクスは、CREATE MATERIALIZED VIEWおよびALTER MATERIALIZED VIEW文で同じです。この句の詳細は、「CREATE MATERIALIZED VIEW」の「USING ...CONSTRAINTS句」を参照してください。

QUERY REWRITE句

この句を使用すると、マテリアライズド・ビューをクエリー・リライトで使用できるかどうかを指定できます。

ENABLE句

ENABLEを指定すると、クエリー・リライトでマテリアライズド・ビューを使用可能にできます。

参照:

「クエリー・リライトを使用可能にする例:」 

マテリアライズド・ビューを使用可能にする場合の制限事項:

マテリアライズド・ビューを使用可能にする処理には、次の制限事項があります。

DISABLE句

DISABLEを指定すると、クエリー・リライトでマテリアライズド・ビューを使用禁止にできます。マテリアライズド・ビューが無効な場合、使用禁止であるかどうかにかかわらず、クエリー・リライトの使用には適応しません。ただし、使用禁止にされたマテリアライズド・ビューをリフレッシュすることはできます。

COMPILE

COMPILEを指定すると、マテリアライズド・ビューを明示的に再検証できます。マテリアライズド・ビューが依存するオブジェクトを削除または変更した場合、マテリアライズド・ビューはアクセス可能のままですが、クエリー・リライトに対しては無効です。再度、明示的にマテリアライズド・ビューの妥当性チェックを行い、クエリー・リライトの使用に適応させるには、この句を使用します。

マテリアライズド・ビューの再妥当性チェックに失敗すると、リフレッシュできなくなるか、またはクエリー・リライトに使用できなくなります。

参照:

「マテリアライズド・ビューのコンパイル例:」 

CONSIDER FRESH

この句を使用すると、マスター表が変更された後のマテリアライズド・ビューの失効状態を管理することができます。CONSIDER FRESHは、マテリアライズド・ビューが最新であり、TRUSTEDまたはSTALE_TOLERATEDモードでのクエリー・リライトに適応するとみなされるように指定します。Oracle Databaseは、マテリアライズド・ビューが最新であるかどうかを保証できないため、ENFORCEDモードでのクエリー・リライトはサポートしません。また、この句はマテリアライズド・ビューの失効状態をUNKNOWNに設定します。失効状態は、ALL_MVIEWSDBA_MVIEWSおよびUSER_MVIEWSの各データ・ディクショナリ・ビューのSTALENESS列に表示されます。

いずれかのマスター表の内容が変更された場合、マテリアライズド・ビューは失効します。この句は、Oracle Databaseに対して、マテリアライズド・ビューが最新で、変更されていないものと仮定するように指示します。そのため、リフレッシュが保留されているこれらの表に対する実際の更新内容は、マテリアライズド・ビューから削除されます。

参照:

  • クエリー・リライトの詳細、およびマスター表へのパーティション・メンテナンス操作の影響については、『Oracle Databaseデータ・ウェアハウス・ガイド』を参照してください。

  • 「CONSIDER FRESHの例:」

 

自動リフレッシュの例:

次の文は、マテリアライズド・ビューsales_by_month_by_state「マテリアライズド集計ビューの作成例:」で作成)のリフレッシュ方法のデフォルトをFASTに変更します。

ALTER MATERIALIZED VIEW sales_by_month_by_state
   REFRESH FAST; 

これ以降のマテリアライズド・ビューの自動リフレッシュは、高速リフレッシュになります。これは、単純なマテリアライズド・ビューであり、そのマスター表には、マテリアライズド・ビューの作成前または最後のリフレッシュ前に作成されたマテリアライズド・ビュー・ログがあります。

REFRESH句にSTART WITHまたはNEXTの値が指定されていないため、マテリアライズド・ビューsales_by_month_by_stateを作成したとき、または最後に変更したときにREFRESH句で設定されたリフレッシュ間隔がそのまま使用されます。

次の文は、マテリアライズド・ビューsales_by_month_by_stateの新しい自動リフレッシュ間隔を設定します。

ALTER MATERIALIZED VIEW sales_by_month_by_state
   REFRESH NEXT SYSDATE+7;

REFRESHSTART WITHの値が指定されていないため、マテリアライズド・ビューsales_by_month_by_stateが作成されたとき、または最後に変更されたときに指定されたSTART WITHNEXTの値によって設定された日時に次の自動リフレッシュが行われます。

このマテリアライズド・ビューは、次に自動リフレッシュが行われる際に、リフレッシュされます。次に自動リフレッシュが行われる日時は、NEXTに設定した式SYSDATE+7が計算されて決まります。その後は、週に1回リフレッシュが自動的に行われます。REFRESH句にリフレッシュ方法が明示的に指定されていないため、CREATE MATERIALIZED VIEW文または直前のALTER MATERIALIZED VIEW文のREFRESH句で指定されたリフレッシュ方法が引き続き使用されます。

CONSIDER FRESHの例:

次の文は、Oracle Databaseがマテリアライズド・ビューsales_by_month_by_stateを最新であるとみなすように指定します。この文を使用すると、sales_by_month_by_stateのマスター表に対してパーティション・メンテナンス操作を実行した後でも、sales_by_month_by_stateに対してTRUSTEDモードでのクエリー・リライトが可能です。

ALTER MATERIALIZED VIEW sales_by_month_by_state CONSIDER FRESH;

参照:

このALTER MATERIALIZED VIEWの例を必要とするパーティション・メンテナンスの例は、「表のパーティションの分割例:」を参照してください。 

完全リフレッシュの例:

次の文は、マテリアライズド・ビューemp_data「マテリアライズド・ビューの定期的リフレッシュ例:」で作成)の新しいリフレッシュ方法、NEXTで示す新しいリフレッシュ日時および新しい自動リフレッシュ間隔を指定します。

ALTER MATERIALIZED VIEW emp_data
   REFRESH COMPLETE   
   START WITH TRUNC(SYSDATE+1) + 9/24  
   NEXT SYSDATE+7;

START WITH句に指定した値によって、このマテリアライズド・ビューの次の自動リフレッシュは翌日の午前9時に発生するように設定されます。この日時にマテリアライズド・ビューの完全リフレッシュが実行され、NEXTに設定した式が計算されます。その後は、このマテリアライズド・ビューは毎週リフレッシュされます。

クエリー・リライトを使用可能にする例:

次の文は、マテリアライズド・ビューemp_dataのクエリー・リライトを使用可能にし、暗黙的に再妥当性チェックを行います。

ALTER MATERIALIZED VIEW emp_data
   ENABLE QUERY REWRITE;
主キー・マテリアライズド・ビューの例:

次の文は、ROWIDマテリアライズド・ビューorder_data「ROWIDマテリアライズド・ビューの作成例:」で作成)を主キー・マテリアライズド・ビューに変更します。この例では、order_dataに主キーを持つマテリアライズド・ビュー・ログを定義していることが必要です。

ALTER MATERIALIZED VIEW order_data 
   REFRESH WITH PRIMARY KEY; 
マテリアライズド・ビューのコンパイル例:

次の文は、マテリアライズド・ビューstore_mvを再検証します。

ALTER MATERIALIZED VIEW order_data COMPILE;

ALTER MATERIALIZED VIEW LOG

用途

マテリアライズド・ビュー・ログとは、マテリアライズド・ビューのマスター表に関連付けられる表です。ALTER MATERIALIZED VIEW LOG文を使用すると、既存のマテリアライズド・ビュー・ログの記憶特性またはタイプを変更できます。


注意:

下位互換性を保つために、MATERIALIZED VIEWのかわりにキーワードSNAPSHOTもサポートされています。 


参照:

  • マテリアライズド・ビュー・ログの作成については、「CREATE MATERIALIZED VIEW LOG」を参照してください。

  • マテリアライズド・ビューのリフレッシュ方法など、マテリアライズド・ビューの詳細は、「ALTER MATERIALIZED VIEW」を参照してください。

  • マテリアライズド・ビューの様々なタイプの詳細は、「CREATE MATERIALIZED VIEW」を参照してください。

 

前提条件

マスター表の所有者であるか、またはマスター表に対するSELECT権限およびマテリアライズド・ビュー・ログに対するALTER権限が必要です。

参照:

ALTER MATERIALIZED VIEW LOGの前提条件の詳細は、『Oracle Databaseアドバンスト・レプリケーション』を参照してください。 

構文

alter_materialized_view_log::=

画像の説明

physical_attributes_clause::=alter_table_partitioning::=(「ALTER TABLE」の項)、parallel_clause::=logging_clause::=allocate_extent_clause::=およびnew_values_clause::=を参照)

physical_attributes_clause::=

画像の説明

storage_clause::=を参照)

allocate_extent_clause::=

画像の説明

size_clause::=を参照)

shrink_clause::=

画像の説明

parallel_clause::=

画像の説明

new_values_clause::=

画像の説明

セマンティクス

FORCE

FORCEを指定すると、ADD句で指定したいずれかの項目がすでにマテリアライズド・ビュー・ログに指定されている場合、エラーは戻されませんが、既存の要素は無視され、マテリアライズド・ビュー・ログに存在しないすべての項目が追加されます。同様に、INCLUDING NEW VALUESを指定すると、この属性がすでにマテリアライズド・ビュー・ログに指定されている場合、冗長は無視され、エラーも戻されません。

schema

マスター表が定義されているスキーマを指定します。schemaを指定しない場合、マテリアライズド・ビュー・ログは自分のスキーマ内にあるとみなされます。

table

変更するマテリアライズド・ビュー・ログに関連付けられたマスター表の名前を指定します。

physical_attributes_clause

physical_attributes_clauseを使用すると、PCTFREEPCTUSEDおよびINITRANSの各パラメータの値、マテリアライズド・ビュー・ログ、パーティションおよびオーバーフロー・データ・セグメントの記憶特性、またはパーティション・マテリアライズド・ビュー・ログのデフォルト特性を変更できます。

マテリアライズド・ビュー・ログの物理属性の制限事項:

マテリアライズド・ビュー・ログがローカル管理表領域に存在する場合は、storage_clauseを使用して、エクステント・パラメータを変更することはできません。このパラメータについては、「CREATE TABLE」を参照してください。

alter_table_partitioning

alter_table_partitioningの構文および一般的な機能は、ALTER TABLE文の場合と同じです。「ALTER TABLE」の「alter_table_partitioning」を参照してください。

マテリアライズド・ビュー・ログのパーティション変更の制限事項:

マテリアライズド・ビュー・ログのパーティションの変更には、次の制限事項があります。

parallel_clause

parallel_clauseを使用すると、マテリアライズド・ビュー・ログへのパラレル操作がサポートされているかどうかを指定できます。

この句の詳細は、「CREATE TABLE」の「parallel_clause」を参照してください。

logging_clause

マテリアライズド・ビュー・ログに対するロギング属性を指定します。この句の詳細は、「logging_clause」を参照してください。

allocate_extent_clause

allocate_extent_clauseを使用すると、マテリアライズド・ビュー・ログの新しいエクステントを明示的に割り当てることができます。この句の詳細は、「allocate_extent_clause」を参照してください。

shrink_clause

この句を使用すると、マテリアライズド・ビュー・ログのセグメントを縮小化できます。この句の詳細は、「CREATE TABLE」の「shrink_clause」を参照してください。

CACHE | NOCACHE句

アクセス頻度が高いデータについて、CACHEは、全表スキャンの実行時にこのログ用に取り出された各ブロックを、バッファ・キャッシュ内のLRUリストの最高使用頻度側に入れることを指定します。この属性は、小規模な参照表で有効です。NOCACHEは、ブロックをLRUリストの最低使用頻度側に入れることを指定します。この句の詳細は、「CREATE TABLE」の「CACHE | NOCACHE | CACHE READS」を参照してください。

ADD句

ADD句を使用すると、マテリアライズド・ビュー・マスター表内の行が変更される際に、主キー値、ROWID値、オブジェクトID値または順序も記録できるようにマテリアライズド・ビュー・ログを拡張できます。また、この句は、新しく列を記録するためにも使用できます。

これらの情報の記録を停止する場合は、マテリアライズド・ビュー・ログを削除してから、再作成する必要があります。マテリアライズド・ビュー・ログを削除した後再作成した場合、マスター表に依存するすべての既存マテリアライズド・ビューが、次回のリフレッシュ時に強制的に完全リフレッシュされます。

マテリアライズド・ビュー・ログの拡張の制限事項:

各マテリアライズド・ビュー・ログに指定できるのは、PRIMARY KEYROWIDOBJECT IDSEQUENCEおよび列リストの列を1つずつです。このALTER文にPRIMARY KEYROWIDOBJECT IDSEQUENCEおよび列リストを指定できるのはそれぞれ1回のみです。また、FORCEオプションを指定しないかぎり、これらの値のいずれかが作成時に(暗黙的または明示的に)指定された場合、このALTER文にはそれらの値を指定できません。

OBJECT ID

OBJECT IDを指定すると、更新されるすべての行の適切なオブジェクト識別子をマテリアライズド・ビュー・ログに記録できます。

OBJECT ID句の制限事項:

OBJECT IDは、オブジェクト表のログ用のみに指定でき、記憶表用には指定できません。

PRIMARY KEY

PRIMARY KEYを指定すると、更新されるすべての行の主キーをマテリアライズド・ビュー・ログに記録できます。

ROWID

ROWIDを指定すると、更新されるすべての行のROWID値をマテリアライズド・ビュー・ログに記録できます。

SEQUENCE

SEQUENCEを指定すると、追加の順序情報を提供する順序値をマテリアライズド・ビュー・ログに記録できます。

column

更新されるすべての行に対して、マテリアライズド・ビュー・ログに記録する値を持つ新しい列を指定します。通常、フィルタ列(副問合せマテリアライズド・ビューが参照する主キー以外の列)および結合列(副問合せのWHERE句で結合を定義する主キー以外の列)を指定します。

参照:

 

NEW VALUES句

NEW VALUES句を使用すると、更新DML操作で、古い値と新しい値の両方をマテリアライズド・ビュー・ログに保存するかどうかを指定できます。ALTER MATERIALIZED VIEW LOG文で追加した列のみでなく、ログのすべての列にこの句で設定した値を適用します。

INCLUDING

INCLUDINGを指定すると、古い値と新しい値の両方を保存できます。このログが単一表マテリアライズド集計ビューの表用で、マテリアライズド・ビューに高速リフレッシュを実行する場合、INCLUDINGを指定してください。

EXCLUDING

EXCLUDINGを指定すると、ログに新しい値が記録されなくなります。この句を使用すると、新しい値の記録によるオーバーヘッドを回避できます。

マテリアライズド・ビューのリフレッシュ・モードをFAST以外のモードに変更した場合を除き、高速リフレッシュが可能な単一表マテリアライズド集計ビューが定義されている場合は、EXCLUDING NEW VALUESを使用しないでください。

参照:

「マテリアライズド・ビュー・ログEXCLUDING NEW VALUESの例:」 

ROWIDマテリアライズド・ビュー・ログの例:

次の文は、ROWID情報も記録するように既存の主キー・マテリアライズド・ビュー・ログを変更します。

ALTER MATERIALIZED VIEW LOG ON order_items ADD ROWID;
マテリアライズド・ビュー・ログEXCLUDING NEW VALUESの例:

次の文は、フィルタ列を追加し、新しい値を除外することで、hr.employeesのマテリアライズド・ビュー・ログを変更します。このログを使用するマテリアライズド集計ビューは、これ以降高速リフレッシュされません。ただし、高速リフレッシュが不要になる場合は、この処理によって新しい値の記録によるオーバーヘッドを回避できます。

ALTER MATERIALIZED VIEW LOG ON employees
   ADD (commission_pct)
   EXCLUDING NEW VALUES;

ALTER OPERATOR

用途

ALTER OPERATOR文を使用すると、既存の演算子に対するバインドを追加または削除したり、既存の演算子をコンパイルすることができます。

参照:

「CREATE OPERATOR」 

前提条件

事前にCREATE OPERATOR文によって演算子が作成されている必要があります。演算子が自分のスキーマ内にあるか、またはALTER ANY OPERATORシステム権限が必要です。ALTER OPERATOR文で参照される演算子およびファンクションに対するEXECUTEオブジェクト権限が必要です。

構文

alter_operator::=

画像の説明

add_binding_clause::=drop_binding_clause::=を参照)

add_binding_clause::=

画像の説明

implementation_clause::=using_function_clause::=を参照)

implementation_clause::=

画像の説明

context_clause::=を参照)

context_clause::=

画像の説明

using_function_clause::=

画像の説明

drop_binding_clause::=

画像の説明

セマンティクス

schema

演算子が含まれているスキーマを指定します。この句を指定しない場合、その演算子は自分のスキーマにあるとみなされます。

operator

変更する演算子の名前を指定します。

add_binding_clause

この句を使用すると、演算子バインドを追加し、パラメータ・データ型および戻り型を指定できます。この演算子の既存のバインドと異なる署名を使用する必要があります。

演算子のバインドが索引タイプに関連付けられており、演算子に別のバインドを追加する場合、Oracle Databaseは新しいバインドと索引タイプの関連付けを自動的に行いません。関連付けを行うには、明示的なALTER INDEXTYPE ...ADD OPERATOR文を発行する必要があります。

implementation_clause

この句のセマンティクスは、CREATE OPERATORおよびALTER OPERATOR文で同じです。この句の詳細は、「CREATE OPERATOR」の「implementation_clause」を参照してください。

context_clause

この句のセマンティクスは、CREATE OPERATORおよびALTER OPERATOR文で同じです。この句の詳細は、「CREATE OPERATOR」の「context_clause」を参照してください。

using_function_clause

この句のセマンティクスは、CREATE OPERATORおよびALTER OPERATOR文で同じです。この句の詳細は、「CREATE OPERATOR」の「using_function_clause」を参照してください。

drop_binding_clause

この句を使用すると、演算子から削除するバインドのパラメータ・データ型のリストを指定できます。バインドに索引タイプや補助演算子バインドなどの依存オブジェクトが含まれる場合、FORCEを指定する必要があります。FORCEを指定すると、そのバインドに依存するすべてのオブジェクトにINVALIDのマークが付きます。依存オブジェクトは、DDL文、DML文または問合せで次に参照された際に再検証されます。

この句を使用して、この演算子に関連付けられた唯一のバインドを削除することはできません。この演算子に関連付けられた唯一のバインドを削除するには、DROP OPERATOR文を使用する必要があります。詳細は、「DROP OPERATOR」を参照してください。

COMPILE

COMPILEを指定すると、演算子を再コンパイルできます。

ユーザー定義演算子のコンパイル例:

次の例は、演算子eq_op「ユーザー定義演算子の作成例:」で作成)をコンパイルします。

ALTER OPERATOR eq_op COMPILE;

ALTER OUTLINE

用途


注意:

新規のアプリケーションにはSQL計画管理を使用することをお薦めします。SQL計画管理では、ストアド・アウトラインよりも非常に安定したSQLパフォーマンスを実現するSQL計画ベースラインが作成されます。

DBMS_SPMパッケージのLOAD_PLANS_FROM_CURSOR_CACHEプロシージャまたはLOAD_PLANS_FROM_SQLSETプロシージャを使用して、既存のストアド・アウトラインをSQL計画ベースラインに移行できます。移行が完了したら、ストアド・アウトラインを無効にするか、または削除する必要があります。

参照: SQL計画管理の詳細は、 『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。DBMS_SPMパッケージの詳細は、『Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス』を参照してください。 


ALTER OUTLINE文を使用すると、ストアド・アウトラインの名前を変更したり、ストアド・アウトラインを異なるカテゴリに再度割り当てることができます。また、アウトラインのSQL文をコンパイルし、古いアウトライン・データを現行の条件で作成したアウトラインと置き換えて、ストアド・アウトラインを再生成できます。

参照:

アウトラインの詳細は、「CREATE OUTLINE」および『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照してください。 

前提条件

アウトラインを変更する場合は、ALTER ANY OUTLINEシステム権限が必要です。

構文

alter_outline::=

画像の説明

セマンティクス

PUBLIC | PRIVATE

PUBLICを指定すると、アウトラインのパブリック・バージョンを変更できます。これはデフォルトです。

PRIVATEを指定すると、現行のセッションに対してプライベートで、現行の解析スキーマにデータが格納されているアウトラインを変更できます。

outline

変更するアウトラインの名前を指定します。

REBUILD

REBUILDを指定すると、現行の条件で、outlineの実行計画が再生成されます。

参照:

「アウトラインの再構築例:」 

RENAME TO句

RENAME TO句を使用すると、outlineの値と置き換えるアウトライン名を指定できます。

CHANGE CATEGORY TO句

CHANGE CATEGORY TO句を使用すると、outlineの移動先となるカテゴリ名を指定できます。

ENABLE | DISABLE

この句を使用すると、このアウトラインを選択的に使用可能または使用禁止にできます。デフォルトでは、アウトラインは使用可能になっています。DISABLEキーワードを使用すると、他のアウトラインの使用に影響を与えずに、1つのアウトラインを使用禁止にできます。

アウトラインの再構築例:

次の文は、アウトラインのテキストをコンパイルし、古いアウトライン・データを現行の条件で作成したアウトラインと置き換えて、salariesというストアド・アウトラインを再生成します。

ALTER OUTLINE salaries REBUILD;

ALTER PACKAGE

用途

パッケージはPL/SQLを使用して定義されます。このため、この項では一般的な情報について説明します。構文およびセマンティクスの詳細は、『Oracle Database PL/SQL言語リファレンス』を参照してください。

ALTER PACKAGE文を使用すると、パッケージ仕様部またはパッケージ本体(あるいはその両方)を明示的に再コンパイルできます。明示的に再コンパイルすることによって、実行時に暗黙的に再コンパイルする必要がなくなり、また、実行時のコンパイル・エラーとパフォーマンス上のオーバーヘッドもなくなります。

パッケージ中のすべてのオブジェクトは、1つの単位として格納されているため、ALTER PACKAGE文によって、すべてのパッケージ・オブジェクトがまとめて再コンパイルされます。ALTER PROCEDURE文またはALTER FUNCTION文を使用して、パッケージ中の一部のプロシージャまたはファンクションを再コンパイルすることはできません。


注意:

この文を使用して、既存のパッケージの宣言や定義を変更することはできません。パッケージを再宣言または再定義する場合は、「CREATE PACKAGE」または「CREATE PACKAGE BODY」にOR REPLACE句を指定します。 


前提条件

パッケージを変更するには、パッケージが自分のスキーマ内にある必要があります。自分のスキーマ内にない場合は、ALTER ANY PROCEDUREシステム権限が必要です。

構文

alter_package::=

画像の説明

package_compile_clause: この句の構文の詳細は、『Oracle Database PL/SQL言語リファレンス』を参照してください。)

セマンティクス

schema

パッケージが含まれているスキーマを指定します。schemaを指定しない場合、パッケージは自分のスキーマ内にあるとみなされます。

package

再コンパイルするパッケージの名前を指定します。

package_compile_clause

この句の構文とセマンティクスの詳細およびパッケージの作成とコンパイルの詳細は、『Oracle Database PL/SQL言語リファレンス』を参照してください。


ALTER PROCEDURE

用途

パッケージはPL/SQLを使用して定義されます。このため、この項では一般的な情報について説明します。構文およびセマンティクスの詳細は、『Oracle Database PL/SQL言語リファレンス』を参照してください。

ALTER PROCEDURE文を使用すると、スタンドアロンのストアド・プロシージャを明示的に再コンパイルできます。明示的に再コンパイルすることによって、実行時に暗黙的に再コンパイルする必要がなくなり、また、実行時のコンパイル・エラーとパフォーマンス上のオーバーヘッドもなくなります。

パッケージの一部であるプロシージャを再コンパイルする場合、ALTER PACKAGE文を使用して、そのパッケージ全体を再コンパイルします(「ALTER PACKAGE」を参照)。


注意:

この文を使用して、既存のプロシージャの宣言または定義を変更することはできません。プロシージャを再宣言または再定義する場合は、OR REPLACEを指定してCREATE PROCEDURE文を使用します(「CREATE PROCEDURE」を参照)。 


ALTER PROCEDURE文は、ALTER FUNCTION文と似ています。詳細は、「ALTER FUNCTION」を参照してください。

前提条件

プロシージャは、自分のスキーマ内にある必要があります。自分のスキーマ内にない場合は、ALTER ANY PROCEDUREシステム権限が必要です。

構文

alter_procedure::=

画像の説明

procedure_compile_clause: この句の構文の詳細は、『Oracle Database PL/SQL言語リファレンス』を参照してください。)

セマンティクス

schema

プロシージャが含まれているスキーマを指定します。schemaを指定しない場合、プロシージャは自分のスキーマ内にあるとみなされます。

procedure

再コンパイルするプロシージャの名前を指定します。

procedure_compile_clause

この句の構文とセマンティクスの詳細およびプロシージャの作成とコンパイルの詳細は、『Oracle Database PL/SQL言語リファレンス』を参照してください。


ALTER PROFILE

用途

ALTER PROFILE文を使用すると、プロファイルのリソース制限またはパスワード管理パラメータを追加、変更または削除できます。

ALTER PROFILE文を使用すると、プロファイルに対して行った変更は、このプロファイルの現行のセッションのユーザーには影響しません。後続セッションのユーザーのみに影響します。

参照:

プロファイルの作成の詳細は、「CREATE PROFILE」を参照してください。 

前提条件

プロファイルのリソース制限を変更する場合は、ALTER PROFILEシステム権限が必要です。パスワード制限および保護を変更する場合は、ALTER PROFILEおよびALTER USERシステム権限が必要です。

構文

alter_profile::=

画像の説明

resource_parameters::=password_parameters::=を参照)

resource_parameters::=

画像の説明

size_clause::=を参照)

password_parameters::=

画像の説明

セマンティクス

ALTER PROFILE文のキーワード、パラメータおよび句の意味は、すべてCREATE PROFILE文のキーワード、パラメータおよび句と同じです。

DEFAULTプロファイルから制限を削除することはできません。

詳細は、「CREATE PROFILE」および次の例を参照してください。

パスワードを無効にする例:

次の文は、new_profileプロファイル(「プロファイルの作成例:」で作成)のパスワードを90日間再利用できないようにします。

ALTER PROFILE new_profile 
   LIMIT PASSWORD_REUSE_TIME 90 
   PASSWORD_REUSE_MAX UNLIMITED;
デフォルトのパスワード値の設定例:

次の文は、app_userプロファイル(「プロファイルのリソース制限の設定の例:」で作成)のPASSWORD_REUSE_TIME値をDEFAULTプロファイルに定義された値にデフォルト設定します。

ALTER PROFILE app_user 
   LIMIT PASSWORD_REUSE_TIME DEFAULT
   PASSWORD_REUSE_MAX UNLIMITED;
ログインおよびパスワード・ロック時間の制限例:

次の文は、プロファイルapp_userFAILED_LOGIN_ATTEMPTSを5に、PASSWORD_LOCK_TIMEを1に変更します。

ALTER PROFILE app_user LIMIT
   FAILED_LOGIN_ATTEMPTS 5
   PASSWORD_LOCK_TIME 1;

この文を使用すると、ログインに5回失敗した場合に、app_userのアカウントは1日ロックされます。

パスワードの有効期限および猶予期間の変更例:

次の文は、プロファイルapp_user2PASSWORD_LIFE_TIMEを90日に、PASSWORD_GRACE_TIMEを5日に変更します。

ALTER PROFILE app_user2 LIMIT
   PASSWORD_LIFE_TIME 90
   PASSWORD_GRACE_TIME 5;
同時セッションの制限例:

次の文は、プロファイルapp_userに同時実行セッションの新しい制限5を指定します。

ALTER PROFILE app_user LIMIT SESSIONS_PER_USER 5; 

現在、プロファイルapp_userSESSIONS_PER_USERの制限が定義されていない場合は、このプロファイルに制限5が追加されます。プロファイルに制限が定義されている場合は、前述の文によってその制限が5に再定義されます。プロファイルapp_userが割り当てられているすべてのユーザーは、同時実行のセッションが5件に制限されます。

プロファイル制限の削除例:

次の文は、プロファイルapp_userIDLE_TIME制限を削除します。

ALTER PROFILE app_user LIMIT IDLE_TIME DEFAULT;

プロファイルapp_userが割り当てられているユーザーは、以降のセッションからプロファイルDEFAULTに定義されたIDLE_TIME制限に従います。

プロファイル・アイドル時間の制限例:

次の文は、プロファイルDEFAULTにアイドル時間の制限(2分)を定義します。

ALTER PROFILE default LIMIT IDLE_TIME  2; 

IDLE_TIMEの制限は、次のユーザーに適用されます。

次の文は、プロファイルapp_user2に無制限のアイドル時間を設定します。

ALTER PROFILE app_user2 LIMIT IDLE_TIME UNLIMITED; 

プロファイルapp_user2が割り当てられているすべてのユーザーは、以降のセッションから無制限のアイドル時間が許可されます。


ALTER RESOURCE COST

用途

ALTER RESOURCE COST文を使用すると、セッションで使用するリソース・コストの合計を算出するための式を指定または変更できます。

Oracle Databaseは、その他のリソースの使用も監視しますが、セッションに対するリソース・コストの合計は、この構文の4種類のリソースに基づいて算出されます。

この文を使用すると、4種類のリソースに重みを適用できます。Oracle Databaseは、プロファイルに指定されたこれらのリソースの値に重みを適用し、リソース・コストの合計を算出する計算式を設定します。CREATE PROFILE文のCOMPOSITE_LIMITパラメータを使用して、セッションに対するコストを制限できます。セッションのリソース・コストが制限を超えた場合、セッションは異常終了し、エラーが戻ります。各リソースに割り当てた重みを変更するためにALTER RESOURCE COST文を使用した場合、現行のセッション以降のすべてのセッションで、その新しい重みを基にリソース・コストが計算されます。

参照:

すべてのリソースおよびリソース制限の設定については、「CREATE PROFILE」を参照してください。 

前提条件

ALTER RESOURCE COSTシステム権限が必要です。

構文

alter_resource_cost::=

画像の説明

セマンティクス

最初にセッションで使用された各リソースの量にそのリソースの重みを乗算し、次に、4種類のリソースの乗算結果を加算することによって、リソース・コストの合計が計算されます。どのセッションについても、このコストは、ユーザーのプロファイル内のCOMPOSITE_LIMITパラメータの値によって制限されます。乗算結果と総コストは、ともにサービス単位と呼ばれる単位で表されます。

CPU_PER_SESSION

このキーワードを使用すると、CPU_PER_SESSIONリソースに重みを適用できます。

CONNECT_TIME

このキーワードを使用すると、CONNECT_TIMEリソースに重みを適用できます。

LOGICAL_READS_PER_SESSION

この句を使用すると、LOGICAL_READS_PER_SESSIONリソースに重みを適用できます。論理読取りには、メモリーおよびディスクの両方から読み取られたブロックが含まれます。

PRIVATE_SGA

この句を使用すると、PRIVATE_SGAリソースに重みを適用できます。共有サーバー・アーキテクチャを使用して、セッション用としてSGA内でプライベート領域を割り当てている場合のみ、この制限が適用されます。

integer

各リソースの重みを指定します。各リソースに割り当てる重みによって、各リソースがリソース・コストの合計に影響する程度が決定されます。リソースに重みを割り当てない場合は、デフォルト値の0(ゼロ)が適用され、コストへの影響はありません。重みを割り当てた場合は、データベースの次のセッション以降のすべてのセッションで、その重みが適用されます。

リソース・コストの変更例:

次の文は、リソースCPU_PER_SESSIONCONNECT_TIMEに重みを割り当てます。

ALTER RESOURCE COST 
   CPU_PER_SESSION 100
   CONNECT_TIME      1; 

この重みによって、セッションごとに次のコスト計算式が設定されます。

cost = (100 * CPU_PER_SESSION) + (1 * CONNECT_TIME) 

この例では、CPU_PER_SESSIONおよびCONNECT_TIMEの値は、DEFAULTプロファイルまたはセッションのユーザーのプロファイルにある値のいずれかです。

ここでは、リソースLOGICAL_READS_PER_SESSIONおよびPRIVATE_SGAに重みを割り当てていないため、これらのリソースは式に含まれません。

プロファイルでCOMPOSITE_LIMIT値として500を割り当てた場合、costが500を超えると、必ず、セッションはこの制限を超えます。たとえば、CPU時間0.04秒、経過時間101分を使用するセッションは、この制限を超えます。同様に、CPU時間が0.0301秒、経過時間が200分のセッションもこの制限を超えます。

一度割り当てた重みは、次のように、別のALTER RESOURCE文を発行することによって変更できます。

ALTER RESOURCE COST 
   LOGICAL_READS_PER_SESSION 2
   CONNECT_TIME 0; 

新しく割り当てた重みによって、新しいコスト計算式が設定されます。

cost = (100 * CPU_PER_SESSION) + (2 * LOGICAL_READ_PER_SECOND) 

CPU_PER_SESSIONおよびLOGICAL_READS_PER_SECONDの値は、DEFAULTプロファイルまたはセッションのユーザーのプロファイルにある値のいずれかです。

このALTER RESOURCE COST文によって、式は次のように変更されます。


ALTER ROLE

用途

ALTER ROLE文を使用すると、ロールを使用可能にするために必要な許可を変更できます。

参照:

  • ロールの作成の詳細は、「CREATE ROLE」を参照してください。

  • セッションのロールを使用可能または使用禁止にする方法については、「SET ROLE」を参照してください。

 

前提条件

ロールにADMIN OPTIONが付与されている必要があります。付与されていない場合は、ALTER ANY ROLEシステム権限が必要です。

ロールをIDENTIFIED GLOBALLYに変更する前に、次の作業が必要です。

この規則の唯一の例外として、現在ロールを変更しているユーザーからはそのロールを取り消さないでください。

構文

alter_role::=

画像の説明

セマンティクス

ALTER ROLE文のキーワード、パラメータおよび句の意味は、すべてCREATE ROLE文のキーワード、パラメータおよび句と同じです。

ロールの変更の注意事項:

ロールの変更には、次の注意事項があります。

詳細は、「CREATE ROLE」および次の例を参照してください。

ロール識別機能の変更例:

次の文は、ロールwarehouse_user「ロールの作成例:」で作成)をNOT IDENTIFIEDに変更します。

ALTER ROLE warehouse_user NOT IDENTIFIED;
ロール・パスワードの変更例:

次の文は、ロールdw_manager「ロールの作成例:」で作成)のパスワードをdataに変更します。

ALTER ROLE dw_manager 
   IDENTIFIED BY data; 

パスワードの変更後、ロールdw_managerが付与されているユーザーは、新しいパスワードdataを使用してこのロールを使用可能にする必要があります。

アプリケーション・ロールの例:

次の例は、ロールdw_managerhr.adminパッケージを使用してアプリケーション・ロールに変更します。

ALTER ROLE dw_manager IDENTIFIED USING hr.admin;

ALTER ROLLBACK SEGMENT


注意:

ロールバック・セグメントを使用せずに、自動UNDO管理モードでデータベースを実行することを強くお薦めします。ロールバック・セグメントは、以前のバージョンのOracle Databaseとの互換性に必要な場合以外は使用しないでください。自動UNDO管理の詳細は、『Oracle Database管理者ガイド』を参照してください。 


ALTER ROLLBACK SEGMENT文を使用すると、ロールバック・セグメントのオンライン/オフライン切替え、記憶特性の変更、またはロールバック・セグメントの最適サイズまたは指定サイズへの縮小を行うことができます。

ここでは、データベースがロールバックUNDOモードで実行されている(初期化パラメータUNDO_MANAGEMENTMANUALを設定、またはすべて設定しない)ことを前提としています。データベースが自動UNDOモードで実行されている場合(初期化パラメータUNDO_MANAGEMENTにデフォルト値のAUTOを設定)、ユーザーが作成したロールバック・セグメントは意味を持ちません。

参照:

  • ロールバック・セグメントの作成については、「CREATE ROLLBACK SEGMENT」を参照してください。

  • UNDO_MANAGEMENTパラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。

 

前提条件

ALTER ROLLBACK SEGMENTシステム権限が必要です。

構文

alter_rollback_segment::=

画像の説明

storage_clausesize_clause::=を参照)

セマンティクス

rollback_segment

既存のロールバック・セグメントの名前を指定します。

ONLINE

ONLINEを指定すると、ロールバック・セグメントをオンラインにできます。ロールバック・セグメントを作成した場合、最初はオフライン状態になり、トランザクションに使用できなくなります。この句を指定した場合、ロールバック・セグメントはオンラインになり、インスタンスは、トランザクションに対してそのロールバック・セグメントを使用できるようになります。また、初期化パラメータROLLBACK_SEGMENTSを使用すると、インスタンスの起動時にロールバック・セグメントをオンラインにできます。

参照:

「ロールバック・セグメントをオンラインにする例:」 

OFFLINE

OFFLINEを指定すると、ロールバック・セグメントをオフラインにできます。

オフラインになっているロールバック・セグメントは、どのインスタンスからもオンラインにできます。

ロールバック・セグメントがオンラインかオフラインかを確認するには、データ・ディクショナリ・ビューDBA_ROLLBACK_SEGSSTATUS列を問い合せます。オンライン・ロールバック・セグメントの値はIN_USEです。オフライン・ロールバック・セグメントの値はAVAILABLEです。

ロールバック・セグメントをオフラインにする場合の制限事項:

SYSTEMロールバック・セグメントをオフラインにすることはできません。

storage_clause

storage_clauseを使用すると、ロールバック・セグメントの記憶特性を変更できます。

ロールバック・セグメントの記憶域の制限事項:

INITIALパラメータの値は変更できません。ロールバック・セグメントがローカル管理表領域にある場合、変更可能な記憶域パラメータはOPTIMALのみです。ロールバック・セグメントがディクショナリ管理表領域にある場合、変更可能な記憶域パラメータは、NEXTMINEXTENTSMAXEXTENTSおよびOPTIMALのみです。

参照:

構文および追加情報については、「storage_clause」を参照してください。 

SHRINK句

SHRINKを指定すると、ロールバック・セグメントを最適サイズまたは指定サイズに縮小できます。縮小されるかどうか、および縮小量は、ロールバック・セグメントの使用可能領域およびアクティブ・トランザクションのロールバック・セグメント内での領域保持状態の状況によって異なります。

TO size_clauseに値を指定しなかった場合、ロールバック・セグメントを作成したCREATE ROLLBACK SEGMENT文のstorage_clauseOPTIMALで指定した値が、デフォルトのサイズになります。OPTIMAL値を指定しなかった場合、CREATE ROLLBACK SEGMENT文のstorage_clauseMINEXTENTSで指定した値がデフォルトのサイズになります。

TO size_clauseに値を指定するかどうかにかかわらず、次のことがいえます。

ロールバック・セグメントを縮小した後でロールバック・セグメントの実際のサイズを確認する場合は、DBA_SEGMENTSビューのBYTES列、BLOCKS列およびEXTENTS列を問い合せます。

ロールバック・セグメントの縮小の制限事項:

Oracle Real Application Clusters環境では、インスタンスに対してオンライン状態のロールバック・セグメントのみを縮小できます。

参照:

この句の詳細は、「size_clause」および「ロールバック・セグメントのサイズの変更例:」を参照してください。 

次の例では、ロールバック・セグメントrbs_one「ロールバック・セグメントの作成例:」で作成)を使用します。

ロールバック・セグメントをオンラインにする例:

次の文は、ロールバック・セグメントrbs_oneをオンラインにします。

ALTER ROLLBACK SEGMENT rbs_one ONLINE; 
ロールバック・セグメントのサイズの変更例:

次の文は、ロールバック・セグメントrbs_oneを縮小します。

ALTER ROLLBACK SEGMENT rbs_one 
   SHRINK TO 100M;

ALTER SEQUENCE

用途

ALTER SEQUENCE文を使用すると、既存の順序の増分値、最小値および最大値、キャッシュされる数および動作を変更できます。この文は、順序番号に影響します。

参照:

順序の詳細は、「CREATE SEQUENCE」を参照してください。 

前提条件

順序が自分のスキーマ内にある必要があります。自分のスキーマ内にない場合は、順序に対するALTERオブジェクト権限またはALTER ANY SEQUENCEシステム権限が必要です。

構文

alter_sequence::=

画像の説明

セマンティクス

この文のキーワードおよびパラメータの意味は、順序を作成する場合と同じです。

順序の変更例:

次の文は、customers_seq順序(「順序の作成例:」で作成)に新しい最大値を設定します。

ALTER SEQUENCE customers_seq 
   MAXVALUE 1500;

次の文は、customers_seq順序にCYCLEおよびCACHEオプションを指定します。

ALTER SEQUENCE customers_seq 
   CYCLE
   CACHE 5; 


ALTER SESSION

用途

ALTER SESSION文を使用すると、データベースへの接続に影響するすべての条件またはパラメータを、設定または変更できます。この文は、データベースとの接続を切断するまで有効です。

前提条件

SQLトレース機能を使用可能または使用禁止にするには、ALTER SESSIONシステム権限が必要です。

再開可能な領域割当てを使用可能または使用禁止にするには、RESUMABLEシステム権限が必要です。

特に指定がないかぎり、これ以外の操作についての権限は必要ありません。

構文

alter_session::=

画像の説明

alter_session_set_clause::=

画像の説明

セマンティクス

ADVISE句

ADVISE句を指定すると、分散トランザクションを強制処理するためのアドバイスをリモート・データベースに送ることができます。リモート・データベース内のDBA_2PC_PENDINGビューのADVICE列に、アドバイスが表示されます(値'C'がCOMMIT、'R'がROLLBACK、'  'がNOTHINGを示します)。トランザクションの状態がインダウトになった場合、データベース管理者は、このアドバイスを使用してトランザクションをコミットするか、ロールバックするかを決定できます。

単一トランザクションにおいて、ADVISE句を指定したALTER SESSION文を複数発行し、リモート・データベースごとに異なるアドバイスを送ることができます。ADVISE句を指定した文はそれぞれ、ADVISE句を指定した別の文が発行されるまで、トランザクション内の後続する文で参照されるデータベースに対してアドバイスを送ります。

参照:

「分散トランザクションを強制的に実行する例:」 

CLOSE DATABASE LINK句

CLOSE DATABASE LINKを指定すると、データベース・リンクdblinkをクローズできます。データベース・リンクを使用するSQL文を発行した場合、Oracle Databaseは、このデータベース・リンクを使用してリモート・データベース上にセッションを作成します。この接続は、セッションの終了またはデータベース・リンクの数が初期化パラメータOPEN_LINKSの値を超えるまでオープンされています。リンクをオープンしたままにしておくことによって発生するネットワークのオーバーヘッドを減らすには、セッションでデータベース・リンクを再度使用しない場合に、この句を使用してデータベース・リンクを明示的にクローズします。

参照:

「データベース・リンクをクローズする例:」 

ENABLE | DISABLE COMMIT IN PROCEDURE

プロシージャおよびストアド・ファンクションはPL/SQLで記述されるため、COMMIT文とROLLBACK文を発行できます。アプリケーション自体が直接発行していないCOMMIT文やROLLBACK文によって、アプリケーションが中断される場合、DISABLE COMMIT IN PROCEDUREを指定して、セッション中にコールされるプロシージャおよびストアド・ファンクションがこれらの文を発行しないように制御します。

その後、ENABLE COMMIT IN PROCEDUREを指定することによって、セッションでプロシージャおよびストアド・ファンクションがCOMMITおよびROLLBACK文を発行できるようになります。

一部のアプリケーションは、自動的にプロシージャおよびストアド・ファンクションでのCOMMIT文やROLLBACK文を禁止します。詳細は、ご使用のアプリケーションのドキュメントを参照してください。

ENABLE | DISABLE GUARD

ALTER DATABASEsecurity_clauseを使用すると、SYSユーザー以外のユーザーは、プライマリ・データベースまたはスタンバイ・データベース上のデータまたはデータベース・オブジェクトを変更できなくなります。この句を使用すると、現行のセッションの設定を上書きできます。

参照:

GUARDの設定の詳細は、「security_clause」を参照してください。 

PARALLEL DML | DDL | QUERY

PARALLELパラメータを使用すると、そのセッションの後続のDML、DDLまたは問合せ文をパラレル実行するかどうかを指定できます。この句は、現行のセッション中に表自体を変更せずに、表の並列度を上書き可能にします。コミットされていないトランザクションは、DMLに対してこの句を実行する前に、コミットまたはロールバックされる必要があります。

参照:

「パラレルDMLを使用可能にする例:」 

ENABLE句

ENABLEを指定すると、セッション内の後続文をパラレルで実行できます。これは、DDL文および問合せ文のデフォルトです。

ENABLE句の制限事項:

オプションのPARALLEL integerENABLEを指定することはできません。

DISABLE句

DISABLEを指定すると、セッション内の後続文をシリアルで実行できます。これは、DML文のデフォルトです。

DISABLE句の制限事項:

オプションのPARALLEL integerDISABLEを指定することはできません。

FORCE句

FORCEを使用すると、セッションの後続文を強制的にパラレル実行できます。パラレル句もパラレル・ヒントも指定されていない場合は、デフォルトの並列度が使用されます。この句は、セッションの後続文に指定されたすべてのparallel_clauseを上書きしますが、パラレル・ヒントによって上書きされます。

PARALLEL integer

並列度を明示的に指定する整数を指定します。

次のDML操作は、この句に関係なくパラレル化されません。

RESUMABLE句

これらの句を使用すると、再開可能な領域割当てを使用可能および使用禁止にできます。この機能によって、領域不足のエラー条件が発生した場合に操作は停止され、エラー条件が修復されたときに中断したところから自動的に再開されます。


注意:

再開可能な領域割当ては、ローカル管理表領域での操作で、完全にサポートされます。ディクショナリ管理表領域を使用する場合は、制限事項があります。制限事項の詳細は、『Oracle Database管理者ガイド』を参照してください。 


ENABLE RESUMABLE

この句を使用すると、セッションに対する再開可能な領域割当てを使用可能にできます。

TIMEOUT

TIMEOUTを使用すると、エラー条件が修復されるまで操作を停止する時間を秒単位で指定できます。エラー条件がTIMEOUTで指定した時間までに修復されない場合は、停止操作は異常終了します。

NAME

NAMEを使用すると、ユーザー定義のテキスト文字列を指定することができ、再開可能モードのセッション中に発行される文の識別に有効です。USER_RESUMABLEデータ・ディクショナリ・ビューおよびDBA_RESUMABLEデータ・ディクショナリ・ビューに、テキスト文字列が挿入されます。NAMEを指定しない場合は、デフォルト文字列「User username(userid), Session sessionid, Instance instanceid」が挿入されます。

参照:

データ・ディクショナリ・ビューの詳細は、『Oracle Databaseリファレンス』を参照してください。 

DISABLE RESUMABLE

この句を使用すると、セッションに対する再開可能な領域割当てを使用禁止にできます。

alter_session_set_clause

alter_session_set_clauseを使用すると、セッションの初期化パラメータの値を設定できます。

初期化パラメータ

この句では、2種類のパラメータを設定できます。

同じalter_session_set_clauseで複数のパラメータに対する値を設定できます。


初期化パラメータおよびALTER SESSION

一部の初期化パラメータは、ALTER SESSIONの有効範囲内で動的です。ALTER SESSIONを使用してこれらのパラメータを設定すると、設定した値は現行セッションでのみ保持されます。パラメータをALTER SESSION文で変更できるかどうかを確認するには、V$PARAMETER動的パフォーマンス・ビューのISSES_MODIFIABLE列を問い合せます。


注意:

初期化パラメータの値を変更する前に、『Oracle Databaseリファレンス』を参照してください。 


ALTER SESSIONで設定可能な一部のパラメータは、初期化パラメータではありません。初期化パラメータ・ファイルではなく、ALTER SESSIONでのみ設定可能です。これらのセッション・パラメータの詳細は、「セッション・パラメータおよびALTER SESSION」を参照してください。


セッション・パラメータおよびALTER SESSION

次のパラメータは、セッション・パラメータであり、初期化パラメータではありません。

CONSTRAINT[S]

構文:
CONSTRAINT[S] = { IMMEDIATE | DEFERRED | DEFAULT }

CONSTRAINT[S]は、遅延可能制約によって指定された条件を、いつ適用するかを指定します。

CURRENT_SCHEMA

構文:
CURRENT_SCHEMA = schema

CURRENT_SCHEMAは、セッションの現行のスキーマを、指定したスキーマに変更します。セッション中のスキーマ・オブジェクトに対する後続の未修飾の参照は、この指定したスキーマ内でオブジェクトに変換されます。この設定は、現行のセッションの存続期間中、またはALTER SESSION SET CURRENT_SCHEMA文を再発行するまで保持されます。

この設定によって、現行のユーザーのスキーマ以外にあるオブジェクトに対する操作を、オブジェクトをスキーマ名で修飾することなく簡単に行えます。この設定によって、現行のスキーマは変更されますが、このセッションのユーザーまたは現行のユーザーは変更されません。また、セッション・ユーザーには、このセッションに対する追加のシステム権限またはオブジェクト権限は付与されません。

ERROR_ON_OVERLAP_TIME

構文:
ERROR_ON_OVERLAP_TIME = {TRUE | FALSE}

ERROR_ON_OVERLAP_TIMEパラメータには、Oracle Databaseが不明瞭な境界日時値(日時が標準か夏時間かが明確でない場合)を処理する方法を指定します。

境界日時値の詳細は、「夏時間のサポート」を参照してください。

FLAGGER

構文:
FLAGGER = { ENTRY | INTERMEDIATE | FULL | OFF }

FLAGGERパラメータは、FIPSのフラグ付けを指定します。このフラグ付けを使用した場合、ANSI SQL92の拡張要素であるSQL文が発行されたときに、エラー・メッセージが生成されます。FLAGGERは、セッション・パラメータであり、初期化パラメータではありません。

Oracle Databaseでは、ENTRYレベル、INTERMEDIATEレベル、FULLレベルのそれぞれのフラグ付けに違いはありません。セッションでフラグ付けが設定されると、これに続くALTER SESSION SET FLAGGER文は成功しますが、ORA-00097のメッセージが生成されます。このため、セッションを切断しなくてもFIPSのフラグ付けを変更できます。OFFを設定した場合、フラグ付けの使用は停止されます。

参照:

現行のANSI SQL規格に対するOracleの準拠については、付録B「Oracleと標準SQL」を参照してください。 

INSTANCE

構文:
INSTANCE = integer

INSTANCEパラメータを設定すると、自分のインスタンスに接続している場合と同様に、別のインスタンスにもアクセスできます。INSTANCEはセッション・パラメータであり、初期化パラメータではありません。Oracle Real Application Clusters(RAC)環境では、このパラメータの設定に基づき、各RACインスタンスで、最適なDMLパフォーマンスを実現するようにディスク領域の静的または動的な所有権が保持されます。

ISOLATION_LEVEL

構文:
ISOLATION_LEVEL = {SERIALIZABLE | READ COMMITTED} 

ISOLATION_LEVELパラメータは、データベースを変更するトランザクションがどのように処理されるかを指定します。ISOLATION_LEVELはセッション・パラメータであり、初期化パラメータではありません。

TIME_ZONE

構文:
TIME_ZONE =  '[+ | -] hh:mm' 
             | LOCAL 
             | DBTIMEZONE 
             | 'time_zone_region'

TIME_ZONEパラメータには、現行のSQLセッションのデフォルトのローカル・タイムゾーン・オフセットまたは地域名を指定します。TIME_ZONEはセッション・パラメータであり、初期化パラメータではありません。現行のセッションのタイムゾーンを確認するには、組込み関数SESSIONTIMEZONEを問い合せます(「SESSIONTIMEZONE」を参照)。

USE_PRIVATE_OUTLINES

構文:
USE_PRIVATE_OUTLINES = { TRUE | FALSE | category_name }

USE_PRIVATE_OUTLINESパラメータを使用すると、プライベート・アウトラインの使用を制御することができます。このパラメータが使用可能で、アウトライン化されたSQL文が発行された場合、オプティマイザは、USE_STORED_OUTLINESが使用可能なときに使用されるパブリック領域ではなく、そのセッションのプライベート領域からアウトラインを検索します。そのセッションのプライベート領域にアウトラインが存在しない場合、オプティマイザは、文のコンパイルにアウトラインを使用しません。USE_PRIVATE_OUTLINESは、初期化パラメータではありません。

USE_PRIVATE_OUTLINESの制限事項:

USE_STORED_OUTLINESが使用可能な場合は、このパラメータを使用可能にできません。

USE_STORED_OUTLINES

構文:
USE_STORED_OUTLINES = { TRUE | FALSE | category_name }

USE_STORED_OUTLINESパラメータは、オプティマイザが実行計画を生成するためにストアド・パブリック・アウトラインを使用するかどうかを決定します。USE_STORED_OUTLINESは、初期化パラメータではありません。

USED_STORED_OUTLINESの制限事項:

USE_PRIVATE_OUTLINESが使用可能な場合は、このパラメータを使用可能にできません。

パラレルDMLを使用可能にする例:

次の文は、現行のセッションでパラレルDMLモードを使用可能にします。

ALTER SESSION ENABLE PARALLEL DML;
分散トランザクションを強制的に実行する例:

次のトランザクションは、データベース・リンクremoteによって識別されるデータベース上のemployees表に従業員のレコードを挿入し、localによって識別されるデータベース上のemployees表から従業員のレコードを削除します。

ALTER SESSION
   ADVISE COMMIT; 

INSERT INTO employees@remote
   VALUES (8002, 'Juan', 'Fernandez', 'juanf@hr.com', NULL, 
   TO_DATE('04-OCT-1992', 'DD-MON-YYYY'), 'SA_CLERK', 3000, 
   NULL, 121, 20); 

ALTER SESSION
   ADVISE ROLLBACK; 

DELETE FROM employees@local
   WHERE employee_id = 8002; 

COMMIT;  

このトランザクションには、ADVISE句を指定したALTER SESSION文が2つあります。このトランザクションが状態不明(インダウト)になった場合、remoteには、最初に指定したALTER SESSION文によってアドバイス'COMMIT'が送信され、localには、2番目の文によってアドバイス'ROLLBACK'が送信されます。

データベース・リンクをクローズする例:

次の文は、データベース・リンクを使用しているlocalデータベース上のjobs表を更新し、このトランザクションをコミットして、データベース・リンクを明示的にクローズします。

UPDATE jobs@local SET min_salary = 3000
   WHERE job_id = 'SH_CLERK';

COMMIT; 

ALTER SESSION
   CLOSE DATABASE LINK local;
日付書式の動的な変更例:

次の文は、セッションのデフォルトの日付書式を'YYYY MM DD-HH24:MI:SS'に動的に変更します。

ALTER SESSION 
   SET NLS_DATE_FORMAT = 'YYYY MM DD HH24:MI:SS';

変更後は、新しい日付書式が次のように適用されます。

SELECT TO_CHAR(SYSDATE) Today
   FROM DUAL; 

TODAY 
------------------- 
2001 04 12 12:30:38
日付言語の動的な変更例:

次の文は、日付書式要素の言語をフランス語に変更します。

ALTER SESSION 
   SET NLS_DATE_LANGUAGE = French;

SELECT TO_CHAR(SYSDATE, 'Day DD Month YYYY') Today
   FROM DUAL; 

TODAY 
--------------------------- 
Jeudi    12 Avril     2001
ISO通貨の変更例:

次の文は、ISO通貨記号をアメリカ合衆国のISO通貨記号に動的に変更します。

ALTER SESSION
   SET NLS_ISO_CURRENCY = America; 

SELECT TO_CHAR( SUM(salary), 'C999G999D99') Total
   FROM employees; 

TOTAL
------------------
     USD694,900.00
小数点文字と桁区切りの変更例:

次の文は、小数点文字をカンマ(,)に、桁区切りをピリオド(.)に動的に変更します。

ALTER SESSION SET NLS_NUMERIC_CHARACTERS = ',.' ;

これらの数値書式要素を使用した場合、新しい文字が戻ります。

ALTER SESSION SET NLS_CURRENCY = 'FF';

SELECT TO_CHAR( SUM(salary), 'L999G999D99') Total FROM employees;

TOTAL
---------------------
         FF694.900,00
NLS通貨の変更例:

次の文は、各国通貨記号を'DM'に動的に変更します。

ALTER SESSION
   SET NLS_CURRENCY = 'DM'; 

SELECT TO_CHAR( SUM(salary), 'L999G999D99') Total
   FROM employees; 

TOTAL
---------------------
         DM694.900,00
NLS言語の変更例:

次の文は、表示されたエラー・メッセージの言語をフランス語に動的に変更します。

ALTER SESSION
   SET NLS_LANGUAGE = FRENCH; 

Session modifiee.

SELECT * FROM DMP;

ORA-00942: Table ou vue inexistante
言語のソート順の変更例:

次の文は、言語ソート順序をスペイン語に動的に変更します。

ALTER SESSION
   SET NLS_SORT = XSpanish; 

これによって、文字の値はスペイン語のソート順序に基づいてソートされます。

SQLトレースを使用可能にする例:

次の文は、セッションに対してSQLトレース機能を使用可能にします。

ALTER SESSION 
   SET SQL_TRACE = TRUE; 
クエリー・リライトを使用可能にする例:

次の文は、明示的に使用禁止にされていないすべてのマテリアライズド・ビューに対する現行のセッションのクエリー・リライトを使用可能にします。

ALTER SESSION SET QUERY_REWRITE_ENABLED = TRUE;

ALTER SYSTEM

用途

ALTER SYSTEM文を使用すると、Oracle Databaseインスタンスを動的に変更できます。この設定は、データベースがマウントされているかぎり有効です。

前提条件

ALTER SYSTEMシステム権限が必要です。

構文

alter_system::=

画像の説明

archive_log_clause::=checkpoint_clause::=check_datafiles_clause::=distributed_recov_clauses::=end_session_clauses::=quiesce_clauses::=rolling_migration_clauses::=alter_system_security_clauses::=shutdown_dispatcher_clause::=alter_system_set_clause::=alter_system_reset_clause::=を参照)

archive_log_clause::=

画像の説明

checkpoint_clause::=

画像の説明

check_datafiles_clause::=

画像の説明

distributed_recov_clauses::=

画像の説明

end_session_clauses::=

画像の説明

quiesce_clauses::=

画像の説明

rolling_migration_clauses::=

画像の説明

alter_system_security_clauses::=

画像の説明

shutdown_dispatcher_clause::=

画像の説明

alter_system_set_clause::=

画像の説明

set_parameter_clause::=

画像の説明

alter_system_reset_clause::=

画像の説明

セマンティクス

archive_log_clause

archive_log_clauseを使用すると、REDOログ・ファイルを手動でアーカイブしたり、自動アーカイブを使用可能または使用禁止にすることができます。この句を使用する場合、インスタンスでデータベースをマウントする必要があります。特に指定がないかぎり、データベースはオープンまたはクローズできます。

INSTANCE句

この句が関係するのは、Oracle Real Application Clusters(RAC)を使用している場合のみです。REDOログ・ファイル・グループをアーカイブするインスタンスの名前を指定します。インスタンス名は最大80文字の文字列です。指定したインスタンスにマップするスレッドはOracle Databaseによって自動的に決定され、対応するREDOログ・ファイル・グループがアーカイブされます。指定したインスタンスにマップされているスレッドがない場合、エラーが戻されます。

SEQUENCE句

SEQUENCEを指定すると、指定したスレッド内のログ順序番号integerによって識別されるオンラインREDOログ・ファイル・グループを手動でアーカイブできます。THREADパラメータを指定しなかった場合、インスタンスに割り当てられているスレッドから、指定したグループがアーカイブされます。

CHANGE句

CHANGEを指定すると、オンラインREDOログ・ファイル・グループを、手動でアーカイブできます。このグループには、指定したスレッド内のintegerによって識別されるSCNを持つREDOログ・エントリが含まれます。このSCNが現行のREDOログ・ファイル・グループ内にある場合、ログ・スイッチが実行されます。THREADパラメータを指定しない場合、使用可能な状態にあるすべてのスレッドから、このSCNを含むグループがアーカイブされます。

インスタンスでデータベースをオープンしている場合にのみ、この句を使用できます。

CURRENT句

CURRENTを指定すると、ログ・スイッチを強制的に発生させ、指定したスレッドの現行のREDOログ・ファイル・グループを手動でアーカイブできます。THREADパラメータを指定しない場合、すべての使用可能なスレッドから、現行のログ以前のログも含むすべてのREDOログ・ファイル・グループがアーカイブされます。データベースがオープンしているときのみ、CURRENTを指定できます。

NOSWITCH

NOSWITCHを指定すると、ログ・スイッチの強制実行なしで現行のREDOログ・ファイル・グループを手動でアーカイブできます。この設定は、プライマリ・データベースが停止したときに、データ分岐が発生しないようにするために、主にスタンバイ・データベースで使用されます。データ分岐は、プライマリ・データベースに障害が発生した場合に、データが消失する可能性があることを意味します。

インスタンスでデータベースがマウントされているがオープンされていない場合にのみ、NOSWITCH句を使用できます。データベースがオープンしている場合は、この操作によってデータベースは自動的にクローズされます。再オープンする前にデータベースを手動で停止する必要があります。

GROUP句

GROUPを指定すると、オンラインREDOログ・ファイル・グループを手動でアーカイブできます。このグループには、integerによって識別されるGROUP値が含まれます。REDOログ・ファイル・グループのGROUP値を確認するには、データ・ディクショナリ・ビューDBA_LOG_GROUPSを問い合せます。THREADパラメータとGROUPパラメータの両方を指定する場合は、指定するREDOログ・ファイル・グループが、指定するスレッド内に含まれている必要があります。

LOGFILE句

LOGFILEを指定すると、オンラインREDOログ・ファイル・グループを手動でアーカイブできます。このグループには、'filename'によって識別されるREDOログ・ファイル・メンバーが含まれます。THREADパラメータとLOGFILEパラメータの両方を指定する場合は、指定するREDOログ・ファイル・グループが、指定するスレッド内に含まれている必要があります。

データベースがバックアップ制御ファイルでマウントされている場合は、USING BACKUP CONTROLFILEを指定し、現行のログ・ファイルを含むすべてのオンライン・ログ・ファイルのアーカイブを許可します。

LOGFILE句の制限事項:

REDOログ・ファイル・グループは、一杯になった順にアーカイブする必要があります。LOGFILEパラメータを使用してREDOログ・ファイル・グループのアーカイブを指定した場合、それ以前のREDOログ・ファイル・グループがアーカイブされていないとエラー・メッセージが戻ります。

NEXT句

NEXTを指定すると、一杯になってもアーカイブされていない次のオンラインREDOログ・ファイルを、指定したスレッドから手動でアーカイブできます。THREADパラメータを指定しない場合、使用可能な任意のスレッド上の、アーカイブされていない最初のREDOログ・ファイル・グループがアーカイブされます。

ALL句

ALLを指定すると、一杯になってもアーカイブされていないすべてのオンラインREDOログ・ファイルを、指定したスレッドから手動でアーカイブできます。THREADパラメータを指定しない場合、使用可能なすべてのスレッドから、一杯でアーカイブされていないすべてのREDOログ・ファイル・グループがアーカイブされます。

START句

以前のリリースでは、この句を使用すると、インスタンスに割り当てられたスレッドについて、REDOログ・ファイル・グループの自動アーカイブが使用可能になります。この句は現在非推奨になっています。Oracle Databaseは、REDOログ・ファイル・グループの自動アーカイブを自動的に使用可能にします。この句は無効です。この句を指定すると、アラート・ログにメッセージが書き込まれます。

TO location

TO 'location'を指定すると、REDOログ・ファイル・グループがアーカイブされる位置を指定できます。このパラメータの値には、オペレーティング・システムの規則に従って、ファイルの位置を完全に指定する必要があります。このパラメータを指定しない場合、REDOログ・ファイル・グループは初期化パラメータLOG_ARCHIVE_DESTまたはLOG_ARCHIVE_DEST_nに指定された場所に格納されます。

STOP句

以前のリリースでは、この句を使用すると、インスタンスに割り当てられたスレッドについて、REDOログ・ファイル・グループの自動アーカイブが使用禁止になります。この句は現在非推奨になっています。この句は無効です。この句を指定すると、アラート・ログにメッセージが書き込まれます。

checkpoint_clause

CHECKPOINTを指定すると、チェックポイントを明示的に強制処理して、コミット済のトランザクションによる変更をディスク上のデータ・ファイルに書き込むことができます。インスタンスでデータベースがオープンしている場合にのみ、この句を指定できます。チェックポイントが完了するまで、ユーザーに制御は戻りません。

GLOBAL

Oracle Real Application Clusters(RAC)環境で、データベースをオープンしているすべてのインスタンスに対してチェックポイントを実行します。これはデフォルトです。

LOCAL

Oracle RAC環境で、文を発行するインスタンスのREDOログ・ファイル・グループのスレッドに対してのみチェックポイントを実行します。

参照:

「チェックポイントの発生例:」 

check_datafiles_clause

Oracle RAC環境などの分散データベース・システムで、データベース制御ファイルからインスタンスのSGAを更新し、すべてのオンライン・データ・ファイルに情報を反映します。

インスタンスでデータベースをオープンしておく必要があります。

end_session_clauses

end_session_clausesを使用すると、現行のセッションを終了することができます。

DISCONNECT SESSION句

DISCONNECT SESSION句を使用すると、専用サーバー・プロセス(共有サーバーによって接続が確立されていた場合は、仮想回路)を破棄することによって、現行のセッションが切断されます。この句を使用する場合、インスタンスでデータベースをオープンする必要があります。次の両方の値をV$SESSIONビューで確認して、このセッションを識別する必要があります。

システム・パラメータを適切に設定した場合、アプリケーション・フェイルオーバーが有効になります。

KILL SESSION句

KILL SESSIONを指定すると、セッションに終了済のマークが付き、実行中のトランザクションがロールバックされ、すべてのセッション・ロックが解放され、セッション・リソースが一部リカバリされます。この句を使用する場合、インスタンスでデータベースをオープンする必要があります。integer3を指定しない場合は、自セッションおよび終了されるセッションは、同じインスタンスにある必要があります。次の値をV$SESSIONビューで確認して、このセッションを識別する必要があります。

リモート・データベースからの応答を待ったり、トランザクションをロールバックするなど、最後まで完了する必要があるアクティビティをセッションが実行している場合、Oracle Databaseはこのアクティビティが完了するまで待機し、セッションに終了済のマークを付け、その後、ユーザーに制御を戻します。待ち時間が1分以上続く場合は、終了されるセッションにマークが付けられ、マークが付けられたセッションが終了されることを示すメッセージとともにユーザーに制御が戻されます。アクティビティが完了すると、PMONバックグラウンド・プロセスは、セッションに終了済のマークを付けます。

セッションに実行中のトランザクションがあるかどうかにかかわらず、セッション・ユーザーがセッションに要求を発行してセッションが終了されたことを示すメッセージを受け取るまで、Oracle Databaseは、セッション全体の状態をリカバリしません。

参照:

「セッションの終了例:」 

IMMEDIATE

IMMEDIATEを指定すると、実行中のトランザクションをロールバックしてすべてのセッション・ロックを解放し、セッション全体の状態をリカバリしてから、すぐにユーザーに制御を戻すようにOracle Databaseに指示できます。

distributed_recov_clauses

DISTRIBUTED RECOVERY句を使用すると、分散リカバリを使用可能または使用禁止にできます。この句を使用する場合、インスタンスでデータベースをオープンする必要があります。

ENABLE

ENABLEを指定すると、分散リカバリを使用可能にできます。シングルプロセス環境では、分散リカバリを開始する場合にこの句を使用する必要があります。

トランザクションに関係があるリモート・ノードにアクセスできない場合、インダウト・トランザクションをリカバリするには、ENABLE DISTRIBUTED RECOVERY文を複数回発行する必要がある場合もあります。インダウト・トランザクションは、データ・ディクショナリ・ビューDBA_2PC_PENDINGに表示されます。

参照:

「分散リカバリを使用可能にする例:」 

DISABLE

DISABLEを指定すると、分散リカバリを使用禁止にできます。

FLUSH SHARED_POOL句

FLUSH SHARED_POOL句を指定すると、SGAの共有プール上のすべてのデータが消去されます。共有プールは次のものを格納します。

この文は、現在実行中の項目に対する共有SQL領域および共有PL/SQL領域を消去しません。インスタンスでデータベースがマウントされていてもディスマウントされていても、またはオープン状態でもクローズ状態でも、この句を使用できます。

参照:

「共有プールの消去例:」 

FLUSH BUFFER_CACHE句

FLUSH BUFFER_CACHE句を指定すると、システム・グローバル領域(SGA)のバッファ・キャッシュ上のすべてのデータを消去できます。


注意:

この句は、テスト・データベース上のみで使用します。この句を本番データベース上で使用しないでください。この文を実行すると、後続の問合せで結果が戻らなくなります。 


この句は、リライトされた問合せ、または同一の開始点からの一連の問合せのパフォーマンスを測定する必要がある場合に有効です。

SWITCH LOGFILE句

SWITCH LOGFILE句を指定すると、現行のREDOログ・ファイル・グループのファイルが一杯であるかどうかにかかわらず、新しいREDOログ・ファイル・グループへの書込みを明示的かつ強制的に開始できます。ログ・スイッチを強制的に発生させると、チェックポイントが実行されますが、チェックポイントが完了する前に、すぐに制御が戻されます。この句を使用する場合、インスタンスでデータベースをオープンする必要があります。

参照:

「ログ・スイッチの発生例:」 

SUSPEND | RESUME

SUSPEND句を指定すると、すべてのI/O(データ・ファイル、制御ファイルおよびファイル・ヘッダー)および問合せを停止し、すべてのインスタンスで実行中のトランザクションを処理せずにデータベースのコピーが作成可能になります。

SUSPENDおよびRESUMEの制限事項:

SUSPENDRESUMEには、次の制限事項があります。

RESUME句を指定すると、問合せおよびI/Oに対して、再度、データベースが使用可能になります。

rolling_migration_clauses

クラスタ化された自動ストレージ管理(ASM)環境内でこれらの句を使用すると、ASMクラスタまたはストレージにASMを使用するデータベース・クラスタの全体的な可用性に影響することなく、ノードを一度に1つずつ別のASMバージョンに移行できます。

START ROLLING MIGRATION

ローリング・アップグレードを開始するときに、ASM_versionについて、次の5つの文字列を指定する必要があります。

<version_num>, <release_num>, <update_num>,<port_release_num>,<port_update_num>

ASM_versionは、11.1.0.0.0以上である必要があります。次に、自動ストレージ管理は、最初に、指定されたリリースへの移行について現在のリリースに互換性があることを確認し、制限された機能モードになります。自動ストレージ管理は、次に、クラスタ内で均衡の再調整処理が進行中かどうかを確認します。そのような操作がある場合、文は失敗し、均衡の再調整操作の完了後に文を再発行する必要があります。

ローリング・アップグレード・モードは、クラスタ全体でメモリー内に永続的に保持される状態です。クラスタは、少なくとも1つのASMインスタンスがクラスタ内で実行中になるまで、この状態であり続けます。クラスタに参加する新しいインスタンスは、起動時にすぐに移行モードに切り替わります。クラスタ内のすべてのインスタンスが終了すると、この後に自動ストレージ管理インスタンスを起動しても、この文を再発行して自動ストレージ管理インスタンスのローリング・アップグレードを再開するまでは、ローリング・アップグレード・モードにはなりません。

STOP ROLLING MIGRATION

この句を使用すると、ローリング・アップグレードを停止して、クラスタを通常の操作に戻すことができます。クラスタ内のすべてのインスタンスが同じソフトウェア・バージョンに移行した後にのみ、この句を指定します。クラスタがローリング・アップグレード・モードではない場合、文は失敗します。

この句を指定すると、自動ストレージ管理インスタンスはクラスタのすべてのメンバーが同じソフトウェア・バージョンであることを検証し、インスタンスをローリング・アップグレード・モードから除外して、自動ストレージ管理クラスタの完全な機能に戻ります。ディスクがオフラインであるために均衡の再調整操作が保留中の場合、操作は再起動されます。ただし、そのような再起動によってASM_POWER_LIMITパラメータに違反することにならない場合にかぎります。

参照:

ローリング・アップグレードの詳細は、『Oracle Databaseストレージ管理者ガイド』を参照してください。 

quiesce_clauses

QUIESCE RESTRICTED句およびUNQUIESCE句を使用すると、データベースを静止状態にしたり、静止状態から戻すことができます。この状態では、データベース管理者は、トランザクション、問合せまたはPL/SQL操作が同時に存在する状態では安全に実行できない管理操作を実行することができます。


注意:

QUIESCE RESTRICTED句は、データベース・リソース・マネージャがインストールされている場合、およびデータベースをオープンしたインスタンスでデータベースが起動された後、リソース・マネージャが継続的にアクティブになっている場合のみ有効です。 


複数のQUIESCE RESTRICTED文またはUNQUIESCE文が異なるセッションまたはインスタンスで同時に発行された場合、1つを除いた他のすべてのセッションまたはインスタンスにエラーが戻されます。

QUIESCE RESTRICTED

QUIESCE RESTRICTEDを指定すると、データベースを静止状態にできます。この句は、データベースがオープン中のすべてのインスタンスに次の影響を与えます。

静止状態中、すべてのインスタンスにおいてリソース・マネージャのプランは変更できません。

UNQUIESCE

UNQUIESCEを指定すると、データベースを静止状態から戻すことができます。これによって、SYSまたはSYSTEM以外のユーザーによって開始された、トランザクション、問合せ、フェッチおよびPL/SQLプロシージャを再開できます。UNQUIESCE文は、QUIESCE RESTRICTED文を発行したセッションと同じセッションで起動する必要はありません。

alter_system_security_clauses

alter_system_security_clausesを使用すると、インスタンスへのアクセスを制御できます。

RESTRICTED SESSION

RESTRICTED SESSION句を指定すると、Oracle Databaseにログインできるユーザーを制限できます。インスタンスでデータベースがマウントされていてもディスマウントされていても、またはオープン状態でもクローズ状態でも、この句を使用できます。

SET ENCRYPTION WALLET句

この句を使用すると、サーバー・ウォレット内の情報へのデータベース・アクセスを管理できます。この文は、キーワードALTERで始まりますが、ALTER SYSTEM SET ENCRYPTION WALLET文はDDL句ではありません。ただし、このような文はロールバックすることはできません。

OPEN

この句を指定すると、データベースは指定されたパスワードを使用してサーバー・ウォレット内の情報をメモリーにロードし、インスタンスの存続期間中にデータベース・アクセスができるようになります。この句を使用すると、データベースは、SSOウォレットなしにサーバー・ウォレットからキーを取得できます。サーバー・ウォレットが使用できないか、すでに開いている場合は、データベースからエラーが戻ります。このコンテキストでは、パスワードを二重引用符で囲む必要があります。

CLOSE

この句を使用すると、メモリーからサーバー・ウォレットの情報が削除されます。

参照:

Oracle Real Application Clusters(Oracle RAC)環境での暗号化ウォレットの設定については、『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。 

SET ENCRYPTION KEY句

この句を使用すると、新しい暗号化キーを生成し、現行のデータの透過的暗号化のマスター鍵として設定できます。また、この句はサーバー・ウォレットのデータベース・アクセス情報をメモリーにロードします。certificate_idは、証明書を識別する整数です。これは、基本鍵を使用する場合は不要ですが、PKIベースの鍵を使用する場合は必要になります。この値は、V$WALLET動的パフォーマンス・ビューのCERT_ID列を問い合せて確認できます。passwordには、セキュリティ・モジュールへの接続に使用するパスワードを指定します。指定したcertificate_idまたはパスワードが無効な場合、データベースからエラーが戻ります。このコンテキストでは、パスワードを二重引用符で囲む必要があります。

ALTER SYSTEM SET KEY文はDDL文です。この文は、スキーマ内で保留中のトランザクションを自動的にコミットします。

データの透過的暗号化機能を使用するには、暗号化ウォレットと暗号化キーの両方を設定する必要があります。

参照:

  • サーバー・ウォレットと暗号化キーの使用方法およびデータの透過的暗号化の詳細は、『Oracle Database Advanced Security管理者ガイド』を参照してください。

  • この機能を利用して表の列を暗号化する方法の詳細は、「CREATE TABLE」の「encryption_spec」を参照してください。

  • 「ウォレットおよび暗号化キーの確立」

 

shutdown_dispatcher_clause

SHUTDOWN句は、システムにOracle Databaseの共有サーバー・アーキテクチャを使用している場合のみ有効です。dispatcher_nameで識別されたディスパッチャを停止します。


注意:

この句をSQL*PlusコマンドSHUTDOWN(データベース全体を停止するために使用する)と混同しないでください。 


dispatcher_nameは、'Dxxx'という形式の文字列である必要があります。xxxはディスパッチャの番号です。ディスパッチャ名のリストを取得するには、V$DISPATCHER動的パフォーマンス・ビューのNAME列を問い合せます。

REGISTER句

REGISTERを指定すると、PMONバックグラウンド・プロセスによってリスナーにインスタンスがすぐに登録されます。この句を指定しない場合、PMONが次に検出ルーチンを実行するまでインスタンスの登録は行われません。その結果、クライアントは、リスナー起動後最大60秒間サービスにアクセスできない可能性があります。

参照:

PMONバックグラウンド・プロセスおよびリスナーの詳細は、『Oracle Database概要』および『Oracle Database Net Services管理者ガイド』を参照してください。 

alter_system_set_clause

従来のプレーン・テキストのパラメータ・ファイル(PFILE)を使用してデータベースを起動したか、サーバー・パラメータ・ファイル(SPFILE)を使用してデータベースを起動したかに応じて、現行のインスタンスの多くの初期化パラメータ値を変更できます。『Oracle Databaseリファレンス』では、各パラメータの説明で、これらのパラメータが「変更可能」というカテゴリに分類されています。PFILEを使用した場合、変更はインスタンスの存続期間中のみ保持されます。一方、SPFILEを使用してデータベースを起動した場合、SPFILE自体のパラメータの値を変更できるため、後続のインスタンスで新しい値が使用されます。

『Oracle Databaseリファレンス』には、すべての初期化パラメータが詳細に記載されています。パラメータは、次の3つのカテゴリに分類されます。

初期化パラメータ値を変更する権限は、従来のプレーン・テキストの初期化パラメータ・ファイル(pfile)を使用してデータベースを起動したか、サーバー・パラメータ・ファイル(spfile)を使用してデータベースを起動したかによって異なります。特定のパラメータ値を変更する権限を持っているかどうかを確認するには、V$PARAMETER動的パフォーマンス・ビューのISSYS_MODIFIABLE列を問い合せます。

set_parameter_clause

パラメータ値を設定するときに、次の設定も行えます。

COMMENT

COMMENT句を使用すると、コメント文字列をパラメータ値の変更に対応付けることができます。SPFILEをあわせて指定すると、パラメータ・ファイルにコメントが表示され、そのパラメータに対する直前の変更がわかります。

DEFERRED

DEFERREDキーワードを指定すると、データベースに接続するその後のセッションに対するパラメータの値を設定または変更できます。現行のセッションでは変更前の値が残ります。

このパラメータのV$PARAMETERISSYS_MODIFIABLE列の値がDEFERREDの場合は、DEFERREDを指定する必要があります。この列の値がIMMEDIATEの場合、この句のDEFERREDキーワードはオプションです。この列の値がFALSEの場合、このALTER SYSTEM文ではDEFERREDを指定できません。

参照:

V$PARAMETER動的パフォーマンス・ビューの詳細は、『Oracle Databaseリファレンス』を参照してください。 

SCOPE

SCOPE句を使用すると、変更が有効になるタイミングを指定できます。有効範囲は、データベースの起動に使用したファイルが従来のプレーン・テキストのパラメータ・ファイル(pfile)か、サーバー・パラメータ・ファイル(spfile)かによって異なります。

データベースの起動でサーバー・パラメータ・ファイルを使用した場合は、BOTHがデフォルトです。データベースの起動でパラメータ・ファイルを使用した場合は、MEMORYがデフォルトで、これ以外の有効範囲は指定できません。

SID

SID句を使用すると、値を有効にするインスタンスのSIDを指定できます。

この句を指定しない場合は、次のようになります。

現行のインスタンス以外のインスタンスを指定すると、そのインスタンスに、メモリーのパラメータ値の変更を通知するメッセージが送信されます。

参照:

V$PARAMETERビューの詳細は、『Oracle Databaseリファレンス』を参照してください。 

USE_STORED_OUTLINES句

USE_STORED_OUTLINESは、システム・パラメータであり、初期化パラメータではありません。pfileまたはspfile内に設定することはできませんが、ALTER SYSTEM文とともに設定できます。このパラメータは、オプティマイザが実行計画を生成するためにストアド・パブリック・アウトラインを使用するかどうかを指定します。

GLOBAL_TOPIC_ENABLED

GLOBAL_TOPIC_ENABLEDは、システム・パラメータであり、初期化パラメータではありません。pfileまたはspfile内に設定することはできませんが、ALTER SYSTEM文とともに設定できます。このパラメータは、Oracle Streams AQで作成されたすべてのキューおよびトピックがLDAPサーバーに自動的に登録されるかどうかを指定します。GLOBAL_TOPIC_ENABLED = TRUEの場合、キュー表が作成、変更または削除されると、対応するLightweight Directory Access Protocol(LDAP)エントリも作成、変更または削除されます。

このパラメータは、Java Message Service(JMS)に対しても同様に機能します。LDAPを使用するようにデータベースが構成されており、GLOBAL_TOPIC_ENABLEDパラメータがTRUEに設定されている場合、すべてのJMSキューおよびトピックは作成時にLDAPサーバーに自動的に登録されます。管理者は、LDAPに登録されたキューおよびトピックの別名を作成することもできます。LDAPに登録されたキューおよびトピックは、JNDIを介してキューまたはトピックの名前または別名を使用してルックアップできます。

共有サーバー・パラメータ

インスタンスを起動すると、Oracle DatabaseはSHARED_SERVERSおよびDISPATCHERS初期化パラメータの値に基づく共有サーバー・アーキテクチャの共有サーバー・プロセスおよびディスパッチャ・プロセスを作成します。ALTER SYSTEM文でSHARED_SERVERSおよびDISPATCHERSパラメータを設定し、インスタンスの実行中に次の操作のいずれかを実行できます。

alter_system_reset_clause

この句によって、任意のインスタンスについて、インスタンスの起動に使用されたspfile内の初期化パラメータの設定を削除できます。SCOPE=MEMORYSCOPE=BOTHも許可されません。SCOPE = SPFILE句は必須ではありませんが、構文を明確にするために含まれています。この句は単一インスタンス環境で使用できますが、pfileではなくspfileを使用してインスタンスが起動された場合のみです。

SID句を使用すると、指定したインスタンスのspfileパラメータ設定を削除できます。RAC環境以外では、インスタンスは1つのみであるため、この句を省略できます。RAC環境では、この句を省略すると、デフォルトのSID = '*'が使用されます。つまり、*.parameter = value形式のパラメータのすべての設定が削除されます。

参照:

 

REDOログの手動アーカイブの例:

次の文は、SCN 9356083のREDOログ・エントリを含むREDOログ・ファイル・グループを手動でアーカイブします。

ALTER SYSTEM ARCHIVE LOG CHANGE 9356083; 

次の文は、メンバー'diskl:log6.log'を含むREDOログ・ファイル・グループを、'diska:[arch$]'という場所にあるアーカイブREDOログ・ファイルに手動でアーカイブします。

ALTER SYSTEM ARCHIVE LOG 
    LOGFILE 'diskl:log6.log' 
    TO 'diska:[arch$]'; 
クエリー・リライトを使用可能にする例:

次の文は、クエリー・リライトが明示的に使用禁止にされていないすべてのマテリアライズド・ビューに対するすべてのセッションで、クエリー・リライトを使用可能にします。

ALTER SYSTEM SET QUERY_REWRITE_ENABLED = TRUE;
セッションを制限する例:

たとえば、アプリケーションのメンテナンス中は、RESTRICTED SESSIONシステム権限が付与されているアプリケーション開発者のみがログインできるようにセッションを制限できます。このためには、次の文を発行します。

ALTER SYSTEM
   ENABLE RESTRICTED SESSION; 

次に、ALTER SYSTEM文のKILL SESSION句を使用すると、既存のセッションをどれでも終了できます。

アプリケーションのメンテナンスが終了した後で、次の文を発行することによって、CREATE SESSIONシステム権限が付与されているユーザーもログインできるようになります。

ALTER SYSTEM
   DISABLE RESTRICTED SESSION; 
ウォレットおよび暗号化キーの確立

次の文を使用すると、サーバー・ウォレットの情報をメモリーにロードして、データの透過的暗号化のマスター鍵を設定できます。

ALTER SYSTEM SET ENCRYPTION WALLET OPEN IDENTIFIED BY "welcome1";
ALTER SYSTEM SET ENCRYPTION KEY IDENTIFIED BY "welcome1"; 

これらの文では、セキュリティ・モジュールが初期化済で、パスワードwelcome1を使用してウォレットが作成済であることを前提としています。

共有プールの消去例:

共有プールを消去してから、パフォーマンス分析を開始します。共有プールを消去する場合、次の文を発行します。

ALTER SYSTEM FLUSH SHARED_POOL;
チェックポイントの発生例:

次の文は、チェックポイントを強制的に発生させます。

ALTER SYSTEM CHECKPOINT; 
リソース制限を使用可能にする例:

次のALTER SYSTEM文は、リソース制限を動的に使用可能にします。

ALTER SYSTEM SET RESOURCE_LIMIT = TRUE; 
共有サーバーの設定の変更例:

次の文は、共有サーバー・プロセスの最小数を25に変更します。

ALTER SYSTEM SET SHARED_SERVERS = 25; 

共有サーバー・プロセスの数が25より少ない場合は追加作成されます。共有サーバー・プロセスが25より多く、25あれば負荷を管理できる場合は、現行のコールによる処理が終了した時点で、25を超える分の共有サーバー・プロセスは終了します。

次の文は、TCP/IPプロトコルのディスパッチャ・プロセス数を5に、ipcプロトコルのディスパッチャ・プロセス数を10に動的に変更します。

ALTER SYSTEM 
   SET DISPATCHERS = 
      '(INDEX=0)(PROTOCOL=TCP)(DISPATCHERS=5)',
      '(INDEX=1)(PROTOCOL=ipc)(DISPATCHERS=10)'; 

TCPのディスパッチャ・プロセスの数が5より少ない場合、ディスパッチャ・プロセスが新しく作成されます。5より多い場合は、接続されているユーザーが接続を切断した後に、5を超える分のディスパッチャ・プロセスは終了します。

ipcのディスパッチャ・プロセスの数が10より少ない場合、ディスパッチャ・プロセスが新しく作成されます。10より多い場合は、接続されているユーザーが接続を切断した後に、10を超える分のディスパッチャ・プロセスは終了します。

これ以外のプロトコル用として既存ディスパッチャがある場合、この文は、そのディスパッチャの数に影響しません。

ライセンス・パラメータの変更例:

次の文は、インスタンスにおけるセッションの最大数を64に、セッションの警告しきい値を54に動的に変更します。

ALTER SYSTEM 
   SET LICENSE_MAX_SESSIONS = 64 
   LICENSE_SESSIONS_WARNING = 54; 

セッション数が54に達した場合、後続の各セッションのALERTファイルに警告メッセージが書き込まれます。RESTRICTED SESSIONシステム権限を持つユーザーも、後続セッションを開始する場合に、警告メッセージを受け取ります。

セッション数が64に達した場合、セッション数が再び64を下回るまでは、RESTRICTED SESSIONシステム権限を持つユーザー以外は新しいセッションを開始できません。

次の文は、インスタンスのセッションの最大数を動的に使用禁止にします。この文の実行後は、インスタンスのセッション数に制限がなくなります。

ALTER SYSTEM SET LICENSE_MAX_SESSIONS = 0; 

次の文は、データベースのユーザー数の制限を200に動的に変更します。この文の実行後は、データベース・ユーザー数が200を超えることはありません。

ALTER SYSTEM SET LICENSE_MAX_USERS = 200; 
ログ・スイッチの発生例:

書込み中のファイルの削除および名前の変更はできません。ただし、ログ・スイッチを強制的に発生させることによって、現行のREDOログ・ファイル・グループまたはそのメンバーの1つを削除したり、その名前を変更できます。強制的に発生したログ・スイッチは、インスタンスのREDOログ・スレッドのみに影響します。次の文は、ログ・スイッチを強制的に発生させます。

ALTER SYSTEM SWITCH LOGFILE; 
分散リカバリを使用可能にする例:

次の文は、分散リカバリを使用可能にします。

ALTER SYSTEM ENABLE DISTRIBUTED RECOVERY;

デモンストレーションまたはテストの目的で、分散リカバリを使用禁止にする場合があります。次の文は、シングルプロセス・モードとマルチプロセス・モードの両方で分散リカバリを使用禁止にします。

ALTER SYSTEM DISABLE DISTRIBUTED RECOVERY; 

デモンストレーションまたはテストが終了した場合、ALTER SYSTEM文にENABLE DISTRIBUTED RECOVERY句を指定して実行すると、分散リカバリを再び使用可能にできます。

セッションの終了例:

あるユーザーのセッションで、他のユーザーが必要とするリソースを使用している場合、そのユーザーのセッションを終了させる場合があります。このユーザーは、セッションが終了したことを示すエラー・メッセージを受け取ります。このユーザーは、新しいセッションを開始しないかぎり、このデータベースをコールできません。次のV$SESSION動的パフォーマンス表のデータについて考えます。ここでは、ユーザーSYSoeが両方ともセッションを開いているものとします。

SELECT sid, serial#, username
   FROM V$SESSION; 

       SID    SERIAL# USERNAME
---------- ---------- ------------------------------
        29         85 SYS
        33          1
        35          8
        39         23 OE
        40          1
. . .

次の文は、V$SESSIONSID値とSERIAL#値を使用して、ユーザーscottのセッションを終了します。

ALTER SYSTEM KILL SESSION '39, 23';
セッションの切断例:

次の文は、V$SESSIONSIDSERIAL#の値を使用して、ユーザーscottのセッションを切断します。

ALTER SYSTEM DISCONNECT SESSION '13, 8' POST_TRANSACTION;

戻る 次へ
Oracle
Copyright © 1996, 2008, Oracle Corporation.

All Rights Reserved.
目次
目次
索引
索引