数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的。
全椒ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!
比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等。
数据库数据字典是一组表和视图结构。它们存放在SYSTEM表空间中
当用户在对数据库中的数据进行操作时遇到困难就可以访问数据字典来查看详细的信息。
用户可以用SQL语句访问数据库数据字典。
Oracle数据库一个最重要的部分就是数据字典,是只读类型的表的集合,提供数据库的信息。一个数据字典包括: 数据库对象所有的框架对象的定义〔表、视图、索引、群集、同义词、序列、过程、函数、包、触发器等)。为框架对象如何分配和使用空间。 列的默认值。 完整性约束信息。 oracle用户的名称。 每个用户所授予的权限和角色。 审计信息。 数据库的其他信息。 数据字典的结构是表和视图,就像其他数据库数据一样,一个给定数据库的所有数据字典表的和视图都存储在数据库的SYSTEM表空间中。 数据字典不但是每个Oracle.数据库的重要组戍部分之一,同时对于所有的用户,从应用设计人员到数据库管理员,都是非常重要的工具。可以使用SQL语句访问数据字典,由于数据字典是只读的,所以只能使用SELECT语句访问数据字典的表和视图。 一个数据字典包括: 基表:存储相关数据库的信息的表。只有Oracle才能写和读取这些表。用户很少能够直接访问这些表,因为它们是非标准的,大多数数据以加密格式存储。 用户可访问视图:总结和显示数据字典基表的信息的视图。这些视图将基表的信息解密成有用的信息,如用户或者表名。大多数用户能够访问这些视图,但不能访问基表。 Oracle用户SYS拥有数据字典所有的基表和用户可访问的视图。任何Oracle用户能够修改包含在SYS框架中的框架对象,因为这些操作可能会影响数据的完整性,安全管理员必须严格控制这个重要账号。 数据字典包含3种主要的用途: Oracle访问数据字典发现关于用户、框架对象和存储结构的信息。 当执行DDL语言的时候,Oracle修改数据字典。 任何Oracle用户都能使用数据字典获取数据库的信息。 数据字典基表中的数据对于Oracle是必需的。因此,只有Oracle才能写和修改数据字典的信息。Oracle提供了修改数据字典表的脚本。 在数据库操作过程中,Oracle读取数据字典,保证框架对象存在,用户能够访问它们。Oracle更新数据字典,反映数据库结构、审计、授权和数据的变化情况。 例如,如果用户KATHY创建了一个表:PARTS,Oracle将会添加新的行到数据字典中,反映新的表、列、段、盘区和权限情况。这些信息在下一次数据字典视图被查询的时候是可见的。 Oracle会在多个数据字典视图上创建公共同步,使得用户能够方便访问它们。安全管理员也能够为框架对象创建额外的公共同步。用户应当避免自己的框架对象与公共同义词重名。 许多数据字典的信息都缓存在SGA中,因为Oracle在数据库操作过程中,会不断访问数据字典,验证框架对象的状态。所有的信息都是用LRU算法存储在内存中的。
查看当前用户的缺省表空间
SQLselect username,default_tablespace from user_users;
查看当前用户的角色
SQLselect * from user_role_privs;
查看当前用户的系统权限和表级权限
SQLselect * from user_sys_privs;
SQLselect * from user_tab_privs;
查看用户下所有的表
SQLselect * from user_tables;
显示用户信息(所属表空间)
select default_tablespace,temporary_tablespace
from dba_users where username='GAME';
1、用户
查看当前用户的缺省表空间
SQLselect username,default_tablespace from user_users;
查看当前用户的角色
SQLselect * from user_role_privs;
查看当前用户的系统权限和表级权限
SQLselect * from user_sys_privs;
SQLselect * from user_tab_privs;
显示当前会话所具有的权限
SQLselect * from session_privs;
显示指定用户所具有的系统权限
SQLselect * from dba_sys_privs where grantee='GAME';
显示特权用户
select * from v$pwfile_users;
显示用户信息(所属表空间)
select default_tablespace,temporary_tablespace
from dba_users where username='GAME';
显示用户的PROFILE
select profile from dba_users where username='GAME';
2、表
查看用户下所有的表
SQLselect * from user_tables;
查看名称包含log字符的表
SQLselect object_name,object_id from user_objects
where instr(object_name,'LOG')0;
查看某表的创建时间
SQLselect object_name,created from user_objects where object_name=upper('table_name');
查看某表的大小
SQLselect sum(bytes)/(1024*1024) as "size(M)" from user_segments
where segment_name=upper('table_name');
查看放在ORACLE的内存区里的表
SQLselect table_name,cache from user_tables where instr(cache,'Y')0;
3、索引
查看索引个数和类别
SQLselect index_name,index_type,table_name from user_indexes order by table_name;
查看索引被索引的字段
SQLselect * from user_ind_columns where index_name=upper('index_name');
查看索引的大小
SQLselect sum(bytes)/(1024*1024) as "size(M)" from user_segments
where segment_name=upper('index_name');
4、序列号
查看序列号,last_number是当前值
SQLselect * from user_sequences;
5、视图
查看视图的名称
SQLselect view_name from user_views;
查看创建视图的select语句
SQLset view_name,text_length from user_views;
SQLset long 2000; 说明:可以根据视图的text_length值设定set long 的大小
SQLselect text from user_views where view_name=upper('view_name');
6、同义词
查看同义词的名称
SQLselect * from user_synonyms;
7、约束条件
查看某表的约束条件
SQLselect constraint_name, constraint_type,search_condition, r_constraint_name
from user_constraints where table_name = upper('table_name');
SQLselect c.constraint_name,c.constraint_type,cc.column_name
from user_constraints c,user_cons_columns cc
where c.owner = upper('table_owner') and c.table_name = upper('table_name')
and c.owner = cc.owner and c.constraint_name = cc.constraint_name
order by cc.position;
8、存储函数和过程
查看函数和过程的状态
SQLselect object_name,status from user_objects where object_type='FUNCTION';
SQLselect object_name,status from user_objects where object_type='PROCEDURE';
查看函数和过程的源代码
SQLselect text from all_source where owner=user and name=upper('plsql_name');
数据字典是ORACLE在创建数据库的时候自动创建的,不是手动创建的。你在DOS下输入DBCA即可创建一个新数据库。