oracle常用系统视图

dba_是sysdba这些拥有dba权限的用户才能查看的基表。
user_仅当前用户能访问。
v$是oracle里的动态性能试图,实时反映当前数据库的相关配置与参数等。
all_所有用户均可访问。
X$表仅仅驻留在内存中,X$表包含了特定实例的各方面的信息,是Oracle数据库的运行基础,如当前的配置信息,连接到实例的会话,以及丰富而有价值的性能信息。

######常用的动态性能视图表:
  v$archived_log 归档日志信息
1:V$FIXED_TABLE – 列出所有可用的动态性能视图和动态性能表  
  v$fixed_view_definition 查询视图的定义
2:V$INSTANCE – 取得当前例程的详细信息   
3:V$SGA – 用于显示SGA主要组成部分   
4:V$SGAINFO – 取得SGA更详细的信息   
5:V$PARAMETER – 取得初始化参数的详细信息   
6:V$VERSION – 取得ORACLE版本的详细信息   
7:V$OPTION – 该动态性能视图用于显示已经安装的Oralce选项   
8:V$SESSION – 用于显示会话的详细信息  
   v$session_wait  这是一个寻找性能瓶颈的关键视图。它提供了任何情况下session在数据库中当前正在等待什么
                         SID: session标识

                         EVENT: session当前等待的事件,或者最后一次等待事件。

                         WAIT_TIME: session等待事件的时间(单位,百分之一秒)如果本列为0,说明session当前session还未有任何等待。

                          SEQ#: session等待事件将触发其值自增长

                          P1, P2, P3: 等待事件中等待的详细资料

                           P1TEXT, P2TEXT, P3TEXT: 解释说明p1,p2,p3事件
   v$statname获取系统的统计量的说明  STATISTIC#相当于编号,NAME就是统计量的名称
   v$mystat获取当前用户的在v$statname中的每个统计量的值
两个视图按STATISTIC#连接,
9:V$PROCESS – 显示Oracel所有进程的信息(包括后台进程和服务器进程)   
10 V$BGPROCESS – 用于显示后台进程的详细信息   
11 V$DATABASE – 用于显示当前数据的详细信息   
12 V$CONTROLFILE – 显示所有控制文件的信息   
13 V$DATAFILE – 数据文件的详细信息   
14 V$DBFILE – 显示数据文件编号及名称   
15 V$LOGFILE – 用于显示重做日志redo成员的信息   


16 V$LOG – 显示日志组的状态详细信息   
17 V$THEAD – 取得重做线程的详细信息   
18 V$LOCK – 用于显示锁的信息,通过与V$SESSION进行连接查询,可以显示占有锁的会话,以及等待锁的会话   
        SQL>select a.username,a.mechine,b.lmode,b.request 
            from v$session a,v$lock b    
            where a.sid=b.sid and a.type='USER';   
19 V$LOCKED_OBJECT 显示被加锁的数据库对象,通过与DBA_OBJECT进行连接查询,可以显示具体的对象名及执行加锁操作的ORACLE用户名   
        SQL>select a.oracle_username,b.owner||'.'||b.object_name object   
            from V$LOCKED_OBJECT a,DBA_OBJECT b   
            where a.object_id = b.object_id   
20 V$TABLESPACE – 显示表空间的信息   
21 V$TEMPFILE – 显示数据库所包含的临时文件

v$diag_info 诊断信息视图
role_sys_privs 查询角色权限

查看所有视图:
select * from v$fixed_table where name like 'V$%'; 
############user_开头表用户视图

   user_objects            用户对象信息
   user_source             数据库用户的所有资源对象信息
   user_segments        用户的表段信息
   user_tables              用户的表对象信息
   user_tab_columns    用户的表列信息
   user_constraints 用户的对象约束信息
   user_sys_privs   当前用户的系统权限信息
   user_tab_privs    当前用户的对象权限信息
   user_col_privs    当前用户的表列权限信息
   user_role_privs   当前用户的角色权限信息
   user_indexes              用户的索引信息
   user_ind_columns       用户的索引对应的表列信息
   user_cons_columns    用户的约束对应的表列信息
   user_clusters              用户的所有簇信息
   user_clu_columns      用户的簇所包含的内容信息
   user_cluster_hash_expressions   散列簇的信息 
   user_dump_dest       用户备份目录
   user_tab_comments   用户表的注释信息
   user_col_comments   用户列的注释信息



