DBA_OBJECTS 视图(数据字典视图):
DBA_OBJECTS describes all objects in the database. Its columns are the same as those in ALL_OBJECTS.
Oracle DBA_OBJECTS 视图是数据字典视图,表示用户可以访问的所有对象。它描述了存储在每个数据库中的所有用户可见对象,包括类型、表、索引、存储过程、视图和序列等。
通过Oracle数据字典视图,以查找对象的拥有者、创建日期等信息,监控数据库中各种对象的状态和属性。
OBJECT_ID 和 DATA_OBJECT_ID 的区别:
OBJECT_ID: Dictionary object number of the object.
DATA_OBJECT_ID: Dictionary objectnumber of the segment that contains the object.
OBJECT_ID就是对象的数据字典标识,而DATA_OBJECT_ID则是包含对象的段的数据字典标识。
不是所有对象都有DATA_OBJECT_ID,例如:sequence,type 这些对象并没有存储空间,所以并不存在段与之相关联。所以这些对象的 DATA_OBJECT_ID 都为空。
desc DBA_OBJECTS;
column OBJECT_NAME format a32
column OWNER format a16
column OBJECT_TYPE format a16
SELECT * FROM DBA_OBJECTS WHERE OWNER='TEST';
SELECT OBJECT_NAME,OBJECT_ID,DATA_OBJECT_ID,OBJECT_TYPE,OWNER,STATUS,LAST_DDL_TIME FROM DBA_OBJECTS WHERE OWNER='TEST';
SELECT OBJECT_NAME,OBJECT_ID,DATA_OBJECT_ID,OBJECT_TYPE,OWNER,STATUS,LAST_DDL_TIME FROM DBA_OBJECTS WHERE OWNER='TEST' AND OBJECT_NAME='BLOB_TEST01';
SQL> SELECT OBJECT_NAME,OBJECT_ID,DATA_OBJECT_ID,OBJECT_TYPE,OWNER,STATUS,LAST_DDL_TIME FROM DBA_OBJECTS WHERE OWNER='TEST' AND OBJECT_NAME='BLOB_TEST01';
OBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE OWNER STATUS LAST_DDL_TIME
-------------------------------- ---------- -------------- ---------------- ---------------- --------------------- ---------------
BLOB_TEST01 133785 133785 TABLE TEST VALID 19-MAY-23
ALL_OBJECTS 视图:
ALL_OBJECTS describes all objects accessible to the current user.
ALL_OBJECTS可以用来查询关于当前用户拥有权限的所有数据库对象(表、索引、视图、序列、存储过程、触发器),通过它可以查询下面相关信息:
数据库对象的:名称、所属架构名称、类型、最后一次对对象进行DML操作的时间戳、状态、注释Comments、Storage表。
column OBJECT_NAME format a32
column OWNER format a16
column OBJECT_TYPE format a16
SELECT * FROM ALL_OBJECTS WHERE OBJECT_NAME='BLOB_TEST01';
SELECT OBJECT_NAME,OBJECT_ID,DATA_OBJECT_ID,OBJECT_TYPE,OWNER,STATUS,LAST_DDL_TIME FROM ALL_OBJECTS WHERE OWNER='TEST';
SELECT OBJECT_NAME,OBJECT_ID,DATA_OBJECT_ID,OBJECT_TYPE,OWNER,STATUS,LAST_DDL_TIME FROM ALL_OBJECTS WHERE OWNER='TEST' AND OBJECT_NAME='BLOB_TEST01';
SQL> SELECT OBJECT_NAME,OBJECT_ID,DATA_OBJECT_ID,OBJECT_TYPE,OWNER,STATUS,LAST_DDL_TIME FROM ALL_OBJECTS WHERE OWNER='TEST' AND OBJECT_NAME='BLOB_TEST01';
OBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE OWNER STATUS LAST_DDL_TIME
-------------------------------- ---------- -------------- ---------------- ---------------- --------------------- ---------------
BLOB_TEST01 133785 133785 TABLE TEST VALID 19-MAY-23