Oracle学习笔记—数据字典和常用命令(转载)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Oracle学习笔记—数据字典和常用命令(转载),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4140字,纯文字阅读大概需要6分钟。
内容图文
![Oracle学习笔记—数据字典和常用命令(转载)](/upload/InfoBanner/zyjiaocheng/483/bd0855e7dc6345409d19898f0afa525a.jpg)
user_tables视图:
主要描述当前用户拥有的所有表的信息,主要包括表名、表空间名、簇名等。通过此视图可以清楚了解当前用户可以操作的表有哪些。执行命令为:select * from user_tables
user_objects视图:
主要描述当前用户拥有的所有对象的信息,对象包括表、视图、存储过程、触发器、包、索引、序列等。该视图比user_tables视图更加全面。例如, 需要获取一个名为“package1”的对象类型和其状态的信息,可以执行下面命令:
select object_type,status from user_objects where object_name=upper(‘package1’);
注意:upper的使用,数据字典里的所有对象均为大写形式,而PL/SQL里不是大小写敏感的,所以在实际操作中一定要注意大小写匹配。
user_tab_privs视图:
该视图主要是存储当前用户下对所有表的权限信息。比如,为了了解当前用户对table1的权限信息,可以执行如下命令:
select * from user_tab_privs where table_name=upper(‘table1‘)
了解了当前用户对该表的权限之后就可以清楚的知道,哪些操作可以执行,哪些操作不能执行。
前面的视图均为user_开头的,其实all_开头的也完全是一样的,只是列出来的信息是当前用户可以访问的对象而不是当前用户拥有的对象。对于dba_开头的需要管理员权限,其他用法也完全一样,这里就不再赘述了。
2.动态数据字典
Oracle包含了一些潜在的由系统管理员如SYS维护的表和视图,由于当数据库运行的时候它们会不断进行更新,所以称它们为动态数据字典(或者是动态性能视图)。这些视图提供了关于内存和磁盘的运行情况,所以我们只能对其进行只读访问而不能修改它们。
Oracle中这些动态性能视图都是以v$开头的视图,比如v$access。下面就几个主要的动态性能视图进行介绍。
- v$access:该视图显示数据库中锁定的数据库对象以及访问这些对象的会话对象(session对象)。
- v$session:该视图列出当前会话的详细信息。由于该视图字段较多,这里就不列详细字段,为了解详细信息,可以直接在sql*plus命令行下键入:desc v$session即可。
- v$active_instance:该视图主要描述当前数据库下的活动的实例的信息。依然可以使用select语句来观察该信息。
- v$context:该视图列出当前会话的属性信息。比如命名空间、属性值等。
以上是Oracle的数据字典方面的基本内容,运用好数据字典技术,可以让数据库开发人员能够更好的了解数据库的全貌,这样对于数据库优化、管理等有极大的帮助。
二、常用命令
1.用户
查看当前用户的缺省表空间
select username,default_tablespace from user_users;
查看当前用户的角色
select * from user_role_privs;
查看当前用户的系统权限和表级权限
select * from user_sys_privs; select * from user_tab_privs;
2.表
查看用户下所有的表
select * from user_tables;
查看某表的创建时间
select object_name,created from user_objects where object_name=upper(‘&table_name‘);
查看某表的大小
select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper(‘&table_name‘);
查看放在ORACLE的内存区里的表
select table_name,cache from user_tables where instr(cache,‘Y‘)>0;
3.索引
查看索引个数和类别
select index_name,index_type,table_name from user_indexes order by table_name;
查看索引被索引的字段
select * from user_ind_columns where index_name=upper(‘&index_name‘);
查看索引的大小
select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper(‘&index_name‘);
4.序列号
查看序列号,last_number是当前值
select * from user_sequences;
5.视图
查看视图的名称
select view_name from user_views;
6.存储函数和过程
查看函数和过程的状态
select object_name,status from user_objects where object_type=‘FUNCTION‘; select object_name,status from user_objects where object_type=‘PROCEDURE‘;
查看函数和过程的源代码
select text from all_source where owner=user and name=upper(‘&plsql_name‘);
7.表空间
查看表空间的名称及大小
select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size from dba_tablespaces t, dba_data_files d where t.tablespace_name = d.tablespace_name group by t.tablespace_name;
查看表空间物理文件的名称及大小
select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name;
查看表空间的使用情况
select sum(bytes)/(1024*1024) as free_space,tablespace_name from dba_free_space group by tablespace_name;
Oracle学习笔记—数据字典和常用命令(转载)
标签:des bytes space instance esc 描述 情况 执行 china
本文系统来源:http://www.cnblogs.com/Jason-Xiang/p/6907789.html
内容总结
以上是互联网集市为您收集整理的Oracle学习笔记—数据字典和常用命令(转载)全部内容,希望文章能够帮你解决Oracle学习笔记—数据字典和常用命令(转载)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。