Oracle 中的 v$pdbs 和 dba_pdbs 有什么区别?
What's the difference between v$pdbs and dba_pdbs in Oracle?
我是可插拔数据库的新手,对字典视图 DBA_PDBS
和 V$PDBS
感到困惑。有什么区别?该文档也没有帮助:
V$PDBS
displays information about PDBs associated with the current instance.
1
SELECT * FROM v$pdbs;
CON_ID NAME OPEN_MODE ...
2 PDB$SEED READ ONLY
3 XEPDB1 READ WRITE
DBA_PDBS
describes PDBs belonging to a given CDB.
2
SELECT * FROM dba_pdbs;
PDB_ID PDB_NAME STATUS ...
2 PDB_SEED NORMAL
3 XEPDB1 NORMAL
在内部,V$PDBS
似乎是基于 SYS.X$CON
,而 DBA_PDBS
是基于 SYS.CONTAINERS$
。
V$DATAFILE vs DBA_DATA_FILES 或 V$TABLESPACE vs DBA_TABLESPACES 也有类似的情况:在这种情况下,这些视图数据是从数据库控制文件中读取的,并且对于 [=12] 可能是多余的=] 目的(即,当 SYSTEM 表空间尚不可用时,DBAxxx 视图不存在,但当数据库实例需要处理数据文件和表空间时)。除了 DBA_PDBS.
之外,我们还有 V$PDBS 可能是出于同样的原因
我是可插拔数据库的新手,对字典视图 DBA_PDBS
和 V$PDBS
感到困惑。有什么区别?该文档也没有帮助:
V$PDBS
displays information about PDBs associated with the current instance. 1
SELECT * FROM v$pdbs;
CON_ID NAME OPEN_MODE ...
2 PDB$SEED READ ONLY
3 XEPDB1 READ WRITE
DBA_PDBS
describes PDBs belonging to a given CDB. 2
SELECT * FROM dba_pdbs;
PDB_ID PDB_NAME STATUS ...
2 PDB_SEED NORMAL
3 XEPDB1 NORMAL
在内部,V$PDBS
似乎是基于 SYS.X$CON
,而 DBA_PDBS
是基于 SYS.CONTAINERS$
。
V$DATAFILE vs DBA_DATA_FILES 或 V$TABLESPACE vs DBA_TABLESPACES 也有类似的情况:在这种情况下,这些视图数据是从数据库控制文件中读取的,并且对于 [=12] 可能是多余的=] 目的(即,当 SYSTEM 表空间尚不可用时,DBAxxx 视图不存在,但当数据库实例需要处理数据文件和表空间时)。除了 DBA_PDBS.
之外,我们还有 V$PDBS 可能是出于同样的原因