Oracle Restart 環境では、Grid Infrastructure によりリスナーやデータベース、ASM などのリソースが自動管理されます。
その中でも最も基本であり重要なコマンドが crsctl stat res -t です。
この記事では、Restart環境でのリソース監視・起動停止操作を安全に行うための知識と手順を、エラー例・図解つきで詳しく解説します。
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
✅ Oracle Restartとは?
Oracle Restart は、Oracle Grid Infrastructure を単一ノードに導入して、Oracleリソースを自動的に起動・停止・監視する機能です。
| 自動管理対象リソース | 代表例 |
|---|---|
| ASMインスタンス | ora.asm |
| ディスクグループ | ora.DATA.dg, ora.ARCH.dg |
| リスナー | ora.LISTENER.lsnr |
| データベース | ora.v19.db(SID = v19など) |
🔍 crsctl stat res -t の出力例と解説
[grid@restart ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.ARCH.dg ONLINE ONLINE restart STABLE
ora.DATA.dg ONLINE ONLINE restart STABLE
ora.LISTENER.lsnr ONLINE INTERMEDIATE restart Not All Endpoints Registered,STABLE
ora.asm ONLINE ONLINE restart Started,STABLE
ora.ons OFFLINE OFFLINE restart STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cssd ONLINE ONLINE restart STABLE
ora.diskmon OFFLINE OFFLINE STABLE
ora.evmd ONLINE ONLINE restart STABLE
ora.v19.db ONLINE ONLINE restart Open,HOME=/u01/app/oracle/product/19.0.0/dbhome_1,STABLE
--------------------------------------------------------------------------------
各カラムの意味
| カラム名 | 説明 |
|---|---|
| Name | リソース名(例:ora.v19.db、ora.DATA.dgなど) |
| Target | Grid Infrastructure が期待している状態(ONLINE / OFFLINE) |
| State | 現在の実際の状態(ONLINE / OFFLINE / INTERMEDIATE) |
| State details | 追加情報(例:Open、Started、STABLEなど) |
テキスト図:Restart構成の関係性
┌─────────────── Oracle Restart ───────────────┐
│ │
│ ┌──────────┐ │
│ │ ora.asm │────┐ │
│ └──────────┘ │ │
│ ┌────────────┐ ↓ ┌───────────────┐ │
│ │ ora.DATA.dg│──────→ │ ora.v19.db │ │
│ └────────────┘ └───────────────┘ │
│ ↑ │
│ ┌──────────────┐ │
│ │ ora.LISTENER │────────────┘
│ └──────────────┘
└──────────────────────────────────────────────┘
❌ crsctlでは停止できないリソースがある
たとえば、リスナーを crsctl で停止しようとすると、以下のエラーになります。
[grid@restart ~]$ crsctl stop res ora.LISTENER.lsnr
CRS-4995: crsctlではコマンド'Stop resource'は無効です。このコマンドではsrvctlを使用してください。
これは、crsctlがリソースの状態確認や属性取得を目的とするコマンドであり、起動/停止操作には向かないためです。
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
✅ 正しい操作方法:srvctl を使用しよう
Restart環境では、起動・停止・ステータス確認には srvctl を使用します。
| 操作内容 | 正しいコマンド例 | 実行ユーザー |
|---|---|---|
| リスナーの起動 | srvctl start listener | grid |
| リスナーの停止 | srvctl stop listener | grid |
| リスナーの確認 | srvctl status listener | grid |
| DBの起動 | srvctl start database -db v19 | oracle |
| DBの停止 | srvctl stop database -db v19 | oracle |
| DBのステータス確認 | srvctl status database -db v19 | oracle |
💡
-dbオプションには、Grid Infrastructureに登録されているデータベース名(例:v19)を指定します。ORACLE_SIDではない点に注意!
⚠️ よくある誤操作とリスク
| 誤った操作 | 起こりうる問題 |
|---|---|
sqlplus / as sysdba で shutdown | GIとの整合性が崩れ、リソース状態が不一致になる恐れ |
crsctl stop res ora.v19.db | CRS-4995 エラーとなり停止できない |
psコマンドなどで強制kill | データ損失やリカバリが必要になる場合がある |
📌 実務で便利なcrsctlコマンド
| 操作 | コマンド例 |
|---|---|
| リソース一覧表示 | crsctl stat res -t |
| 個別リソースの詳細確認 | crsctl stat res ora.v19.db -p |
| GIのバージョン確認 | crsctl query crs softwareversion |
✅ まとめ
- Oracle Restartでは、起動・停止は
srvctl、状態確認はcrsctl。 crsctl stop resではリスナーやDBは止まらない →srvctlを使う。sqlplusでの直接操作は避け、GIの整合性を保つことが安定運用の鍵。
[参考]
Clusterware管理およびデプロイメント・ガイド




コメント