プライマリ・コンテンツに移動
Oracle® Database SQL言語リファレンス
11gリリース2 (11.2)
B56299-08
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

ALTER SYSTEM

用途

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

前提条件

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

セマンティクス

archive_log_clause

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

INSTANCE句

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

SEQUENCE句

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

CHANGE句

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

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

CURRENT句

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

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

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

GROUP句

GROUPを指定すると、GROUPの値がintegerで指定した値に等しいオンラインREDOログ・ファイル・グループを手動でアーカイブできます。REDOログ・ファイル・グループのGROUP値を判別するには、動的パフォーマンス・ビューV$LOGを問い合せます。THREADパラメータとGROUPパラメータの両方を指定する場合は、指定したREDOログ・ファイル・グループが指定したスレッド内に含まれている必要があります。

LOGFILE句

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

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

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

NEXT句

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

ALL句

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

TO location

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

checkpoint_clause

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

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

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

check_datafiles_clause

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

  • GLOBALを指定すると、データベースをオープンしているすべてのインスタンスに対して、この同期化を実行できます。これはデフォルトです。

  • LOCALを指定すると、ローカル・インスタンスに対してのみこの同期化を実行できます。

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

end_session_clauses

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

DISCONNECT SESSION句

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

  • integer1には、SID列の値を指定します。

  • integer2には、SERIAL#列の値を指定します。

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

  • POST_TRANSACTIONを設定すると、セッションが切断される前に、実行中のトランザクションを完了できます。セッションに実行中のトランザクションがない場合、この句は、後述のKILL SESSIONと同様の効果があります。

  • IMMEDIATEを設定すると、実行中のトランザクションの完了を待たずにセッションを切断し、すぐにセッション全体の状態をリカバリできます。

    • POST_TRANSACTIONを指定した場合、セッションに実行中のトランザクションがあれば、IMMEDIATEキーワードは無視されます。

    • POST_TRANSACTIONを指定しない場合、またはPOST_TRANSACTIONを指定していてもセッションに実行中のトランザクションがない場合、この句は、後述のKILL SESSION IMMEDIATEと同様の効果があります。

KILL SESSION句

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

  • integer1には、SID列の値を指定します。

  • integer2には、SERIAL#列の値を指定します。

  • オプションのinteger3には、終了されるターゲット・セッションが存在するインスタンスのIDを指定します。GV$表を問い合せることによって、インスタンスIDを確認することができます。

リモート・データベースからの応答を待ったり、トランザクションをロールバックするなど、最後まで完了する必要があるアクティビティをセッションが実行している場合、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文の共有SQL領域、共有PL/SQL領域、ストアド・プロシージャ、ファンクション、パッケージおよびトリガー

この文は、グローバル・アプリケーション・コンテキスト情報を消去せず、また現在実行中のアイテムで共有SQL領域およびPL/SQL領域を消去しません。インスタンスでデータベースがマウントされていてもディスマウントされていても、またはオープン状態でもクローズ状態でも、この句を使用できます。

FLUSH GLOBAL CONTEXT句

FLUSH GLOBAL CONTEXT句を指定すると、すべてのグローバル・アプリケーション・コンテキスト情報がシステム・グローバル領域(SGA)の共有プール上からフラッシュされます。インスタンスでデータベースがマウントされていてもディスマウントされていても、またはオープン状態でもクローズ状態でも、この句を使用できます。

FLUSH BUFFER_CACHE句

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


注意:

この句は、テスト・データベース上のみで使用することを目的としています。この句を本番データベース上で使用しないでください(この文を実行すると、それ以降の問合せでは結果が何も戻されなくなるため)。

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

FLUSH REDO句

FLUSH REDO句を指定すると、プライマリ・データベースからスタンバイ・データベースにREDOデータをフラッシュできます。また、オプションで、フラッシュされたREDOデータがフィジカル・スタンバイ・データベースまたはロジカル・スタンバイ・データベースに適用されるのを待機することもできます。

