第三课
3.5数据字典和动态性能视图
Oracle系统视图分两类:
静态数据字典
动态性能视图
静态数据字典中的视图分为三类,它们分别由三个前缀够成:
user_、
all_、
dba_*
查询所有的数据字典视图:
SELECT * FROM dictionary;
SELECT * FROM dict;
SELECT * FROM dict_columns;
user_:该视图存储了关于当前用户所拥有的对象的信息。
all_:该视图存储了当前用户能够访问的对象的信息。
dba_*:该视图存储了数据库中所有对象的信息。
一个用户可以查询所有数据字典:授权SELECT ANY DICTIONARY权限
例如:dba_tables,all_tables,user_tables
create user fx1 identified by fx1;
grant connect,resource to fx1;
create user fx2 identified by fx2;
grant connect,resource to fx2;
alter user fx1 quota unlimited on users;
alter user fx2 quota unlimited on users;
create table tbs01(name varchar2(100));
grant select on fx1.tbs01 to fx2;
动态性能视图: 当数据库运行的时候它们会不断进行更新,一般以v
开
头
,
例
如
v
开头,例如v
开头,例如vsga,v
s
g
a
i
n
f
o
,
v
sgainfo,v
sgainfo,vinstance,v$session
要求数据库处于mount或者open状态。
http://docs.oracle.com 文档
所有视图:
select * from dictionary
select * dict;
select * from v
f
i
x
e
d
t
a
b
l
e
;
(
固
化
表
)
o
b
j
fixed_table;(固化表) obj
fixedtable;(固化表)obj,ts$
v
开
头
:
本
地
实
例
动
态
性
能
视
图
g
v
开头:本地实例动态性能视图 gv
开头:本地实例动态性能视图gv开头:全局动态性能视图(RAC环境下)
例子:v
i
n
s
t
a
n
c
e
,
g
v
instance,gv
instance,gvinstance
不同场合使用视图:
nomount:v
b
g
p
r
o
c
e
s
s
m
o
u
n
t
:
v
bgprocess mount:v
bgprocessmount:vdatabase、v$dbfile
open
常用视图:
- v$version 数据库版本
- v$database 数据库信息
- v$instance 实例信息(nomount、mount、open status)
- v$session 会话信息
- v$tablespace,dba_tablespaces 表空间(控制文件中获取)
- v d a t a f i l e , v datafile,v datafile,vdbfile,dba_data_files 数据文件
- dba_tables 系统中所有的表
- dba_indexes 系统中所有的索引
- dba_views 系统中所有的视图
- v l o g , v log,v log,vlogfile 重做日志信息(redo log)
控制文件视图
- v$controlfile
- v$controlfile_record_section
数据文件视图:
- v$datafile
- v$dbfile
- dba_data_files
归档文件视图
- v$archived_log
- 历史归档文件:v$log_history
日志文件:
- v$log
- v$logfile
表空间视图:
- v$tablespace
- dba_tablespaces
- dba_free_space
临时文件视图:
- dba_temp_files