ORACLEMASTER 備忘録5(4/8)
続き
インスタンスの起動・停止を実行できる権限
インスタンスを起動・停止するには、次の特別な管理権限を付与されているユーザーでデータベースへ接続する必要がある。
・SYSDBA:データベースを完全に制御できる。
・SYSOPER:インスタンスの起動・停止は実行できるが、ユーザーのオブジェクトへのアクセス権は付与されない。
SYSDBAまたはSYSOPER権限を指定してデータベースに接続する場合には次のように指定する。
connect ユーザー名/パスワード AS{SYSOPER | SYSDBA}
データベースの作成時には初期管理者として「SYS」と「SYSTEM」が登録さており、そのうち“SYSユーザーにはデフォルトでSYSDBA権限が付与される”。
SYSユーザーでSYSDBA権限を指定して接続する際のコマンドは以下のようになる。
connect sys/パスワード AS SYSDBA
SYSユーザーはOracleデータベースの管理情報である「データディクショナリ」の所有者であるため、データディクショナリの表に対する権限は無制限となるが、データディクショナリの表を手動で変更しないように注意する。
日常の管理作業でこのアカウントを使用することはセキュリティ面で好ましくない。SYSユーザーを使用するのは、別の管理者ユーザーを作成する場合などに限定したほうが望ましい。
インスタンスの停止
インスタンスを停止するには、起動時と同様に以下の方法はある。
・SQL*Plusから“SHUTDOWN”コマンドを実行する。
・Windowsサービスプログラムを使用する(OSがWindowsの場合)。
SQL*Plusによるコマンドライン操作の代わりに、次のGUIツールを使用することもできる。
・SQL Developerを使用する。
・Enterprise Manager Cloud Controlを使用する。
インスタンスが停止するまでの流れ
オープン状態のデータベースが一貫性のある状態で停止するとき(正常終了するとき)は、次のように処理が進む。
- データベースのクローズ(OPEN状態→CLOSED状態)
チェックポイントが発生し、SGA内のデータが“データファイル”および“オンラインREDOログファイル”に書き込まれ、データファイルとオンラインREDOログファイルがクローズされる。“制御ファイルはオープンしたまま”。
- データベースのアマウント(CLOSED状態→DISMOUNT状態)
データベースの制御ファイルがクローズされ、“データベースがアマウント”されてインスタンスから切り離される。“インスタンスは起動したまま”。
- インスタンスの停止(DISMOUNT状態→SHUTDOWN状態)
“バックグラウンドプロセスが終了し”、SGAが使用している“共有メモリーの割り当てが解除され”、インスタンスが停止する。
なお、インスタンスに障害が発生した場合や「SHUTDOWN ABORT」でインスタンスを緊急停止した場合は、クローズとアマウントが行われず、インスタンスが即時停止する(異常終了)。