oracle中查询某个表的列数

select count(*) from user_tab_columns where table_name= upper('sys_operate')
#############

1.dba_开头表
   dba_users           数据库用户信息
   dba_segments    表段信息
   dba_extents        数据区信息
   dba_objects        数据库对象信息
   dba_tablespaces 数据库表空间信息
   dba_data_files     数据文件设置信息
   dba_temp_files    临时数据文件信息
   dba_rollback_segs         回滚段信息
   dba_ts_quotas               用户表空间配额信息
   dba_free_space              数据库空闲空间信息
   dba_profiles                    数据库用户资源限制信息
   dba_sys_privs                用户的系统权限信息
   dba_tab_privs                 用户具有的对象权限信息
   dba_col_privs                用户具有的列对象权限信息
   dba_role_privs                用户具有的角色信息
   dba_audit_trail                审计跟踪记录信息
   dba_stmt_audit_opts       审计设置信息
   dba_audit_object             对象审计结果信息
   dba_audit_session          会话审计结果信息
   dba_indexes                   用户模式的索引信息 
   dba_views      数据库中所包含的所有视图

oracle中查询某个字段属于哪个表

select table_name,owner from dba_tab_columns t where t.COLUMN_NAME like upper('%username%');

####################all_开头表

   all_users                数据库所有用户的信息
   all_objects              数据库所有的对象的信息
   all_def_audit_opts   所有默认的审计设置信息
   all_tables                所有的表对象信息
   all_indexes             所有的数据库对象索引的信息

#####################session_开头表
   session_roles    会话的角色信息
   session_privs    会话的权限信息

#######################index_开头表
    index_stats      索引的设置和存储信息 
#######################x开头的视图

x$kccle—- [K]ernel [C]ache [C]ontrolfile management [L]ogfil[E] record
 记录了logfile的使用情况

LESIZ ——logfile大小(以逻辑块表示)
LESEQ——log sequence #
LEBSZ——logfile逻辑块大小
//日志块的大小:
redo block sizes是源码固定的,与操作系统无关,从X$kccle 
select max(lebsz) from x$kccle;


##############role_开头
role_sys_privs查看角色有哪些权限
user_sys_privs   当前用户的系统权限信息

//查看角色权限
SQL> select * from role_sys_privs where role='RESOURCE';



dba_开头 
dba_users 数据库用户信息 
dba_segments 表段信息 
dba_extents 数据区信息 
dba_objects 数据库对象信息 
dba_tablespaces 数据库表空间信息 
dba_data_files 数据文件设置信息 
dba_temp_files 临时数据文件信息 
dba_rollback_segs 回滚段信息 
dba_ts_quotas 用户表空间配额信息 
dba_free_space 数据库空闲空间信息 
dba_profiles 数据库用户资源限制信息 
dba_sys_privs 用户的系统权限信息 
dba_tab_privs 用户具有的对象权限信息 
dba_col_privs 用户具有的列对象权限信息 
dba_role_privs 用户具有的角色信息 
dba_audit_trail 审计跟踪记录信息 
dba_stmt_audit_opts 审计设置信息 
dba_audit_object 对象审计结果信息 
dba_audit_session 会话审计结果信息 
dba_indexes 用户模式的索引信息


user_开头 
user_objects 用户对象信息 
user_source 数据库用户的所有资源对象信息 
user_segments 用户的表段信息 
user_tables 用户的表对象信息 
user_tab_columns 用户的表列信息

关于这个还涉及到两个常用的例子如下:

