【赵渝强老师】Oracle的数据字典

2024-08-12 16:05:18 浏览数 (2)

  数据字典是Oracle存放有关数据库信息的地方,几乎所有的数据库信息和对象信息都可在数据字典中进行查询,它是随着数据库的建立而建立的。数据字典是Oracle数据库系统的信息核心,它是一组提供有关数据库信息的表和视图的集合。对于普通用户而言,这些表和视图是只读的。Oracle数据库的管理员sys用户是数据字典的拥有者,数据字典的数据保存在系统表空间system中。视频讲解如下:

视频内容

  Oracle的数据字典有4种不同的命名前缀。下表列举了这4种前缀以及他们的含义。

  在了解到了Oracle数据字典的基本信息后,下面通过几个具体的示例来演示如何从数据字典获取相关的信息。

(1)使用c##scott用户查看当前用户的默认表空间

代码语言:sql复制
SQL> select username, default_tablespace from user_users;

# 输出的信息如下:
USERNAME	DEFAULT_TABLESPACE
-----------  ---------------------------
C##SCOTT	USERS

(2)使用c##scott用户查看当前用户角色

代码语言:sql复制
SQL> select * from user_role_privs;

# 输出的信息如下:
USERNAME	     GRANTED_ROLE	  ADM DEL DEF OS_ COM INH
------------------------ -------------------------------- 
C##SCOTT	     CONNECT		  NO  NO  YES NO  NO  NO
C##SCOTT	     RESOURCE		  NO  NO  YES NO  NO  NO

(3)使用sys用户查看表空间的信息。

代码语言:sql复制
SQL> select tablespace_name, sum(bytes), sum(blocks) from dba_free_space group by tablespace_name; 

# 输出的信息如下:
TABLESPACE_NAME			SUM(BYTES) 		SUM(BLOCKS)
----------------------- ------------  -------------
SYSTEM					9306112			1136
SYSAUX					38338560		4680
UNDOTBS1				101318656		12368
USERS					11141120		1360

(4)使用sys用户查看用户c##scott创建表的信息。

代码语言:sql复制
SQL> select owner,object_name,object_type from dba_objects where object_type='TABLE' and OWNER='C##SCOTT';  

# 输出的信息如下:
OWNER		OBJECT_NAME			OBJECT_TYPE
---------  ---------------    -------------
C##SCOTT   MSG					TABLE
C##SCOTT   AUDIT_MESSAGE		TABLE
C##SCOTT   DEPT 				TABLE
C##SCOTT   EMP					TABLE
C##SCOTT   BONUS				TABLE
C##SCOTT   SALGRADE				TABLE

0 人点赞