您的位置:首页 > 数据库 > Oracle

Oracle 11g R2 DBA 操作指南(6)

2016-07-27 22:11 477 查看
数据字典

数据字典视图由Oracle数据库服务器自动创建并维护,也就是说只有Oracle服务器可以修改数据字典中的数据。

数据字典有3个基本应用,即在什么场合需要使用数据字典。Oracle和普通用户都会使用数据字典,使用场合说明如下:

Oracle数据库服务器用来寻找用户信息、模式对象信息(如表、索引、触发器等)和存储结构。
当使用DDL语句时,会触发Oracle服务器修改数据字典。
普通用户或者DBA用户使用数据字典获得关于数据库的信息,
如数据文件的存储位置、数据库实例名、参数文件中的参数值、控制文件的信息等。


数据字典视图分为3类,这些视图都是静态视图(静态的含义是这些视图在数据库运行期间不会发生变化,除非执行ANALYZE指令),这三类数据字典视图以不同的前缀区分彼此。

1.DBA_***:该视图包含数据库中整个对象的信息。
以DBA为前缀的视图只能由管理员查询,不要在这些视图上创建同义词。
2.ALL_***:该视图包含某个用户所能看到的全部数据库信息。
包括当前用户所拥有的模式对象和用户可以访问的其他公共对象,
还有通过授权或授予角色可以访问的模式对象。
3.USER_***:该视图包含当前用户访问的数据库对象信息。
它反映了数据库中某个用户的全部情况,该类视图隐含了owner信息,
其全部内容为以ALL为前缀的视图的子集。

使用数据字典视图
1.查看当前用户所拥有的表
SELECT * FROM USER_TABLES;
2.查看当前用户创建的索引
SELECT * FROM USER_INDEXES;
3.查看当前用户拥有的视图
SELECT * FROM USER_VIEWS;
4.查询该视图的结构
DESC USER_CATALOG;
5.查询用户SCOTT的所有表名和类型
SELECT * FROM USER_CATALOG;
6.查看数据库系统上创建的用户信息
SELECT * FROM DBA_USERS;


动态性能视图及使用

动态性能视图只存在于运行的数据库中,它是一组虚表,通常也把这组表称为动态性能表(dynamic performance table)

数据库的动态性能视图只有管理员用户可以查询,而其他普通用户不需要查询这些虚表中的信息。任何用户都无法修改或删除动态性能视图,所以有时这些动态性能视图也被称为固定视图(fixed view)

SYS用户拥有所有的动态性能视图,这些动态性能视图以v$为前缀,如v$controlfile包含了控制文件存储目录和文件名信息,v$datafile包含了数据库文件信息,v$fixed_table视图包含了当前所有动态性能视图。

1.查看日志组状态信息
SELECT GROUP#,MEMBERS,ARCHIVED,STATUS FROM v$log;
2.查看重做日志文件信息
SELECT * FROM v$logfile;
3.为一个联合查询,查询当前正在使用的重做日志文件的信息
SELECT L.GROUP#,L.ARCHIVED,L.STATUS,LF.TYPE,LF.MEMBER
FROM v$log L,v$logfile LF
WHERE L.GROUP# = LF.GROUP# AND L.STATUS = 'CURRENT';
4.通过v$instance视图查看实例信息
SELECT INSTANCE_NAME,HOST_NAME,VERSION,STARTUP_TIME,LOGINS
FROM v$instance;
5.查看当前数据库的信息
SELECT NAME,CREATED,LOG_MODE FROM v$database;


动态性能视图反映了数据库当前的运行状态和各种对象的活跃信息,动态性能视图是DBA进行故障判断和数据库性能调优的重要依据。

2016/07/27 22:09:00
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle 11g dba