COL: CSS:



Oracle Database の制御 (起動と停止)

Oracle Enterprise Mana..Oracle Database の制御..

Oracle Database を起動する

Oracle Database は,SQL*Plus / Enterprise Manager を使用して起動することができる。

データベースの起動 / 停止ができるのは,データベース管理者権限 (SYSDBA / SYSOPER) を所有するユーザに限られる。

データベースの起動状態には以下の 4 段階のフェーズがあり,完全にデータベースが起動 (OPEN の状態) するまでに SHUTDOWN / NOMOUNT / MOUNT / OPEN と段階を経て,パラメータ値やファイルを読み込む作業が内部的に行われている。また,各状態毎にデータベースに対して行える管理操作が異なる。特定のフェーズまでの起動で意図的に留めたい場合は,下表の “起動コマンド”を SQL*Plus で入力する。※ 引数なしで startup とだけ入力した場合,OPEN で起動する。

Table040201: Database の起動フェーズ一覧
DB のフェーズ起動コマンドフェーズ遷移に必要なもの可能な操作内容 (一部)
SHUTDOWN----- PFILE (init.ora) の編集
NOMOUNTstartup nomount初期化パラメータファイル- データベースの作成
- 制御ファイルの再作成
MOUNTstartup mount初期化パラメータファイルのパラメータ CONTROL_FILES- 各表領域のファイル名変更
- REDO ログアーカイブの有効 / 無効設定
- データベースのリカバリ
OPENstartup open
startup
制御ファイル- オフライン表領域のファイル名変更
- データベースの部分的なリカバリ

Oracle Database は,startup コマンドで NOMOUNT で起動するとき,デフォルトパス上にある初期化パラメータファイル名を以下の順番で検索し,初期化パラメータファイルを特定する。

  1. spfileSID.ora
  2. spfile.ora
  3. initSID.ora

読み込ませる初期化パラメータファイルを特定のものに指定したいときは,以下のように startup コマンドの第 1 引数として直接ファイル名を指定することもできる。

/* Code040201: 初期パラメータファイルを指定した Oracle Database の起動 */

startup pfile=/u01/oracle/dbs/init.ora open

Oracle Database を停止する

SQL*Plus の SHUTDOWN コマンドでデータベースを停止することができる。4 種類の停止コマンドがあり,それぞれ停止までの即時性の強度が異なる。以下に一覧を載せる。

Table: 040202: Database の停止方法一覧
停止方法停止コマンド停止の強度 / その他
NORMALshutdown normal- 新規接続: NG
- 進行中セッション: 待機
- 進行中トランザクション: 待機
- 強制チェックポイント付加: 待機
接続中の全てのユーザが切断するするのを待機してからデータベースを終了する。コマンド実行後,データベースが終了するまでの間に,ユーザが新規接続することはできない。
TRANSACTIONALshutdown transactional- 新規接続: NG
- 進行中セッション: 強制終了
- 進行中トランザクション: 待機
- 強制チェックポイント付加: 待機
処理進行中の全てのトランザクションが終了するまで待機してからデータベースを終了する。進行中のトランザクションが終了すると,そのユーザへのセッションが切断される。コマンド実行後の新規トランザクション発行はできない。
IMMEDIATEshutdown immediate- 新規接続: NG
- 進行中セッション: 強制終了
- 進行中トランザクション: 強制終了
- 強制チェックポイント付加: 待機
処理進行中のトランザクション終了を待つことなくデータベースを終了する。進行中のトランザクションはロールバックされる。全ユーザのセッションが切断される。
ABORTshutdown abort- 新規接続: NG
- 進行中セッション: 強制終了
- 進行中トランザクション: 強制終了
- 強制チェックポイント付加: 強制終了
処理進行中の SQL 文の終了を待つことなくデータベースを即時終了する。未コミットのトランザクションはロールバックされない。ABORT は終了時にチェックポイントが発生せず,キャッシュ情報がディスクに書き込まれる前に終了するため,次回データベース起動時にインスタンス・リカバリが実行される。