数据字典是oracle存放有关数据库信息的地方,几乎全部的系统信息和对象信息均可在数据字典中进行查询。数据字典是oracle数据库系统的信息核心,它是一组提供有关数据库信息的表和视图的集合,这些表和视图是只读的。它是随着数据库的创建而创建的,当数据库执行特定动做时数据字典也会自动更新。数据一览与数据字典来记录、校验和管理正在进行的操做。sql
Oracle中,sys用户是数据字典的拥有者,数据字典保证在全部数据库的系统表空间system内,任何用户都无权更改sys模式下的模式对象或数据字典中的行。也就是说数据字典只能查询,不能手动进行修改。数据库
Oracle经过存取数据字典从而比较方便地获取有关用户某事对象和存储结构等信息。当系统执行了DDL语句后,oracle会及时修改数据字典。任何用户只能以读的形式使用数据字典获取数据库信息。oracle
如查询当前模式下的全部对象: select object_name, object_type from user_objects;
如查询当前用户可访问的全部对象: select owner, object_name, object_type from all_objects;
如: select owner, object_name, object_type from sys.dba_objects;
动态性能视图用于记录当前例程的活动信息,当启动oracle server时,系统会创建动态性能视图;当中止oracle server时,系统会删除动态性能视图,oracle的全部动态性能视图都是以v_$开始的,而且oracle为每一个动态性能视图都提供例了相应的同义词,而且同义词是以v$开始的,例如_$datefile的同义词为v$datefile;动态性能视图的全部者为sys,通常状况下,由DBA或是特权用户来查询动态性能视图。性能
查询用户 select username from dba_users; -- 只有管理员权限的用户才能查询 select username from all_users; -- 当前或任何用户均可使用 -- 查看当前用户的默认表空间 select username, default_tablespace from user_users; --当前用户角色 select * from user_role_privs; -- 当前用户的系统权限和表级权限 select * from user_sys_privs; select * from user_tab_privs;
select * from dba_data_files; select * from dba_tablespaces; --表空间 select tablespace_name, sum(bytes), sum(blocks) from dba_free_space group by tablespace_name; --空闲表空间 select * from dba_data_files where tablespace_name='USERS'; -- 表空间对于的数据文件 select * from dba_segments where tablespace_name='USERS'; --查询用户模式对象所使用过的正在使用空间大小 select name, type, source_size, code_size from user_object_size;
select * from dba_objects select * from dba_objects where object_type = upper('package body'); select * from dba_objects where OBJECT_TYPE='TABLE' and OWNER='SCOTT'