1、oracle中查询某个字段属于哪个表


Sql代码
select table_name,owner from dba_tab_columns t where t.COLUMN_NAME like upper('%username%'); 


2、oracle中查询某个表的列数

Sql代码
select count(*) from user_tab_columns where table_name= upper('sys_operate'); 


注:这两个例子都用到了upper这个函数,是因为在这里表名得大写,否则查出的结果不是正确的




user_constraints 用户的对象约束信息 
user_sys_privs 当前用户的系统权限信息 
user_tab_privs 当前用户的对象权限信息 
user_col_privs 当前用户的表列权限信息 
user_role_privs 当前用户的角色权限信息 
user_indexes 用户的索引信息 
user_ind_columns 用户的索引对应的表列信息 
user_cons_columns 用户的约束对应的表列信息 
user_clusters 用户的所有簇信息 
user_clu_columns 用户的簇所包含的内容信息 
user_cluster_hash_expressions 散列簇的信息



v$开头 
v$database 数据库信息 
v$datafile 数据文件信息 
v$controlfile 控制文件信息 
v$logfile 重做日志信息 
v$instance 数据库实例信息 
v$log 日志组信息 
v$loghist 日志历史信息 
v$sga 数据库SGA信息 
v$parameter 初始化参数信息 
v$process 数据库服务器进程信息 
v$bgprocess 数据库后台进程信息 
v$controlfile_record_section 控制文件记载的各部分信息 
v$thread 线程信息 
v$datafile_header 数据文件头所记载的信息 
v$archived_log 归档日志信息 
v$archive_dest 归档日志的设置信息 
v$logmnr_contents 归档日志分析的DML DDL结果信息 
v$logmnr_dictionary 日志分析的字典文件信息 
v$logmnr_logs 日志分析的日志列表信息 
v$tablespace 表空间信息 
v$tempfile 临时文件信息 
v$filestat 数据文件的I/O统计信息 
v$undostat Undo数据信息 
v$rollname 在线回滚段信息 
v$session 会话信息 
v$transaction 事务信息 
v$rollstat 回滚段统计信息 
v$pwfile_users 特权用户信息 
v$sqlarea 当前查询过的sql语句访问过的资源及相关的信息 
v$sql 与v$sqlarea基本相同的相关信息 
v$sysstat 数据库系统状态信息


all_开头 
all_users 数据库所有用户的信息 
all_objects 数据库所有的对象的信息 
all_def_audit_opts 所有默认的审计设置信息 
all_tables 所有的表对象信息 
all_indexes 所有的数据库对象索引的信息 

session_开头 
session_roles 会话的角色信息 
session_privs 会话的权限信息


index_开头 
index_stats 索引的设置和存储信息


伪表 
dual 系统伪列表信息 


oracle最重要的9个动态性能视图 
v$session + v$session_wait (在10g里功能被整合,凑合算1个吧.) 
v$process 
v$sql 
v$sqltext 
v$bh (更宁愿是x$bh) 
v$lock 
v$latch_children 
v$sysstat 
v$system_event 
按组分的几组重要的性能视图 

1. System 的 over view 
v$sysstat , v$system_event , v$parameter 

2. 某个session 的当前情况 
v$process , v$session , v$session_wait ,v$session_event , v$sesstat 

3. SQL 的情况 
v$sql , v$sqlarea , v$SQL_PLAN , V$SQL_PLAN_STATISTICS, v$sqltext_with_newlines 

3. Latch / lock /ENQUEUE 
v$latch , v$latch_children , v$latch_holder , v$lock ,V$ENQUEUE_STAT ,V$ENQUEUE_LOCK 

4. IO 方面的 
v$segstat , v$filestat , v$tempstat ,v$datafile , v$tempfile 

5. shared pool / Library cache 
v$Librarycache , v$rowcache , x$ksmsp 

6. 几个advice也不错 
v$db_cache_advice , v$PGA_TARGET_ADVICE, v$SHARED_POOL_ADVICE

Leave a Reply