この句により、プライマリ・データベースが生成したすべてのREDOデータをスタンバイ・データベースにフラッシュできれば、プライマリ・データベースがデータ非消失データ保護モードでない場合でも、データを失うことなくターゲット・スタンバイ・データベースにフェイルオーバーを実行できます。

FLUSH REDO句は、マウントされている(ただし、オープンされていない)プライマリ・データベースで発行する必要があります。

target_db_name

target_db_nameには、プライマリ・データベースからフラッシュされるREDOデータを受け取るスタンバイ・データベースのDB_UNIQUE_NAMEを指定します。

ターゲット・スタンバイ・データベースに対応するLOG_ARCHIVE_DEST_nデータベース初期化パラメータの値は、DB_UNIQUE_NAME属性を含む必要があります。また、その属性の値は、ターゲット・スタンバイ・データベースのDB_UNIQUE_NAMEに一致する必要があります。

NO CONFIRM APPLY

この句を指定すると、スタンバイ・データベースがフラッシュされたすべてのREDOデータを受け取るまで、ALTER SYSTEM文は完了しません。ターゲット・スタンバイ・データベースがスナップショット・スタンバイ・データベースである場合は、この句を指定する必要があります。

CONFIRM APPLY

この句を指定すると、ターゲット・スタンバイ・データベースがフラッシュされたすべてのREDOデータを受け取って適用するまで、ALTER SYSTEM文は完了しません。これは、NO CONFIRM APPLYを指定しない場合のデフォルトの動作です。ターゲット・スタンバイ・データベースがスナップショット・スタンバイ・データベースである場合は、この句を指定できません。


関連項目:

FLUSH REDO句およびフェイルオーバーの詳細は、『Oracle Data Guard概要および管理』を参照してください。

SWITCH LOGFILE句

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

SUSPEND | RESUME

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

SUSPENDおよびRESUMEの制限事項: SUSPENDRESUMEには、次の制限事項があります。

  • ホット・バックアップ・モードでデータベースの表領域を確保するまで、この句は使用できません。

  • ALTER SYSTEM SUSPEND文を発行したセッションは終了しないでください。システムが一時停止しているときに再接続しようとすると、SYSログイン中に実行される再帰的SQLが原因となって接続が失敗することがあります。

  • システムが停止中に新しいインスタンスを起動する場合、この新しいインスタンスは停止しません。

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

rolling_migration_clauses

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

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

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

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

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

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

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


関連項目:

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

quiesce_clauses

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


注意:

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

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

QUIESCE RESTRICTED

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

  • Oracle Databaseは、すべてのインスタンスのデータベース・リソース・マネージャに、アクティブでないすべてのセッション(SYSおよびSYSTEM以外)をアクティブにしないように指示します。SYSおよびSYSTEM以外のユーザーは、新しいトランザクション、問合せ、フェッチまたはPL/SQL操作を開始できません。

  • Oracle Databaseは、すべてのインスタンスの既存のトランザクションのうち、起動したユーザーがSYSでもSYSTEMでもないものがすべて終了(コミットまたは異常終了)するまで待機します。また、Oracle Databaseは、すべてのインスタンスの実行中の問合せ、フェッチおよびPL/SQLプロシージャのうち、開始したユーザーがSYSでもSYSTEMでもなく、トランザクション内にもないものがすべて完了するまで待機します。連続する複数のOCIのフェッチによって問合せが実行される場合、Oracle Databaseはすべてのフェッチが終了するまで待機しません。現行のフェッチが終了するまで待機し、次のフェッチの実行をブロックします。さらに、Oracle Databaseは、エンキューなどの共有リソースを保持するセッション(SYSおよびSYSTEMのものを除く)すべてがそのリソースを解放するまで待機します。これらの操作がすべて完了すると、データベースが静止状態になり、QUIESCE RESTRICTED文の実行が終了します。

  • 共有サーバー・モードでインスタンスを実行している場合、Oracle Databaseは、SYSまたはSYSTEM以外のユーザーがそのインスタンスにログインすることを阻止するようにデータベース・リソース・マネージャに指示します。非共有サーバー・モードでインスタンスを実行している場合、そのインスタンスへのユーザー・ログインに制限はありません。

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

