
本文示例采用以下命名:
示例中的数据文件目录、口令、服务名和 RAC 实例名必须根据实际环境修改。涉及删除、插拔、移动、恢复的命令应先在测试环境验证,并纳入生产变更流程。

Oracle 19c 的 CDB 至少包含以下容器:
| 容器 | 作用 | 运维注意事项 |
|---|---|---|
| CDB$ROOT | 保存 Oracle 提供的元数据、公共用户和公共权限 | 不要在根容器中创建业务表和业务用户 |
| PDB$SEED | 创建普通 PDB 的只读模板 | 不应作为业务库使用 |
| xfpdb | 用户创建的 PDB,承载业务数据 | 应用必须通过 PDB 服务连接 |
PDB 对应用看起来像一套独立数据库,但多个 PDB 共享 CDB 实例、SGA、后台进程、控制文件和联机日志。数据字典、用户数据和部分参数则按容器隔离。
生产操作中最常见的错误不是 SQL 语法问题,而是在错误的容器中执行了正确命令。因此,登录后的第一步应当是确认当前容器。
执行位置:任意容器。
SQL@xfcdb >SELECT name, cdb, con_id, open_modeFROM v$database;
当 CDB 列为 YES 时,当前数据库采用 CDB 架构。
SQL@xfcdb >SHOW CON_NAME;
SQL@xfcdb >SELECT sys_context('USERENV', 'DB_NAME') AS db_name,
sys_context('USERENV', 'CON_NAME') AS con_name,
sys_context('USERENV', 'CON_ID') AS con_idFROM dual;
执行位置:CDB$ROOT。
SHOW PDBS; SQL@xfcdb >SELECT con_id, name, open_mode, restricted, open_time, recovery_statusFROM v$pdbsORDER BY con_id;
常见的 OPEN_MODE:
公共用户具备 SET CONTAINER 权限后,可以在同一会话中切换容器。
SQL@xfcdb >ALTER SESSION SET CONTAINER = xfpdb;SHOW CON_NAME; SQL@xfcdb >ALTER SESSION SET CONTAINER = CDB$ROOT;SHOW CON_NAME;
本地用户只能连接其所属 PDB,不能通过 ALTER SESSION 切换到其他容器。
sqlplus / as sysdba STARTUP;
CDB 启动后,CDBROOT 会打开,PDBSEED 通常以只读方式打开。用户 PDB 默认可能仍处于 MOUNTED 状态。
执行位置:CDB$ROOT。
SQL@xfcdb >ALTER PLUGGABLE DATABASE xfpdb OPEN READ WRITE;
打开后检查:
SQL@xfcdb >SELECT name, open_mode, restrictedFROM v$pdbsWHERE name = 'XFPDB';
SQL@xfcdb >ALTER PLUGGABLE DATABASE xfpdb CLOSE IMMEDIATE; SQL@xfcdb >ALTER PLUGGABLE DATABASE xfpdb OPEN READ ONLY; SQL@xfcdb >ALTER PLUGGABLE DATABASE xfpdb CLOSE IMMEDIATE; SQL@xfcdb >ALTER PLUGGABLE DATABASE xfpdb OPEN READ WRITE RESTRICTED;
SQL@xfcdb >ALTER PLUGGABLE DATABASE xfpdb CLOSE IMMEDIATE;
如果当前会话已经连接到 xfpdb,也可以执行:
SQL@xfcdb >ALTER PLUGGABLE DATABASE CLOSE IMMEDIATE;
SQL@xfcdb >ALTER PLUGGABLE DATABASE ALL OPEN; SQL@xfcdb >ALTER PLUGGABLE DATABASE ALL EXCEPT xfpdb1, xfpdb2 OPEN;ALTER PLUGGABLE DATABASE ALL CLOSE IMMEDIATE;
PDB 打开后,如果没有保存状态,CDB 重启后它通常会回到 MOUNTED。
SQL@xfcdb >ALTER PLUGGABLE DATABASE xfpdb SAVE STATE;
检查保存状态:
SQL@xfcdb >SELECT con_name, instance_name, stateFROM dba_pdb_saved_statesORDER BY con_name, instance_name;
取消保存:
SQL@xfcdb >ALTER PLUGGABLE DATABASE xfpdb DISCARD STATE;
RAC 环境中 PDB 打开状态与实例有关。使用 SAVE STATE 前应明确 PDB 计划在哪些实例打开,服务也应由 SRVCTL 统一管理。
执行位置:CDB$ROOT。
SQL@xfcdb >SHOW CON_NAME;
SQL@xfcdb >SELECT name, valueFROM v$parameterWHERE name IN ('db_create_file_dest', 'pdb_file_name_convert');
SQL@xfcdb >SELECT con_id, file_nameFROM cdb_data_filesWHERE con_id = 2ORDER BY file_id;
如果配置了 DB_CREATE_FILE_DEST,优先使用 Oracle Managed Files。没有使用 OMF 时,应确认 PDB$SEED 的实际目录,再设置 FILE_NAME_CONVERT。
SQL@xfcdb >CREATE PLUGGABLE DATABASE xfpdb ADMIN USER xfpdb_admin IDENTIFIED BY "<password>" ROLES = (DBA); SQL@xfcdb >ALTER PLUGGABLE DATABASE xfpdb OPEN READ WRITE; SQL@xfcdb >ALTER PLUGGABLE DATABASE xfpdb SAVE STATE;
示例为便于演示给 PDB 管理员授予 DBA 角色。生产环境应根据职责收敛权限,并使用符合单位口令策略的密码。
SQL@xfcdb >CREATE PLUGGABLE DATABASE xfpdb ADMIN USER xfpdb_admin IDENTIFIED BY <password>
ROLES = (DBA) FILE_NAME_CONVERT =
('/u01/oradata/xfcdb/pdbseed/', '/u01/oradata/xfcdb/xfpdb/');
SQL@xfcdb >ALTER PLUGGABLE DATABASE xfpdb OPEN READ WRITE;
SQL@xfcdb >ALTER PLUGGABLE DATABASE xfpdb SAVE STATE;
不要直接照抄示例路径。先查询 PDB$SEED 文件位置,并确认目标目录、文件系统空间和属主权限。
SQL@xfcdb >SELECT pdb_id, pdb_name, status, creation_timeFROM cdb_pdbsWHERE pdb_name = 'XFPDB'; SQL@xfcdb >SELECT con_id, tablespace_name, file_name, bytes / 1024 / 1024 AS size_mbFROM cdb_data_filesWHERE con_id = ( SELECT con_id FROM v$pdbs WHERE name = 'XFPDB' )ORDER BY tablespace_name, file_name;
新建 PDB 必须至少打开一次 READ WRITE,Oracle 才能完成与 CDB 的集成。
SQL@xfcdb >ALTER PLUGGABLE DATABASE xfpdb CLOSE IMMEDIATE; SQL@xfcdb >DROP PLUGGABLE DATABASE xfpdb KEEP DATAFILES;
KEEP DATAFILES 只从 CDB 中移除 PDB 元数据,数据文件仍保留,可用于后续重新插入。
SQL@xfcdb >ALTER PLUGGABLE DATABASE xfpdb CLOSE IMMEDIATE; SQL@xfcdb >DROP PLUGGABLE DATABASE xfpdb INCLUDING DATAFILES;
INCLUDING DATAFILES 会删除 PDB 数据文件,属于高风险操作。 执行前应确认备份、PDB 名称、容器、文件位置和审批单,不能只凭命令历史直接执行。
热克隆、在线迁移以及部分 PDB 级恢复能力依赖 Local Undo。
执行位置:CDB$ROOT。
SQL@xfcdb >SELECT property_name, property_valueFROM database_propertiesWHERE property_name = 'LOCAL_UNDO_ENABLED';
PROPERTY_VALUE 为 TRUE 表示启用了 Local Undo。
切换 Local Undo 模式需要维护窗口:
SQL@xfcdb >SHUTDOWN IMMEDIATE; SQL@xfcdb >STARTUP UPGRADE; SQL@xfcdb >ALTER DATABASE LOCAL UNDO ON; SQL@xfcdb >SHUTDOWN IMMEDIATE; SQL@xfcdb >STARTUP;
执行前应检查补丁级别、备份、PDB 状态和回退方案。RAC 环境还要按照集群停启流程操作。
执行位置:CDB$ROOT。
SQL@xfcdb >CREATE USER c##xf_admin IDENTIFIED BY <password> CONTAINER = ALL; SQL@xfcdb >GRANT CREATE SESSION, SET CONTAINER TO c##xf_admin CONTAINER = ALL;
公共用户默认以 C## 开头。CONTAINER=ALL 表示公共授权适用于当前及后续容器。
执行位置:xfpdb。
SQL@xfcdb >ALTER SESSION SET CONTAINER = xfpdb; SQL@xfcdb >CREATE USER xf_app IDENTIFIED BY <password> DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp QUOTA 10G ON users; SQL@xfcdb >GRANT CREATE SESSION, CREATE TABLE, CREATE VIEW, CREATE PROCEDURE, CREATE SEQUENCETO xf_app;
业务用户应建在 PDB 中。不要为了方便在 CDB$ROOT 创建业务 Schema,也不要默认给业务用户授予 DBA 或 UNLIMITED TABLESPACE。
执行位置:CDB$ROOT。
SQL@xfcdb >SELECT con_id, username, common, oracle_maintained, account_statusFROM cdb_usersWHERE username IN ('C##XF_ADMIN', 'XF_APP')ORDER BY con_id, username;
SQL@xfcdb >ALTER SESSION SET CONTAINER = xfpdb; SQL@xfcdb >CREATE TABLESPACE xf_data DATAFILE '/u01/oradata/xfcdb/xfpdb/xf_data01.dbf' SIZE 10G AUTOEXTEND ON NEXT 1G MAXSIZE 50G;
ASM 或 OMF 环境可省略具体文件名:
SQL@xfcdb >CREATE TABLESPACE xf_data DATAFILE SIZE 30G AUTOEXTEND OFF;
执行位置:CDB$ROOT。
SQL@xfcdb >SELECT c.name AS pdb_name, d.tablespace_name, ROUND(SUM(d.bytes) / 1024 / 1024 / 1024, 2) AS allocated_gbFROM cdb_data_files dJOIN v$containers c ON c.con_id = d.con_idGROUP BY c.name, d.tablespace_nameORDER BY c.name, d.tablespace_name;
SQL@xfcdb >SELECT name, value, ispdb_modifiableFROM v$system_parameterWHERE ispdb_modifiable = 'TRUE'ORDER BY name;
SQL@xfcdb >ALTER SESSION SET CONTAINER = xfpdb; SQL@xfcdb >ALTER SYSTEM SET ddl_lock_timeout = 30 SCOPE = BOTH;
检查:
SQL@xfcdb >SHOW PARAMETER ddl_lock_timeout;
只有 ISPDB_MODIFIABLE=TRUE 的参数才能在 PDB 级覆盖。PDB 关闭时,某些场景会继承 CDB 级参数;Data Guard 环境还要检查主备两侧的 PDB 参数和 ASM 磁盘组名称是否一致。
执行位置:CDB$ROOT。
SQL@xfcdb >ALTER PLUGGABLE DATABASE xfpdb STORAGE (MAXSIZE 100G);
应用应连接 PDB 服务,不应把 CDB 根服务当作业务连接入口。
SQL@xfcdb >SELECT con_id, name, network_name, pdbFROM cdb_servicesORDER BY con_id, name;
Oracle 19c 已不建议客户通过 SERVICE_NAMES 参数管理服务。Oracle Restart 或 RAC 环境优先使用 SRVCTL。
srvctl add service -db xfcdb -service xfpdb_svc -pdb xfpdb srvctl start service -db xfcdb -service xfpdb_svc srvctl status service -db xfcdb -service xfpdb_svc srvctl config service -db xfcdb -service xfpdb_svc
RAC 环境还应根据部署方式设置 preferred、available、role、policy 等属性。
sqlplus system@//dbhost.example.com:1521/xfpdb_svc
连接后必须核对:
SQL@xfcdb >SHOW CON_NAME;
下面示例在 xfcdb 中把 xfpdb1 克隆为 xfpdb2。
执行位置:CDB$ROOT。
SQL@xfcdb >ALTER PLUGGABLE DATABASE xfpdb1 CLOSE IMMEDIATE;
SQL@xfcdb >ALTER PLUGGABLE DATABASE xfpdb1 OPEN READ ONLY;
SQL@xfcdb >CREATE PLUGGABLE DATABASE xfpdb2 FROM xfpdb1 FILE_NAME_CONVERT =
('/u01/oradata/xfcdb/xfpdb1/', '/u01/oradata/xfcdb/xfpdb2/');
SQL@xfcdb >ALTER PLUGGABLE DATABASE xfpdb1 CLOSE IMMEDIATE;
SQL@xfcdb >ALTER PLUGGABLE DATABASE xfpdb1 OPEN READ WRITE;
SQL@xfcdb >ALTER PLUGGABLE DATABASE xfpdb2 OPEN READ WRITE;
SQL@xfcdb >ALTER PLUGGABLE DATABASE xfpdb2 SAVE STATE;
如果 CDB 已启用归档模式和 Local Undo,Oracle 19c 可在源 PDB 保持 READ WRITE 时克隆:
SQL@xfcdb >CREATE PLUGGABLE DATABASE xfpdb2 FROM xfpdb1 FILE_NAME_CONVERT =
('/u01/oradata/xfcdb/xfpdb1/', '/u01/oradata/xfcdb/xfpdb2/');ALTER PLUGGABLE DATABASE xfpdb2 OPEN READ WRITE;
执行前检查:
SQL@xfcdb >SELECT log_mode FROM v$database; SQL@xfcdb >SELECT property_valueFROM database_propertiesWHERE property_name = 'LOCAL_UNDO_ENABLED';
克隆期间要监控数据文件复制进度、归档空间、I/O 和源库业务负载。
场景:从 xfcdb1 的 xfpdb1 克隆到 xfcdb2,目标 PDB 名为 xfpdb2。
执行位置:xfcdb1 的 CDB$ROOT。
SQL@xfcdb >CREATE USER c##xf_clone IDENTIFIED BY <password> CONTAINER = ALL; SQL@xfcdb >GRANT CREATE SESSION, CREATE PLUGGABLE DATABASETO c##xf_cloneCONTAINER = ALL;
执行位置:xfcdb2 的 CDB$ROOT。
SQL@xfcdb >CREATE DATABASE LINK xfcdb1_clone_link CONNECT TO c##xf_clone IDENTIFIED BY <password> USING 'xfcdb1_root_service';
验证链路:
SQL@xfcdb >SQL@xfcdb >SELECT name, cdbFROM v$database@xfcdb1_clone_link;
SQL@xfcdb >CREATE PLUGGABLE DATABASE xfpdb2 FROM xfpdb1@xfcdb1_clone_link FILE_NAME_CONVERT =
('/u01/oradata/xfcdb1/xfpdb1/', '/u01/oradata/xfcdb2/xfpdb2/');
SQL@xfcdb >ALTER PLUGGABLE DATABASE xfpdb2 OPEN READ WRITE;
SQL@xfcdb >ALTER PLUGGABLE DATABASE xfpdb2 SAVE STATE;
如果源库不满足热克隆条件,需要将源 PDB 切换为 READ ONLY。生产执行前还应检查字符集、数据库版本、补丁、字节序、组件状态和网络吞吐量。
SQL@xfcdb >ALTER PLUGGABLE DATABASE xfpdb1 CLOSE IMMEDIATE; SQL@xfcdb >ALTER PLUGGABLE DATABASE xfpdb1 UNPLUG INTO '/u01/backup/xfpdb1.xml'; SQL@xfcdb >DROP PLUGGABLE DATABASE xfpdb1 KEEP DATAFILES;
XML 文件只保存 PDB 元数据,不包含实际业务数据。必须同时保护好数据文件。
执行位置:xfcdb2 的 CDB$ROOT。
SET SERVEROUTPUT ONDECLARE
l_compatible BOOLEAN;BEGIN
l_compatible := DBMS_PDB.CHECK_PLUG_COMPATIBILITY(
pdb_descr_file => '/u01/backup/xfpdb1.xml',
pdb_name => 'XFPDB2');
IF l_compatible THEN
DBMS_OUTPUT.PUT_LINE('COMPATIBLE=YES');
ELSE
DBMS_OUTPUT.PUT_LINE('COMPATIBLE=NO'); END IF;END;
/
查询未解决问题:
SQL@xfcdb >SELECT time, name, cause, type, message, status, actionFROM pdb_plug_in_violationsWHERE name = 'XFPDB2'AND status <> 'RESOLVED'ORDER BY time;
共享存储且文件位置不变时,可使用 NOCOPY:
SQL@xfcdb >CREATE PLUGGABLE DATABASE xfpdb2 USING '/u01/backup/xfpdb1.xml' NOCOPY TEMPFILE REUSE;
需要复制到新目录时:
SQL@xfcdb >CREATE PLUGGABLE DATABASE xfpdb2 USING '/u01/backup/xfpdb1.xml'
COPY FILE_NAME_CONVERT =
('/u01/oradata/xfcdb1/xfpdb1/', '/u01/oradata/xfcdb2/xfpdb2/');
打开并检查:
SQL@xfcdb >ALTER PLUGGABLE DATABASE xfpdb2 OPEN READ WRITE; SQL@xfcdb >ALTER PLUGGABLE DATABASE xfpdb2 SAVE STATE; SQL@xfcdb >SELECT name, cause, type, message, statusFROM pdb_plug_in_violationsWHERE name = 'XFPDB2'AND status <> 'RESOLVED'ORDER BY time;
出现 WARNING 不代表可以直接忽略。需要结合 MESSAGE 和 ACTION 判断是否影响组件、补丁、安全或业务功能。
场景:将 xfcdb1 中的 xfpdb1 在线迁移到 xfcdb2。
主要前提包括:
在 xfcdb2 的 CDB$ROOT 建立指向 xfcdb1 的数据库链路后执行:
SQL@xfcdb >CREATE PLUGGABLE DATABASE xfpdb1 FROM xfpdb1@xfcdb1_reloc_link RELOCATE AVAILABILITY MAX;
在目标端打开 PDB 完成切换:
SQL@xfcdb >ALTER PLUGGABLE DATABASE xfpdb1 OPEN READ WRITE;
随后检查:
SQL@xfcdb >SELECT name, open_modeFROM v$pdbsWHERE name = 'XFPDB1'; SQL@xfcdb >SELECT name, cause, type, message, statusFROM pdb_plug_in_violationsWHERE name = 'XFPDB1'AND status <> 'RESOLVED'ORDER BY time;
在线迁移不等于没有停顿。最终打开目标 PDB 时仍会发生会话切换。生产方案必须包含服务切换、连接池重连、长事务处理、应用验证以及源端 tombstone PDB 的后续清理。
SQL@xfcdb >SELECT con_id, name, open_modeFROM v$containersORDER BY con_id;
SQL@xfcdb >SELECT c.name AS pdb_name, d.tablespace_name, d.file_name, ROUND(d.bytes / 1024 / 1024 / 1024, 2) AS size_gb, d.autoextensibleFROM cdb_data_files dJOIN v$containers c ON c.con_id = d.con_idORDER BY c.name, d.tablespace_name, d.file_name;
SQL@xfcdb >SELECT con_id, COUNT(*) AS session_countFROM v$sessionWHERE type = 'USER'GROUP BY con_idORDER BY con_id;
与容器名称关联:
SQL@xfcdb >SELECT c.name AS pdb_name, COUNT(s.sid) AS session_countFROM v$containers cLEFT JOIN v$session s ON s.con_id = c.con_id AND s.type = 'USER'GROUP BY c.nameORDER BY c.name;
SQL@xfcdb >SELECT con_id, owner, object_type, COUNT(*) AS invalid_countFROM cdb_objectsWHERE status = 'INVALID'GROUP BY con_id, owner, object_typeORDER BY con_id, owner, object_type;
SQL@xfcdb >SELECT con_id, name, valueFROM v$system_parameterWHERE con_id > 0AND name IN ('open_cursors', 'processes', 'ddl_lock_timeout', 'db_create_file_dest')ORDER BY name, con_id;
SQL@xfcdb >SELECT con_id, sid, serial#, username, event, blocking_session, sql_id, statusFROM v$sessionWHERE blocking_session IS NOT NULLORDER BY con_id, sid;
终止会话前必须核对 CON_ID、用户名、事务和业务影响:
SQL@xfcdb >ALTER SYSTEM KILL SESSION '123,4567' IMMEDIATE;
CDB_* 视图包含 CON_ID,可从根容器查看多个容器的数据。但查询结果受权限、CONTAINER_DATA 属性、PDB 打开状态和 RAC 实例影响。受限模式或未打开的 PDB 可能不会返回完整信息。
RMAN> CONNECT TARGET /; RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON; RMAN> BACKUP DATABASE PLUS ARCHIVELOG;
从 CDB$ROOT 连接 RMAN:
RMAN> BACKUP PLUGGABLE DATABASE xfpdb PLUS ARCHIVELOG;
也可以直接连接到 PDB 服务,再执行:
RMAN> BACKUP DATABASE PLUS ARCHIVELOG;
无论使用哪种方式,都要确保备份策略包含恢复所需归档日志,并实际做过恢复演练。
RMAN> SQL 'ALTER PLUGGABLE DATABASE xfpdb CLOSE IMMEDIATE'; RMAN> RESTORE PLUGGABLE DATABASE xfpdb; RMAN> RECOVER PLUGGABLE DATABASE xfpdb; RMAN> SQL 'ALTER PLUGGABLE DATABASE xfpdb OPEN';
RMAN> SQL 'ALTER PLUGGABLE DATABASE xfpdb CLOSE IMMEDIATE';
RMAN> RECOVER PLUGGABLE DATABASE xfpdb
UNTIL TIME "TO_DATE('2026-10-26 10:00:00',
'YYYY-MM-DD HH24:MI:SS')"
AUXILIARY DESTINATION '/u02/rman_aux';
RMAN> SQL 'ALTER PLUGGABLE DATABASE xfpdb OPEN RESETLOGS';
恢复前应核对目标时间、归档完整性、辅助目录空间以及恢复对其他 PDB 的影响。
导出或导入业务 Schema 时,应连接 xfpdb 的服务。
expdp C##BACKUPUSER@//dbhost.example.com:1521/xfpdb_svc \ schemas=XF_APP \ directory=DATA_PUMP_DIR \ dumpfile=xf_app_%U.dmp \ logfile=xf_app_exp.log \ parallel=4 logtime=all impdp C##BACKUPUSER@//dbhost.example.com:1521/xfpdb_svc \ directory=DATA_PUMP_DIR \ dumpfile=xf_app_%U.dmp \ logfile=xf_app_imp.log \ parallel=4 logtime=all
检查:
SQL@xfcdb >SELECT con_name, instance_name, stateFROM dba_pdb_saved_states;
处理:
SQL@xfcdb >ALTER PLUGGABLE DATABASE xfpdb OPEN; SQL@xfcdb >ALTER PLUGGABLE DATABASE xfpdb SAVE STATE;
如果使用 Oracle Restart 或 RAC,还要检查 PDB 服务和集群资源配置。
常见原因:
先执行:
SQL@xfcdb >SELECT name, cdb FROM v$database; SQL@xfcdb >SHOW CON_NAME; SQL@xfcdb >SHOW PDBS;
命令执行位置不正确。需要判断该操作属于:
SQL@xfcdb >SELECT time, name, cause, type, message, status, actionFROM pdb_plug_in_violationsWHERE name = 'XFPDB'AND status <> 'RESOLVED'ORDER BY time;
重点检查版本、组件、补丁、字符集和参数差异。必要时运行 datapatch,并再次检查违规项。
依次检查:
srvctl status database -db xfcdb srvctl status service -db xfcdb lsnrctl status
SQL@xfcdb >SELECT name, open_modeFROM v$pdbsWHERE name = 'XFPDB'; SQL@xfcdb >SELECT name, network_name, pdbFROM cdb_servicesWHERE pdb = 'XFPDB';
同时检查客户端连接串是否使用了 SERVICE_NAME,而不是把 PDB 名误写成 SID。
-- 当前容器SHOW CON_NAME;-- 所有PDBSHOW PDBS;-- 切换到PDBALTER SESSION SET CONTAINER = xfpdb;-- 返回根容器ALTER SESSION SET CONTAINER = CDB$ROOT;-- 打开PDBALTER PLUGGABLE DATABASE xfpdb OPEN;-- 关闭PDBALTER PLUGGABLE DATABASE xfpdb CLOSE IMMEDIATE;-- 保存启动状态ALTER PLUGGABLE DATABASE xfpdb SAVE STATE;-- 查看Local UndoSELECT property_valueFROM database_propertiesWHERE property_name = 'LOCAL_UNDO_ENABLED';-- 查看未解决的插入兼容性问题SELECT name, cause, type, message, statusFROM pdb_plug_in_violationsWHERE status <> 'RESOLVED'ORDER BY time;
许可说明:Oracle Multitenant 的功能可用范围和 PDB 数量限制可能与 Edition、授权及部署方式有关。正式上线前应核对当前有效的 Oracle Database Licensing Information User Manual 和采购合同。
MyBologs:
https://www.xiaofeihuangfu.com
CSDN: https://blog.csdn.net/xfhuangfu
ITPUB: https://blog.itpub.net/28373936/
微信公众号:xfhuangfu
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28373936/viewspace-3186699/ ,如需转载,请注明出处,否则将追究法律责任。