一、SQL查询法(推荐)
1. 查询
v$database 视图
执行以下SQL语句:
SELECT name, cdb FROM v$database;
结果解读:
CDB=YES:当前为CDB架构。
CDB=NO:当前为Non-CDB架构。
2. 检查容器视图
若数据库是CDB,可进一步查询容器信息:
SELECT con_id, name, open_mode FROM v$containers; -- 显示所有容器(CDB$ROOT、PDB$SEED及PDBs)SELECT name, open_mode FROM v$pdbs; -- 仅显示PDB信息:cite[2]:cite[6]:cite[7]
Non-CDB中:这些视图无有效数据或查询报错 3。
???? 二、SQL*Plus命令法
1.
SHOW 命令
SHOW con_name -- 若返回 CDB$ROOT 表示当前在CDB根容器SHOW pdbs -- 若列出PDB列表(如PDB$SEED、用户PDB),则为CDB:cite[6]:cite[7]
Non-CDB中:
SHOW pdbs 无输出或报错。
2. 系统函数
SELECT SYS_CONTEXT('USERENV', 'CON_NAME') FROM dual; -- 返回 CDB$ROOT 或 PDB名称(CDB环境) / 返回数据库名(Non-CDB):
⚙️ 三、其他辅助方法
-
监听服务检查
lsnrctl status
CDB环境:输出包含多个Service(每个PDB一个服务) 10。
Non-CDB环境:通常仅有一个服务。
???? 总结对比
方法 CDB特征 Non-CDB特征 SELECT cdb FROM v$databaseCDB='YES'CDB='NO'SHOW pdbs显示PDB列表 无输出或报错 v$containers 视图多行记录(容器列表) 无有效数据或报错 SYS_CONTEXT 返回值CDB$ROOT 或 PDB名称数据库实例名 ???? 操作建议:
-
若需管理CDB中的PDB,结合
v$pdbs 和ALTER SESSION SET CONTAINER=PDB名称 切换容器
优先使用
SELECT name, cdb FROM v$database; 直接确认类型。编辑推荐:
- 查看oracle是noncdb 还是cdb的方法03-03
- 使用benchmarksql测试数据库处理能力03-03
- 数据丢失使用RMAN恢复教程03-03
- trouble shooting:ORA-0005403-03
- trouble shooting:ORA-07445: [smboKb2Qb()+21]03-03
- 王自如走上了罗永浩的老路03-03
- 数据安全新纪元:当零信任遇上密码学革命03-03
- 一次Oracle的非正常关闭03-03
下一篇:相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 王自如走上了罗永浩的老路
王自如走上了罗永浩的老路
26-03-03 - 一次Oracle的非正常关闭
一次Oracle的非正常关闭
26-03-03 - DeepSeek一键生成网页版SQL生成器(科技感十足)
DeepSeek一键生成网页版SQL生成器(科技感十足)
26-03-03 - 苹果打起价格战,国产手机只能靠边站
苹果打起价格战,国产手机只能靠边站
26-03-03 - 免费获得 Oracle MOS 账号的秘密,技术爱好者必看!
免费获得 Oracle MOS 账号的秘密,技术爱好者必看!
26-03-03 - 呼唤县城老表,快来买新能源车
呼唤县城老表,快来买新能源车
26-03-03 - 中国宏桥是如何炼成“模范生”的?
中国宏桥是如何炼成“模范生”的?
26-03-03 - “China AI 60”:大摩给百融云盖了章
“China AI 60”:大摩给百融云盖了章
26-03-03 - 1-Oracle Database 23ai Free Container install-Podman
- 19c多租户架构下的UNDO管理-19c多租户架构下的UNDO管理- Local Undo
检查数据字典表
SELECT * FROM cdb_tables; -- CDB中存在此视图,Non-CDB中不存在