UNQUIESCE

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

security_clauses

security_clausesを使用すると、インスタンスへのアクセスを制御できます。また、インスタンスで暗号化されたデータへのアクセスを許可または禁止できます。

RESTRICTED SESSION

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

  • ENABLEを指定すると、RESTRICTED SESSIONシステム権限が付与されているユーザーのみがOracle Databaseにログインできます。既存のセッションは終了しません。

    この句は、現行のインスタンスのみに適用されます。そのため、Oracle RAC環境では、RESTRICTED SESSIONシステム権限を持たない認可済ユーザーも他のインスタンスでデータベースにアクセスできます。

  • DISABLEを指定すると、ENABLE RESTRICTED SESSION句の効果が逆になり、CREATE SESSIONシステム権限が付与されているすべてのユーザーがOracle Databaseにログオンできるようになります。これはデフォルトです。

SET ENCRYPTION WALLET句

この句を使用すると、データの透過的暗号化(TDE)のマスター暗号化キーへのデータベース・アクセスを管理できます。TDEのマスター暗号化キーは、外部セキュリティ・モジュール(暗号化ウォレットまたはハードウェア・セキュリティ・モジュール(HSM))に格納されています。

この文は、キーワードALTERで始まりますが、ALTER SYSTEM SET ENCRYPTION WALLET文はDDL句ではありません。ただし、このような文はロールバックすることはできません。

この句はSETキーワードで始まりますが、初期化パラメータの値を設定するためにSETキーワードの使用を許可するalter_system_set_clauseと混同しないでください。ENCRYPTION WALLETは、初期化パラメータではありません。

OPEN 

この句を指定すると、指定したパスワードを使用して暗号化ウォレットが開かれてTDEマスター鍵がデータベース・メモリーにロードされるか(この鍵はインスタンスが存続している間有効)、HSMとの接続が確立されます(暗号化された表/表領域キーをHSMに送信して、復号化されたものを受け取るため)。

  • wallet_passwordを指定すると、暗号化ウォレットからマスター暗号化キーを取り出すことができます。暗号化ウォレットが使用できないか、すでに開いている場合は、データベースからエラーが戻ります。wallet_passwordは、二重引用符で囲む必要があります。

  • HSM_auth_stringを指定すると、HSMがアクセス可能になります。HSM_auth_stringの形式は"user_id:password"で、それぞれの意味は次のとおりです。

    • user_idは、HSM管理インタフェースを使用してデータベース用に作成されたユーザーIDです。

    • passwordは、HSM管理インタフェースを使用してユーザーIDに対して作成されたパスワードです。

    HSM_auth_stringを囲む二重引用符は必須です。

CLOSE この句を使用すると、データベースの暗号化と復号化を使用禁止にできます。暗号化ウォレットを閉じるには、wallet_passwordが必要です。HSMへのアクセスを禁止するには、HSM_auth_stringが必要です。HSM_auth_stringを指定する方法の詳細は、「OPEN」を参照してください。

自動オープン・ウォレットのみが存在する場合、自動オープン・ウォレットを閉じるためにパスワードは必要ありません。自動オープン・ウォレットと暗号化ウォレットの両方が開いている場合、自動オープン・ウォレットを閉じるためにパスワードが必要です。この場合、CLOSEでパスワードを指定すると、自動オープン・ウォレットと暗号化ウォレットが閉じます。


関連項目:

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

set_encryption_key

この句を使用すると、TDEマスター暗号化キーが存在しない場合に新規作成できます。既存のマスター鍵がHSMまたはウォレットにある場合は、この句を指定すると既存の表および表領域の新しいキーが生成され、したがってすべての表および表領域のキーが古いマスター鍵で復号化されて新しいマスター鍵で再度暗号化されます。

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

