Oracle Restart環境における crsctl stat res -t の見方と crsctl/srvctl の正しい使い分け

Oracle Master Gold

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.dbora.DATA.dgなど)
TargetGrid 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 listenergrid
リスナーの停止srvctl stop listenergrid
リスナーの確認srvctl status listenergrid
DBの起動srvctl start database -db v19oracle
DBの停止srvctl stop database -db v19oracle
DBのステータス確認srvctl status database -db v19oracle

💡 -db オプションには、Grid Infrastructureに登録されているデータベース名(例:v19)を指定します。
ORACLE_SIDではない点に注意!


⚠️ よくある誤操作とリスク

誤った操作起こりうる問題
sqlplus / as sysdba で shutdownGIとの整合性が崩れ、リソース状態が不一致になる恐れ
crsctl stop res ora.v19.dbCRS-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管理およびデプロイメント・ガイド

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?

コメント

タイトルとURLをコピーしました