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
- Background and Basics: Why is “srvctl” Management the Standard since 21c?
- Implementation: PDB Status Verification and Control Flow
- Troubleshooting: Representative Errors and Resolutions
- Operational and Security Notes
- FAQ: Frequently Asked Questions
- Summary
Conclusion: “Shortest Procedure Checklist” for PDB Management
This is a list of operations for immediate use in practice, optimized for quick reference.
- Status Verification:
/u01/app/23.0.0/grid/bin/crsctl stat res ora.<db>.<pdb>.pdb -t - Stopping the PDB:
srvctl stop pdb -db <db> -pdb <pdb> - Starting the PDB:
srvctl start pdb -db <db> -pdb <pdb> - Detailed Confirmation: Execute
show pdbsin 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).
| Item | Standard for 19c and earlier | Standard for 21c / 23ai / 26ai |
|---|---|---|
| Control Command | SQL statement (ALTER PLUGGABLE...) | srvctl start/stop pdb |
| CRS Resource | None (Only services registered) | Yes (ora.<db>.<pdb>.pdb) |
| Management Unit | CDB or Service level | Direct 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:
oracleuser (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
| Situation | Cause | Resolution |
|---|---|---|
| PRCD-1131 / 1120 | Specified PDB does not exist or CDB is stopped | Verify CDB operation with srvctl status database. |
| CRS-2674 | Failed to stop resource | Consider stop pdb -force if sessions remain. |
| Inconsistency | State mismatch due to manual SQL operations | Execute 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
srvctlis 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).



コメント