この句はSETキーワードで始まりますが、初期化パラメータの値を設定するためにSETキーワードの使用を許可するalter_system_set_clauseと混同しないでください。ENCRYPTION KEYは、初期化パラメータではありません。

IDENTIFIED BY wallet_password 

この句を指定すると、暗号化データにアクセスするためのTDEマスター暗号化キーが暗号化ウォレットからメモリーにロードされます。

  • certificate_idが必要になるのは、PKI非対称型鍵ペアをマスター暗号化キーとして使用する場合です。証明書を表す整数を指定します。この値を見つけるには、V$WALLET動的パフォーマンス・ビューのCERT_ID列を問い合せます。デフォルトである対称型鍵を使用する場合は、certificate_idを指定しないでください。

  • wallet_passwordには、セキュリティ・モジュールへの接続に使用するパスワードを指定します。

指定したcertificate_idまたはwallet_passwordが無効の場合は、データベース・エラーが戻されます。certificate_idおよびwallet_passwordを囲む二重引用符は必須です。

IDENTIFIED BY wallet_passwordの制限事項 PKIベースのマスター鍵(統合マスター暗号化キーもこれに含まれます)を使用できるのは、TDE列暗号化およびOracleウォレットと組み合せる場合のみであり、HSMとともに使用することはできません。

IDENTIFIED BY HSM_auth_string この句を指定すると、HSM内部に格納されるマスター暗号化キーが作成されます。マスター暗号化キーは、HSM内の表キーを暗号化または復号化するために使用されます。

HSM_auth_stringの形式は"user_id:password"で、それぞれの意味は次のとおりです。

  • user_idは、HSM管理インタフェースを使用してデータベース用に作成されたユーザーIDです。

  • passwordは、HSM管理インタフェースを使用してユーザーIDに対して作成されたパスワードです。

HSM_auth_stringを囲む二重引用符は必須です。

すでに透過的データ暗号化をOracleウォレットとともに使用している場合に、HSMに移行するには、MIGRATE USING wallet_password句を指定します。これによって、既存の表/表領域キーがいったん復号化され、新規作成されたHSMベースのマスター暗号化キーを使用して再び暗号化されます。暗号化ウォレットはHSMへの移行後も使用されることに注意してください(このウォレットには、エクスポート・ファイルやRMANバックアップに、あるいは一時またはUNDO表領域やREDOログ・ファイル内の暗号化データに使用されたマスター暗号化キーが格納されている可能性があるため)。移行後に、次のいずれかの手順を実行します。

  • ウォレット・パスワードをHSM_auth_stringに変更します(変更するにはOracle Wallet Managerまたはorapkiコマンドライン・ツールを使用)。

  • ローカルの自動オープン・ウォレットを暗号化ウォレットから作成し、その後で、暗号化ウォレットの名前を変更するか、sqlnet.oraENCRYPTION_WALLET_LOCATIONで指定されたディレクトリの外に移動します。暗号化ウォレットを削除したり、ウォレット・パスワードを忘れないよう注意してください。


関連項目:

  • サーバー・ウォレットと暗号化キーの使用方法およびデータの透過的暗号化の詳細は、『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列を問い合せます。

  • IMMEDIATEを指定した場合、ディスパッチャは新しい接続の受入れをすぐに中止し、そのディスパッチャによる既存の接続はすべて終了されます。すべてのセッションがクリーンアップされてから、ディスパッチャ・プロセスは停止します。

  • IMMEDIATEを指定しない場合、ディスパッチャは新しい接続の受入れをすぐに中止しますが、すべてのユーザーが切断し、すべてのデータベース・リンクが終了されるのを待ちます。その後、ディスパッチャは停止されます。

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つのカテゴリに分類されます。

  • 基本パラメータ: データベース管理者は、すべての基本パラメータについて熟知し、これらのパラメータの設定を考慮する必要があります。

  • 機能のカテゴリ: 『Oracle Databaseリファレンス』には、初期化パラメータが機能のカテゴリ別にも示されています。

  • アルファベット順: 『Oracle Databaseリファレンス』の目次には、すべての初期化パラメータがアルファベット順に示されています。

