查看
CDB&PDBs
信息(
SQL*PLUS
)
V$
,
GV$
,
CDB_
,
CONTAINER_DATA
的属性决定了对哪些
PDB
可见;
每个容器数据对象都有
CON_ID
列,列值
代表整个
CDB
可见,
1
代表
root
对象,
2
代表
seed
对象
,3~254
代表
PDB
对象;
以下视图的行为不同于其他
[G]V$
视图
:
·
[G]V$SYSSTAT
·
[G]V$SYS_TIME_MODEL
·
[G]V$SYSTEM_EVENT
·
[G]V$SYSTEM_WAIT_CLASS
从
root
查询时,这些视图返回实例范围的数据,返回的每一行
CON_ID
列中都有
。但是,您可以查询与其他容器数据对象行为相同的等效视图。以下视图可以为
CDB
中的每个容器返回特定的数据
:[G]V$CON_SYSSTAT
、
[G]V$CON_SYS_TIME_MODEL
、
[G]V$CON_SYSTEM_EVENT
和
[G]V$CON_SYSTEM_WAIT_CLASS
。
1.
CDB
中的视图
views
Table 43-2 Views for a CDB
View
Description
Container data objects, including:
l
V$
views
l
GV$
views
l
CDB_
views
l
DBA_HIST*
views
Container data objects can display information about multiple PDBs. Each container data object includes a
CON_ID
column to identify containers.
There is a
CDB_
view for each corresponding
DBA_
view.
{CDB|DBA}_PDBS
Displays information about the PDBs associated with the CDB, including the status of each PDB.
CDB_PROPERTIES
Displays the permanent properties of each container in a CDB.
{CDB|DBA}_PDB_HISTORY
Displays the history of each PDB.
{CDB|DBA}_CONTAINER_DATA
Displays information about the user-level and object-level
CONTAINER_DATA
attributes specified in the CDB.
{CDB|DBA}_HIST_PDB_INSTANCE
Displays the PDBs and instances in the Workload Repository.
{CDB|DBA}_PDB_SAVED_STATES
Displays information about the current saved PDB states in the CDB.
{CDB|DBA}_CDB_RSRC_PLANS
Displays information about all the CDB resource plans.
{CDB|DBA}_CDB_RSRC_PLAN_DIRECTIVES
Displays information about all the CDB resource plan directives.
PDB_ALERTS
Contains descriptions of reasons for PDB alerts.
PDB_PLUG_IN_VIOLATIONS
Displays information about incompatibilities between a PDB and the CDB to which it belongs. This view is also used to display information generated by executing
DBMS_PDB.CHECK_PLUG_COMPATIBILITY
.
{USER|ALL|DBA|CDB}_OBJECTS
Displays information about database objects, and the
SHARING
column shows whether a database object is a metadata-linked object, an object-linked object, or a standalone object that is not linked to another object.
{ALL|DBA|CDB}_SERVICES
Displays information about database services, and the
PDB
column shows the name of the PDB associated with each service.
{USER|ALL|DBA|CDB}_VIEWS
{USER|ALL|DBA|CDB}_TABLES
The
CONTAINER_DATA
column shows whether the view or table is a container data object.
{USER|ALL|DBA|CDB}_USERS
The
COMMON
column shows whether a user is a common user or a local user.
{USER|ALL|DBA|CDB}_ROLES
{USER|ALL|DBA|CDB}_COL_PRIVS
{USER|ALL}_COL_PRIVS_MADE
{USER|ALL}_COL_PRIVS_RECD
{USER|ALL}_TAB_PRIVS_MADE
{USER|ALL}_TAB_PRIVS_RECD
{USER|DBA|CDB}_SYS_PRIVS
{USER|DBA|CDB}_ROLE_PRIVS
ROLE_TAB_PRIVS
ROLE_SYS_PRIVS
The
COMMON
column shows whether a role or privilege is commonly granted or locally granted.
{USER|ALL|DBA|CDB}_ARGUMENTS
{USER|ALL|DBA|CDB}_CLUSTERS
{USER|ALL|DBA|CDB}_CONSTRAINTS
{ALL|DBA|CDB}_DIRECTORIES
{USER|ALL|DBA|CDB}_IDENTIFIERS
{USER|ALL|DBA|CDB}_LIBRARIES
{USER|ALL|DBA|CDB}_PROCEDURES
{USER|ALL|DBA|CDB}_SOURCE
{USER|ALL|DBA|CDB}_SYNONYMS
{USER|ALL|DBA|CDB}_VIEWS
The
ORIGIN_CON_ID
column shows the ID of the container from which the row originates.
[G]V$DATABASE
Displays information about the database from the control file. If the database is a CDB, then CDB-related information is included.
[G]V$CONTAINERS
Displays information about the containers associated with the current CDB, including the root and all PDBs.
[G]V$PDBS
Displays information about the PDBs associated with the current CDB, including the open mode of each PDB.
[G]V$PDB_INCARNATION
Displays displays information about all PDB incarnations. Oracle creates a new PDB incarnation whenever a PDB is opened with the
RESETLOGS
option.
[G]V$SYSTEM_PARAMETER
[G]V$PARAMETER
Displays information about initialization parameters, and the
ISPDB_MODIFIABLE
column shows whether a parameter can be modified for a PDB.
2.
如何判断是否
CDB
SELECT CDB FROM V$DATABASE;
3.
查询
CDB
中的容器信息
Example 43-2 Viewing Identifying Information About Each Container in a CDB
COLUMN NAME FORMAT A8
SELECT NAME, CON_ID, DBID, CON_UID, GUID FROM
V$CONTAINERS
ORDER BY CON_ID;
4.
查询
PDB
信息
Example 43-3 Viewing Container ID, Name, and Status of Each PDB
COLUMN PDB_NAME FORMAT A15
SELECT PDB_ID, PDB_NAME, STATUS FROM
DBA_PDBS
ORDER BY PDB_ID;
5.
查询
PDB
的
open mode
COLUMN NAME FORMAT A15
COLUMN RESTRICTED FORMAT A10
COLUMN OPEN_TIME FORMAT A30
SELECT NAME, OPEN_MODE, RESTRICTED, OPEN_TIME FROM
V$PDBS
;
6.
查询
container data objects
Example 43-5 Showing the Tables Owned by Specific Schemas in Multiple PDBs
COLUMN PDB_NAME FORMAT A15
COLUMN OWNER FORMAT A15
COLUMN TABLE_NAME FORMAT A30
SELECT p.PDB_ID, p.PDB_NAME, t.OWNER, t.TABLE_NAME
FROM
DBA_PDBS
p,
CDB_TABLES
t
WHERE p.PDB_ID > 2 AND
t.OWNER IN('HR','OE') AND
p.PDB_ID = t.CON_ID
ORDER BY p.PDB_ID;
Example 43-6 Showing the Users in Multiple PDBs
COLUMN PDB_NAME FORMAT A15
COLUMN USERNAME FORMAT A30
SELECT p.PDB_ID, p.PDB_NAME, u.USERNAME
FROM
DBA_PDBS
p,
CDB_USERS
u
WHERE p.PDB_ID > 2 AND
p.PDB_ID = u.CON_ID
ORDER BY p.PDB_ID;
Example 43-7 Showing the Data Files for Each PDB in a CDB
COLUMN PDB_ID FORMAT 999
COLUMN PDB_NAME FORMAT A8
COLUMN FILE_ID FORMAT 9999
COLUMN TABLESPACE_NAME FORMAT A10
COLUMN FILE_NAME FORMAT A45
SELECT p.PDB_ID, p.PDB_NAME, d.FILE_ID, d.TABLESPACE_NAME, d.FILE_NAME
FROM
DBA_PDBS
p,
CDB_DATA_FILES
d
WHERE p.PDB_ID = d.CON_ID
ORDER BY p.PDB_ID;
Example 43-8 Showing the Temp Files in a CDB
COLUMN CON_ID FORMAT 999
COLUMN FILE_ID FORMAT 9999
COLUMN TABLESPACE_NAME FORMAT A15
COLUMN FILE_NAME FORMAT A45
SELECT CON_ID, FILE_ID, TABLESPACE_NAME, FILE_NAME
FROM
CDB_TEMP_FILES
ORDER BY CON_ID;
Example 43-9 Showing the Services Associated with PDBs
COLUMN NETWORK_NAME FORMAT A30
COLUMN PDB FORMAT A15
COLUMN CON_ID FORMAT 999
SELECT PDB, NETWORK_NAME, CON_ID FROM
CDB_SERVICES
WHERE PDB IS NOT NULL AND
CON_ID > 2
ORDER BY PDB;
7.
查询用户创建的表和视图
Example 43-10 Querying a Table Owned by a Common User Across All PDBs
SELECT * FROM CONTAINERS(employees);
Example 43-11 Querying a Table Owned by Local Users Across All PDBs
CREATE OR REPLACE VIEW employees AS SELECT * FROM hr.employees;
SELECT * FROM CONTAINERS(employees);
SELECT * FROM CONTAINERS(employees) WHERE CON_ID IN(3,4);
8.
查询当前
container
的
ID
和
name
SHOW CON_ID
SHOW CON_NAME
Example 43-12 Returning the Container ID Based on the Container Name
SELECT CON_NAME_TO_ID('HRPDB') FROM DUAL;
Example 43-13 Returning the Container ID Based on the Container DBID
SELECT CON_DBID_TO_ID(2226957846) FROM DUAL;
Function
Description
CON_NAME_TO_ID
('
container_name
')
Returns the container ID based on the container's name.
CON_DBID_TO_ID
(
container_dbid
)
Returns the container ID based on the container's DBID.
CON_UID_TO_ID
(
container_uid
)
Returns the container ID based on the container's unique identifier (UID).
CON_GUID_TO_ID
(
container_guid
)
Returns the container ID based on the container's globally unique identifier (GUID).
9.
查询
PDB
中可以修改的参数
SELECT NAME FROM V$SYSTEM_PARAMETER
WHERE ISPDB_MODIFIABLE = 'TRUE'
ORDER BY NAME;
10.
查询
PDB
历史记录
COLUMN DB_NAME FORMAT A10
COLUMN CON_ID FORMAT 999
COLUMN PDB_NAME FORMAT A15
COLUMN OPERATION FORMAT A16
COLUMN OP_TIMESTAMP FORMAT A10
COLUMN CLONED_FROM_PDB_NAME FORMAT A15
SELECT DB_NAME, CON_ID, PDB_NAME, OPERATION, OP_TIMESTAMP, CLONED_FROM_PDB_NAME
FROM CDB_PDB_HISTORY
WHERE CON_ID > 2
ORDER BY CON_ID;