数据字典与动态性能视图

动态性能视图
官方介绍
  Oracle contains a set of underlying views that are maintained by the database server and accessible to the database administrator user SYS . These views are called dynamic performance views because they are continuously updated while a database is open and in use, and their contents relate primarily to performance.

Although these views appear to be regular database tables, they are not. These views provide data on internal disk structures and memory structures. You can select from these views, but you can never update or alter them.

动态性能视图主要是Oracle数据的库自动收集并记录当前例程的活动信息。当数据库管理员启动某个例程时,数据库会自动建立动态性能视图;当停止某个例 程时,数据库又会自动删除这些动态性能视图。这表面看起来跟数据字典有异曲同工之妙,但是,两者信息的来源还是有很大差异的。
    数据字典的信息是从数据文件中取得;而动态性能视图的信息则是从SGA内存以及控制文件中取得。
所以,两者所反映的信息还是有很大差异的。数据库管理员利用这些动态性能视图,可以了解数据库运行的一些基本信息,为我们进行数据库维护以及数据库性能优化提供一些数据上的支持。
一般情况下,我们可以通过动态性能数据掌握两类重要的数据库运行信息。一是了解数据库运行相关的性能数据,如内存的使用量、磁盘排序发生的机率等等。二是取得与磁盘和内存结构相关的其他信息。
select * from v$fixed_table;查看当前可看所有动态性能视图。在通常情况下,数据库不同的状态其动态性能视图还是有比较大的差异。
一是数据库处于“NOMOUNT”状态。数据库启动例程时,Oracle数据库会打开参数文件,分配SGA内存并启动后台进程。此时,其实数据库还 没有挂栽。此时,动态性呢视图收集的信息来源只有是SGA,而不会从控制文件中收集相关的信息。所以,动态性能视图的数量要少得多。
二是当数据库处于MOUNT状态时,数据库会根据初始化参数打开所有的控制文件。所以,当例程处于Mount状态时,动态性能视图其收集到的信 息就要第一个状态多的多。因为此时,动态性能视图还会去收集控制文件的相关信息。不过,此时动态性能视图所收集到的资料还不是最全的。
三是当用户打开数据库时,Oracle系统会根据控制文件所记载的信息去打开所有的数据库文件以及重做日志。此时,数据库管理员除了可以从 SGA和控制文件中获取信息的动态性能视图外,还可能访问与Oracle数据库性能相关的动态性能视图,如会话等待时间等视图。另外需要注意一点,就是只 有在这个状态时,我们才能够访问数据库的数据字典视图。

数据字典

官方的介绍:

One of the most important parts of an Oracle database is its data dictionary, which is a read-only set of tables that provides information about the database. A data dictionary contains:

  • The definitions of all schema objects in the database (tables, views, indexes, clusters, synonyms, sequences, procedures, functions, packages, triggers, and so on)

  • How much space has been allocated for, and is currently used by, the schema objects

  • Default values for columns

  • Integrity constraint information

  • The names of Oracle users

  • Privileges and roles each user has been granted

  • Auditing information, such as who has accessed or updated various schema objects

  • Other general database information

The data dictionary is structured in tables and views, just like other database data. All the data dictionary tables and views for a given database are stored in that database's SYSTEM tablespace.

Not only is the data dictionary central to every Oracle database, it is an important tool for all users, from end users to application designers and database administrators. Use SQL statements to access the data dictionary. Because the data dictionary is read only, you can issue only queries (SELECT statements) against it's tables and views.

数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的。比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等。

数据库数据字典是一组表和视图结构。它们存放在SYSTEM表空间中,当用户在对数据库中的数据进行操作时遇到困难就可以访问数据字典来查看详细的信息。

用户可以用SQL语句访问数据库数据字典。

数据字典内容包括:

1,数据库中所有模式对象的信息,如表、视图、簇、及索引等。

2,分配多少空间,当前使用了多少空间等。

3,列的缺省值。

4,约束信息的完整性。

5,Oracle用户的名字。

6,用户及角色被授予的权限。

7,用户访问或使用的审计信息。

8,其它产生的数据库信息。

数据字典:这类数据字典主要是由表和视图组成

数据字典中的表是不能直接被访问的,但是可以访问数据字典中的视图。

静态数据字典中的视图分为三类,它们分别由三个前缀够成:user_*、 all_*、 dba_*。

user_*

该视图存储了关于当前用户所拥有的对象的信息。(即所有在该用户模式下的对象)

all_*

该试图存储了当前用户能够访问的对象的信息。(与user_*相比,all_* 并不需要拥有该对象,只需要具有访问该对象的权限即可)

dba_*

该视图存储了数据库中所有对象的信息。(前提是当前用户具有访问这些数据库的权限,一般来说必须具有管理员权限)

select * from dictionary;

--查询该用户拥有哪些表

--user_tables主要描述当前用户拥有的所有表的信息,

--主要包括表名、表空间名、簇名等。通过此视图可以清楚了解当前用户可以操作的表有哪些

desc user_tables;

select table_name from user_tables;

select * from user_tables;

--查询该用户拥有哪些索引

select index_name from user_indexes;

--查询该用户拥有哪些视图

select view_name from user_views;

--查询该用户拥有哪些数据库对象,对象包括表、视图、存储过程、触发器、包、索引、序列、JAVA文件等。

select object_name from user_objects;

--主要描述当前用户的信息,主要包括当前用户名、帐户id、帐户状态、表空间名、创建时间等。

select * from user_users;

--user_/all_区别:

all_列出来的信息是当前用户可以访问的对象而不是当前用户拥有的对象。

查询某一用户下的所有表、过程、函数等信息。

select owner , object_name ,object_type from all_objects

--对于dba_开头的需要管理员权限,

--查询表空间的信息(当前用户必须拥有DBA角色)。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23190213/viewspace-661548/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/23190213/viewspace-661548/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值