oracle dba_* 和 v$* 表区别
v$ 开头的是动态性能视图,其数据存放在内存中,动态变化,一旦实例被关闭,里面的数据就会被清空,重启实例后重新设置。数据库mount状态下可以查询。
dba_ 开头的数据字典是静态视图,数据存放在表文件中,关闭数据库实例后,数据不会被清空。数据库open状态下才可以查询。
user_* (当前用户所拥有对象的有关信息)
all_* (当前用户可访问对象的信息)
dba_* (数据库中所有对象的信息)
查询数据字典数据时使用大写字母。可用upper\lower函数转换。
ORACLE 中 dba,user,v$ 等开头的常用表和视图
dba_开头
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
dba_users 数据库用户信息 dba_segments 表段信息 dba_extents 数据区信息 dba_objects 数据库对象信息 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_开头
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
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 散列簇的信息 |
1、oracle中查询某个字段属于哪个表
1 |
select table_name,owner from dba_tab_columns t where t.COLUMN_NAME like upper('%username%'); |
2、oracle中查询某个表的列数
1 |
select count(*) from user_tab_columns where table_name= upper('sys_operate'); |
注:这两个例子都用到了upper这个函数,是因为在这里表名得大写,否则查出的结果不是正确的
v$开头
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
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_开头
1 2 3 4 5 |
all_users 数据库所有用户的信息 all_objects 数据库所有的对象的信息 all_def_audit_opts 所有默认的审计设置信息 all_tables 所有的表对象信息 all_indexes 所有的数据库对象索引的信息 |
session_开头
1 2 |
session_roles 会话的角色信息 session_privs 会话的权限信息 |
index_开头
1 |
index_stats 索引的设置和存储信息 |
伪表
1 |
dual 系统伪列表信息 |
oracle最重要的几组重要的性能视图
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