Oracle RAC 26ai PDB srvctl Management Guide: New Standards for PDB Start/Stop

26ai_en

Starting with Oracle Database 21c, it has become possible to control Pluggable Databases (PDBs) directly using the srvctl command. While SQL statements were traditionally the mainstream method, this article explains the procedures for “Oracle PDB Start/Stop” commands that have become established in Oracle 26ai (AI Database), based on actual srvctl pdb system logs. Operations in RAC environments have evolved dramatically through Cluster Ready Services (CRS) resource management.

Conclusion: “Shortest Procedure Checklist” for PDB Management

This is a list of operations for immediate use in practice, optimized for quick reference.

  1. Status Verification: /u01/app/23.0.0/grid/bin/crsctl stat res ora.<db>.<pdb>.pdb -t
  2. Stopping the PDB: srvctl stop pdb -db <db> -pdb <pdb>
  3. Starting the PDB: srvctl start pdb -db <db> -pdb <pdb>
  4. Detailed Confirmation: Execute show pdbs in SQL*Plus to verify synchronization status.

Background and Basics: Why is “srvctl” Management the Standard since 21c?

In “Administration of Database Instances and Cluster Databases,” starting with 21c, the PDB was promoted to an “independent cluster resource” directly monitored and controlled by Oracle Grid Infrastructure (GI).

ItemStandard for 19c and earlierStandard for 21c / 23ai / 26ai
Control CommandSQL statement (ALTER PLUGGABLE...)srvctl start/stop pdb
CRS ResourceNone (Only services registered)Yes (ora.<db>.<pdb>.pdb)
Management UnitCDB or Service levelDirect control at the PDB level

Up to 19c, the SAVE STATE clause was used to automatically open PDBs when the CDB started. However, from 21c onwards, GI maintains the resource state, allowing for more OS-friendly and robust operations.

Implementation: PDB Status Verification and Control Flow

The following behavior is confirmed based on actual system logs in the latest 26ai environment (version 23.26.1).

1. Prerequisite Verification

  • Target OS: Oracle Linux 8/9 (RAC Configuration)
  • Version: Oracle AI Database 26ai (Actual: 23.26.1.0.0)
  • Permissions: oracle user (GI/DB environment variables must be set)
  • Configuration: CDB name: orcl / PDB name: pdb01

2. Verification of CRS Resource Status

From 21c onwards, a CRS resource is automatically created when a PDB is created. First, check the current status.

# Use crsctl from the Grid Home to check the PDB status collectively
/u01/app/23.0.0/grid/bin/crsctl stat res ora.orcl.pdb01.pdb -t

Example: Validation Logs on Actual 26ai System

Situation A: Initial State (ONLINE)

The PDB is in READ WRITE and ONLINE status on all nodes. The status details show STABLE.

[oracle@rac-26ai1 ~]$ /u01/app/23.0.0/grid/bin/crsctl stat res ora.orcl.pdb01.pdb -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.orcl.pdb01.pdb
1 ONLINE ONLINE rac-26ai1 READ WRITE,STABLE
2 ONLINE ONLINE rac-26ai2 READ WRITE,STABLE
--------------------------------------------------------------------------------
[oracle@rac-26ai1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 23.26.1.0.0 - Production on Fri Feb 13 19:47:41 2026
Version 23.26.1.0.0

Copyright (c) 1982, 2025, Oracle. All rights reserved.


Connected to:
Oracle AI Database 26ai Enterprise Edition Release 23.26.1.0.0 - Production
Version 23.26.1.0.0

SQL> show pdbs

CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB01 READ WRITE NO

Situation B: Stopping the PDB via srvctl

Issue srvctl stop pdb. There is no need to issue individual commands on the SQL*Plus side.

[oracle@rac-26ai1 ~]$ srvctl stop pdb -db orcl -pdb pdb01
[oracle@rac-26ai1 ~]$ /u01/app/23.0.0/grid/bin/crsctl stat res ora.orcl.pdb01.pdb -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.orcl.pdb01.pdb
1 OFFLINE OFFLINE MOUNTED,STABLE
2 OFFLINE OFFLINE MOUNTED,STABLE
--------------------------------------------------------------------------------

Synchronization Verification in SQL*Plus:

[oracle@rac-26ai1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 23.26.1.0.0 - Production on Fri Feb 13 19:50:52 2026
Version 23.26.1.0.0

Copyright (c) 1982, 2025, Oracle. All rights reserved.


Connected to:
Oracle AI Database 26ai Enterprise Edition Release 23.26.1.0.0 - Production
Version 23.26.1.0.0

SQL> show pdbs

CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB01 MOUNTED

Situation C: Restarting the PDB via srvctl

Execute srvctl start pdb again to open it across the entire cluster.

[oracle@rac-26ai1 ~]$ srvctl start pdb -db orcl -pdb pdb01
[oracle@rac-26ai1 ~]$ /u01/app/23.0.0/grid/bin/crsctl stat res ora.orcl.pdb01.pdb -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.orcl.pdb01.pdb
1 ONLINE ONLINE rac-26ai1 READ WRITE,STABLE
2 ONLINE ONLINE rac-26ai2 READ WRITE,STABLE
--------------------------------------------------------------------------------
[oracle@rac-26ai1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 23.26.1.0.0 - Production on Fri Feb 13 19:52:28 2026
Version 23.26.1.0.0

Copyright (c) 1982, 2025, Oracle. All rights reserved.


Connected to:
Oracle AI Database 26ai Enterprise Edition Release 23.26.1.0.0 - Production
Version 23.26.1.0.0

SQL> show pdbs

CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB01 READ WRITE NO

Troubleshooting: Representative Errors and Resolutions

SituationCauseResolution
PRCD-1131 / 1120Specified PDB does not exist or CDB is stoppedVerify CDB operation with srvctl status database.
CRS-2674Failed to stop resourceConsider stop pdb -force if sessions remain.
InconsistencyState mismatch due to manual SQL operationsExecute srvctl stop and then start again to synchronize.

Operational and Security Notes

  • Unification of Management Operations (Prevention of Inconsistency): In environments from 21c onwards, unify management operations using srvctl.
    • Risk: If a PDB is closed using manual SQL statements, GI may judge it as an “abnormal termination” and automatically attempt to restart (open) it.
    • Benefit: Since PDBs can be opened or closed simultaneously on all RAC nodes, operational errors during patch application or batch processing can be drastically reduced.

FAQ: Frequently Asked Questions

Q1. This isn’t in manuals prior to 21c? A1. Correct. srvctl start/stop pdb is a command introduced in Oracle Database 21c. It cannot be executed in 19c and earlier because the pdb object does not exist in srvctl.

Q2. Can I open the PDB only on a specific node? A2. Yes. By adding the -node <node_name> option, you can control starting and stopping only on the specified node.

Q3. Is this available in single-instance (non-RAC) configurations? A3. Yes. If Oracle Restart (GI for standalone servers) is configured, similar management is possible from 21c onwards.

Summary

  • From 21c onwards, PDBs can be controlled directly and collectively using srvctl start/stop pdb.
  • Through CRS Resourcification, health monitoring and automatic recovery at the PDB level have become standard.
  • In 26ai / 23ai environments, management via srvctl is the best practice over SQL statements.

[reference]
Administering Database Instances and Cluster Databases

This article explains the process targeting Oracle Database 21c / 23ai / 26ai (it will not function in environments 19c and earlier).

コメント

Copied title and URL