Oracle管理者のためのSQLリファレンス
■データベースの停止(SQL*Plus版)
SQL*Plusを使ってOracleデータベースのインスタンスを停止するには、SYSDBAあるいはSYSOPERシステム権限でOracleデータベースに接続し、SHUTDOWNコマンドを発行します。データベースの停止には、「NORMAL」「IMMEDIATE」「TRANSACTIONAL」「ABORT」という4つの停止モードがあり、状況に合わせて使い分けます。(SQLの表記ルールは、こちらから参照できます)
データベース停止の準備 |
SQLPLUS /NOLOG |
┗ |
手順1 まず、データベースに接続せずに、SQL*Plus
を起動します。コマンドラインから「/NOLOG」オプションを付けてSQLPLUSコマンドを発行します。 |
CONNECT username/password AS
[SYSDBA | SYSOPER] |
┗ |
手順2 SQL*Plusセッションを起動したら、管理者アカウント(デフォルトではsysまたはsystem)として、SYSDBA(あるいはSYSOPER)システム権限でOracleデータベースに接続します。これで、データベース・インスタンスを停止する準備が完了します。 |
関連項目:権限を確認する |
IMMEDIATEモードによるデータベースの停止 |
SHUTDOWN IMMEDIATE |
┗ |
データベースを即時停止するには、SHUTDOWNコマンドでIMMEDIATE句を指定します。IMMEDIATEモードでは、SHUTDOWNコマンドが発行された後は新しい接続や新しいトランザクションの開始は許可されません。また、コミットされていないトランザクションはすべてロールバックされます。現在データベースに接続しているユーザーが切断されるのを待機せず、直ちにデータベースは停止します。アクティブなトランザクションは暗黙的にロールバックされ、接続中のユーザーはすべて切断されます。次にデータベースを起動する際、インスタンス・リカバリの手順は必要ありません。 |
関連項目:NORMALモードによるデータベースの停止 TRANSACTIONALモードによるデータベースの停止 ABORTモードによるデータベースの停止 |
TRANSACTIONALモードによるデータベースの停止 |
SHUTDOWN TRANSACTIONAL |
┗ |
アクティブなトランザクションを完了してからインスタンスを停止するには、SHUTDOWNコマンドでTRANSACTIONAL句を指定します。TRANSACTIONALモードでは、SHUTDOWNコマンドが発行された後は新しい接続や新しいトランザクションの開始は許可されません。すべてのトランザクションが完了すると、インスタンスに接続されているすべてのクライアントが切断され、データベースは停止します。次にデータベースを起動する際、インスタンス・リカバリの手順は必要ありません。 |
関連項目:NORMALモードによるデータベースの停止 IMMEDIATEモードによるデータベースの停止 ABORTモードによるデータベースの停止 |
ABORTモードによるデータベースの停止 |
SHUTDOWN ABORT |
┗ |
データベース・インスタンスを強制終了することで、データベースを直ちに停止するには、SHUTDOWNコマンドでABORT句を指定します。このモードでの停止は、データベースまたはデータベース・アプリケーションの一部が異常に動作しており、ほかの停止モードがどれも機能しない場合に使用します。SHUTDOWNコマンドが発行された後は、新しい接続や新しいトランザクションの開始は許可されず、処理されている現行のクライアントSQL文は直ちに終了し、コミットされていないトランザクションはロールバックされません。また、現在データベースに接続しているユーザーが切断されるのを待機しません。接続中のユーザーはすべて暗黙的に切断されます。次にデータベースを起動する際、インスタンス・リカバリの手順が必要になります。 |
関連項目:NORMALモードによるデータベースの停止 IMMEDIATEモードによるデータベースの停止 TRANSACTIONALモードによるデータベースの停止 |
Database Expert フォーラム 新着記事
Database Expert 記事ランキング
本日月間