1、前述
- DBA/ALL/USER/V_$/GV_$/SESSION/INDEX开头的绝大部分都是视图
- V$/GV$开头的绝大部分都是V_$/GV_$表的别名;X$没有对应的X_$
- 当某一用户本身就为数据库DBA时,DBA_XXX与ALL_XXX等价
- 注意:在ORACLE数据库中大小写是敏感的,而此三表中数据默认都是大写的,所以在进行查询的时候注意小写的数据可能会造成数据无法查到
2、系统表或视图
2.1、ALL开头
- 1、ALL_COL_COMMENTS --查询所有用户的表的列名和注释
- 2、ALL_DEF_AUDIT_OPTS --所有默认的审计设置信息
- 3、ALL_INDEXES --所有的数据库对象索引的信息
- 4、ALL_OBJECTS --数据库所有的对象的信息
- 5、ALL_TAB_COLUMNS --查询所有用户的表的列名等信息
- 6、ALL_TAB_COMMENTS --查询所有用户的表,视图等注释
- 7、ALL_TABLES --所有的表对象信息
- 8、ALL_USERS --数据库所有用户的信息
- 9、ALL_VIEWS --数据库所有视图的信息
2.2、DBA开头
- 1、DBA_AUDIT_OBJECT --对象审计结果信息
- 2、DBA_AUDIT_SESSION --会话审计结果信息
- 3、DBA_AUDIT_TRAIL --审计跟踪记录信息
- 4、DBA_COL_PRIVS --用户具有的列对象权限信息
- 5、DBA_DATA_FILES --数据文件设置信息
- 6、DBA_EXTENTS --数据区信息
- 7、DBA_FREE_SPACE --数据库空闲空间信息
- 8、DBA_INDEXES --用户模式的索引信息
- 9、DBA_LOBS --LOB数据信息
- 10、DBA_OBJECTS --数据库对象信息
- 11、DBA_PROFILES --数据库用户资源限制信息
- 12、DBA_ROLE_PRIVS --用户具有的角色信息
- 13、DBA_ROLES --角色信息
- 14、DBA_ROLLBACK_SEGS --回滚段信息
- 15、DBA_SEGMENTS --表段信息
- 16、DBA_STMT_AUDIT_OPTS --审计设置信息
- 17、DBA_SYS_PRIVS --用户的系统权限信息
- 18、DBA_TAB_PRIVS --用户具有的对象权限信息
- 19、DBA_TABLESPACES --数据库表空间信息
- 20、DBA_TEMP_FILES --临时数据文件信息
- 21、DBA_TS_QUOTAS --用户表空间配额信息
- 22、DBA_USERS --数据库用户信息
- 23、DBA_VIEWS --数据库的视图信息
2.3、USER开头
- 1、USER_CLU_COLUMNS --用户的簇所包含的内容信息
- 2、USER_CLUSTER_HASH_EXPRESSIONS --散列簇的信息
- 3、USER_CLUSTERS --用户的所有簇信息
- 4、USER_COL_COMMENTS – 查询本用户的表的列名和注释
- 5、USER_COL_PRIVS --当前用户的表列权限信息
- 6、USER_CONS_COLUMNS --用户的约束对应的表列信息
- 7、USER_CONSTRAINTS --用户的对象约束信息
- 8、USER_IND_COLUMNS --用户的索引对应的表列信息
- 9、USER_INDEXES --用户的索引信息
- 10、USER_OBJECTS --用户对象信息
- user_objects视图中created、last_ddl_time、timestamp字段说明
- created:对象的创建时间
- last_ddl_time:跟对象相关的(不一定是改变对象的结构,也可以是其他相关,如,如果此对象是表,则将该表的select权限赋给其他用户也会改变这个字段的值)最后ddl操作的执行时间
- timestamp:对象自身结构发生改变的时间,比如删除字段、添加字段等
- 11、USER_ROLE_PRIVS --当前用户的角色权限信息
- 12、USER_SEGMENTS --用户的表段信息
- 13、USER_SOURCE --数据库用户的所有资源对象信息
- 14、USER_SYS_PRIVS --当前用户的系统权限信息
- 15、USER_TAB_COLUMNS --用户的表列信息
- 16、USER_TAB_PRIVS --当前用户的对象权限信息
- 17、USER_TABLES --用户的表对象信息
- 18、USER_TABLESPACES –查看当前用户表空间信息
- 19、USER_USERS –查看当前用户信息(包含默认表空间)
- 20、USER_VIEWS --用户的视图信息
2.4、V$开头
- 1、V$ACTIVE_SESSION_HISTORY --显示数据库中的采样会话活动
- 2、V$ARCHIVE_DEST --归档日志的设置信息
- 3、V$ARCHIVED_LOG --归档日志信息
- 4、V$BGPROCESS --数据库后台进程信息
- 5、V$CONTROLFILE --控制文件信息
- 6、V$CONTROLFILE_RECORD_SECTION --控制文件记载的各部分信息
- 7、V$DATABASE --数据库信息
- 8、V$DATAFILE --数据文件信息
- 9、V$DATAFILE_HEADER --数据文件头所记载的信息
- 10、V$FILESTAT --数据文件的I/O统计信息
- 11、V$INSTANCE --数据库实例信息
- 12、V$LOCKED_OBJECT –-用户锁表信息
- 13、V$LOG --日志组信息
- 14、V$LOGFILE --重做日志信息
- 15、V$LOGHIST --日志历史信息
- 16、V$LOGMNR_CONTENTS --归档日志分析的DML DDL结果信息
- 17、V$LOGMNR_DICTIONARY --日志分析的字典文件信息
- 18、V$LOGMNR_LOGS --日志分析的日志列表信息
- 19、V$PARAMETER --初始化参数信息
- 20、V$PROCESS --数据库服务器进程信息
- 21、V$RESOURCE –资源信息
- 22、V$PWFILE_USERS --特权用户信息
- 23、V$ROLLNAME --在线回滚段信息
- 24、V$ROLLSTAT --回滚段统计信息
- 25、V$SESSION --会话信息
- 26、V$SGA --数据库SGA信息
- 27、V$SQL --与V$SQLAREA基本相同的相关信息
- 28、V$SQLAREA --当前查询过的SQL语句访问过的资源及相关的信息
- 29、V$SYSSTAT --数据库系统状态信息
- 实例:查询用户相关的各种统计信息
- SELECT a.sid, a.statistic#, b.name, a.value FROM v$sesstat a, v$statname b WHERE a.statistic# = b.statistic# AND a.sid = ‘100’;
- 30、V$TABLESPACE --表空间信息
- 31、V$TEMPFILE --临时文件信息
- 32、V$THREAD --线程信息
- 33、V$TRANSACTION --事务信息
- 34、V$UNDOSTAT --UNDO数据信息
2.4.1、V$ACTIVE_SESSION_HISTORY
- 显示数据库中的采样会话活动。ASH每秒从v$session中取快照,存在V$ACTIVE_SESSION_HISTORY中,并收集所有活动会话的等待信息。若ASH数据被刷新到磁盘,则需要从DBA_HIS_ACTIVE_SESS_HISTORY视图中查询相关信息。
- 该视图是ASH的核心,用以记录活动SESSION的历史等待信息,每秒采样一次,这部分内容记录在内存中,期望值是记录一个小时的内容。
- 用法举例:查找最近一分钟内,最消耗CPU的sql语句
SELECT sql_id, count(*), round(count(*) / sum(count(*)) over(), 2