AppSync:如果在装载主机上启动容器数据库 (CDB) 时 PDB 打开,则在恢复时重命名 Oracle 可插拔数据库 (PDB) 会失败。

摘要: 如果在装载主机上启动容器数据库 (CDB) 时 PDB 打开,则在恢复时重命名 Oracle 可插拔数据库 (PDB) 会失败。

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

症状

当 AppSync 必须在恢复期间重命名 Oracle PDB(例如添加前缀)时,如果在装载主机上启动 CDB 时 PDB 自动打开,则重命名会失败。

服务计划事件显示:

Recover copy,94790a69-c3f8-4509-a5b2-b71bd9981796,ORCL_000042,asServer<>,一个或多个数据库无法恢复。检查服务器和代理程序日志以了解详细信息。
Recover copy,94790a69-c3f8-4509-a5b2-b71bd9981796,ORCL_000185,asServer,AppSync<> failed to recover one or more Pluggable database for Container database NEWCDBDB.Recovery failed during Pluggable database Open and Rename.

装载主机上使用以下后缀命名的 AppSync 插件程序日志显示:_dropAndOpenPluggableDatabase.log

oracle.py[5136]:_execSql() SQLresult: Connected to:
oracle.py[5136]:_execSql() SQLresult: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
oracle.py[5136]:_execSql() SQLresult: Version 19.12.0.0.0
oracle.py[5136]:_execSql() SQLresult: 
oracle.py[5136]:_execSql() SQLresult: SQL> SQL> alter pluggable database all OPEN RESTRICTED
oracle.py[5136]:_execSql() SQLresult:*
oracle.py[5136]:_execSql() SQLresult: ERROR at line 1:
oracle.py[5136]:_execSql() SQLresult: ORA-65019: pluggable database ORIGPDB already open
oracle.py[5136]:_execSql() SQLresult: 
oracle.py[5136]:_execSql() SQLresult: 
oracle.py[5136]:_execSql() SQLresult: Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
oracle.py[5136]:_execSql() SQLresult: Version 19.12.0.0.0
oracle.py[5139]:_execSql() Error:Raising SQLPlusException
oracle.py[3297]:dropAndOpenPluggableDatabase() Error:An error occurred with CDB NEWCDBDB
oracle.py[3298]:dropAndOpenPluggableDatabase() Error:An error occurred while renaming pdb

原因

当 CDB 启动时,PDB 会自动打开,导致 AppSync 向 Oracle 提交的“alter pluggable database all OPEN RESTRICTED”命令失败。

在本文针对的特定事件中,当 CDB 由 dba_triggers 表中的触发器启动时,PDB 会自动打开。

解决方案

AppSync 4.4.0.0 存在修补程序。
致电服务请求时,请提及本文。

请参阅 4.4.0.0 之后的 AppSync 版本的发行说明,以确定是否包含修复。

其他信息

以下命令可能会有用:

用于显示 PDB 状态的 SQL 命令:
 
SQL> sho pdbs ;

  CON_ID CON_NAME OPEN MODE RESTRICTED

---------- ------------------------------ ---------- ---------- 2 PDB$SEED read only no 3
ORIGPDB READ WRITE NO

用于显示所有触发器的 SQL 命令:
 
SQL> select * from dba_triggers

诸如 owner='SYS' 之类的限定符可能会有用

产品

AppSync
文章属性
文章编号: 000197094
文章类型: Solution
上次修改时间: 13 5月 2026
版本:  5
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。