初期化パラメータ値を変更する権限は、従来のプレーン・テキストの初期化パラメータ・ファイル(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)かによって異なります。

  • MEMORYを指定すると、変更がメモリーで行われ、すぐに有効になり、データベースが停止するまで持続されます。パラメータ・ファイル(pfile)を使用してデータベースを起動した場合、この有効範囲のみを指定できます。

  • SPFILEを指定すると、変更がサーバー・パラメータ・ファイルで行われます。新しい設定は、データベースが次に停止し、再起動されたときに有効になります。『Oracle Databaseリファレンス』に変更不可能と示されている静的パラメータ値を変更する場合は、SPFILEを指定する必要があります。

  • BOTHを指定すると、変更がメモリーとサーバー・パラメータ・ファイルの両方で行われます。新しい設定はすぐに有効になり、データベースが停止し、再起動された後も持続します。

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

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

  • このパラメータがまだ明示的に設定されていないすべてのインスタンスに対してパラメータ値をOracle Databaseで変更する場合は、SID = '*'を指定します。

  • sidのインスタンスのみでパラメータ値を変更する場合、SID = 'sid'を指定します。この設定は、SID = '*'を指定する前後のALTER SYSTEM SET文より優先されます。

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

  • pfile(従来のプレーン・テキストの初期化パラメータ・ファイル)を使用してインスタンスを起動する場合、現行のインスタンスのSIDを指定したとみなされます。

  • spfile(サーバー・パラメータ・ファイル)を使用してインスタンスを起動する場合、SID = '*'を指定したとみなされます。

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


関連項目:

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

USE_STORED_OUTLINES句

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

  • TRUEに設定すると、要求をコンパイルするときに、オプティマイザはDEFAULTカテゴリのストアド・アウトラインを使用します。

  • FALSEに設定すると、オプティマイザはストアド・アウトラインを使用しません。これはデフォルトです。

  • category_nameに設定すると、要求をコンパイルするときに、オプティマイザはcategory_nameカテゴリのストアド・アウトラインを使用します。

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パラメータを設定し、インスタンスの実行中に次の操作のいずれかを実行できます。

  • 共有サーバー・プロセスの最小値を増やして、追加の共有サーバー・プロセスを作成します。

  • 現行のコールが処理を終了した後、既存の共有サーバー・プロセスを終了します。

  • 特定のプロトコルに対するディスパッチャ・プロセスをより多く作成します。プロトコル全体で、初期化パラメータMAX_DISPATCHERSによって指定される数まで作成できます。

  • 現行のユーザー・プロセスがインスタンスから切断した後、特定のプロトコルに対する既存のディスパッチャ・プロセスを終了します。

alter_system_reset_clause

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

SID句を使用すると、指定したインスタンスのspfileパラメータ設定を削除できます。Oracle RACを使用しない環境では、インスタンスは1つのみであるため、この句を省略できます。Oracle 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 "password";
ALTER SYSTEM SET ENCRYPTION KEY IDENTIFIED BY "password"; 

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

ウォレットを閉じる例: 次の文を使用すると、パスワードベースのウォレット情報をメモリーから削除できます。

ALTER SYSTEM SET ENCRYPTION WALLET CLOSE IDENTIFIED BY "password";

次の文を使用すると、パスワードベースのウォレット情報および自動ログイン情報(存在する場合)をメモリーから削除できます。

ALTER SYSTEM SET ENCRYPTION WALLET CLOSE;

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

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ログ・ファイル・グループまたはそのメンバーの削除や名前の変更を行う場合です(Oracle Databaseが書き込んでいるファイルの削除や名前変更はできないため)。強制ログ・スイッチの影響を受けるのは、このインスタンスの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;