Oracle常用数据字典表(系统表或系统视图)及查询SQL

合集下载

ORACLE数据字典

ORACLE数据字典

ORACLE数据字典(一)数据字典概念Oracle数据字典由表和视图组成,其中存储了一些与数据库结构信息相关的数据库对象。

数据字典描述了实际数据的组织方式。

例如,表的创建者信息、创建时间信息、表空间信息、用户访问权限信息等。

它们可以像其他数据库表或视图一样进行查询,但不能修改。

它们存储在系统表空间中。

当用户在操作数据库中的数据时遇到困难,他们可以访问数据字典来查看详细信息。

数据字典不仅是数据库的核心,也是所有用户,包括最终用户、程序员和数据库管理员的重要工具。

因为数据字典是只读的,所以我们只能对其表或视图使用SQL查询语句。

oracle数据库字典通常是在创建和安装数据库时被创建的,oracle数据字典是oracle数据库系统工作的基础,没有数据字典的支持,oracle数据库系统就不能进行任何工作。

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

数据字典内容包括:1.数据库中所有模式对象的信息,如表、视图、集群、索引、集群、同义词、序列、过程、方法、包、触发器等。

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

3,列的缺省值。

4.约束信息的完整性。

5.Oracle用户的名称。

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

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

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

(二)数据字典分类数据字典按照存在的形式分为数据字典表和数据字典视图。

2.1数据字典表数据字典表里的数据是oracle系统存放的系统数据,而普通表存放的是用户的数据。

为了方便的区别这些表,这些表的名字都是用\结尾,这些表属于sys用户。

数据字典表由$oracle_uuhome/rdbms/admin/sql创建。

创建BSQ脚本,并在此脚本中调用其他脚本来创建这些数据字典表。

在这些创建脚本中使用基表创建SQL。

只有Oracle可以读取和写入这些数据字典表。

基表是存储数据库信息的基础表。

基表是在任何Oracle 数据库中创建的第一个对象。

使用“创建数据库”创建数据库时,只要Oracle server运行SQL BSQ脚本,就会自动创建这些对象。

Oracle常用数据字典表及动态视图

Oracle常用数据字典表及动态视图

Oracle常用数据字典表查看当前用户的缺省表空间SQL>select username,default_tablespace from user_users;查看当前用户的角色SQL>select * from user_role_privs;查看当前用户的系统权限和表级权限SQL>select * from user_sys_privs;SQL>select * from user_tab_privs;查看用户下所有的表SQL>select * from user_tables;查看用户下所有的表的列属性SQL>select * from USER_TAB_COLUMNS where table_name=:table_Name;显示用户信息(所属表空间)select default_tablespace,temporary_tablespacefrom dba_users where username='GAME';1、用户查看当前用户的缺省表空间SQL>select username,default_tablespace from user_users;查看当前用户的角色SQL>select * from user_role_privs;查看当前用户的系统权限和表级权限SQL>select * from user_sys_privs;SQL>select * from user_tab_privs;显示当前会话所具有的权限SQL>select * from session_privs;显示指定用户所具有的系统权限SQL>select * from dba_sys_privs where grantee='GAME';显示特权用户select * from v$pwfile_users;显示用户信息(所属表空间)select default_tablespace,temporary_tablespacefrom dba_users where username='GAME';显示用户的PROFILEselect profile from dba_users where username='GAME';2、表查看用户下所有的表SQL>select * from user_tables;查看名称包含log字符的表SQL>select object_name,object_id from user_objects where instr(object_name,'LOG')>0;查看某表的创建时间SQL>select object_name,created from user_objects where object_name=upper('&table_name');查看某表的大小SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segmentswhere segment_name=upper('&table_name');查看放在Oracle的内存区里的表SQL>select table_name,cache from user_tables where instr(cache,'Y')>0;3、索引查看索引个数和类别SQL>select index_name,index_type,table_name from user_indexes order by table_name;查看索引被索引的字段SQL>select * from user_ind_columns where index_name=upper('&index_name');查看索引的大小SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segmentswhere segment_name=upper('&index_name');4、序列号查看序列号,last_number是当前值SQL>select * from user_sequences;5、视图查看视图的名称SQL>select view_name from user_views;查看创建视图的select语句SQL>set view_name,text_length from user_views;SQL>set long 2000; 说明:可以根据视图的text_length值设定set long 的大小SQL>select text from user_views where view_name=upper('&view_name');6、同义词查看同义词的名称SQL>select * from user_synonyms;7、约束条件查看某表的约束条件SQL>select constraint_name, constraint_type,search_condition, r_constraint_name from user_constraints where table_name = upper('&table_name');SQL>select c.constraint_name,c.constraint_type,cc.column_namefrom user_constraints c,user_cons_columns ccwhere c.owner = upper('&table_owner') and c.table_name = upper('&table_name') and c.owner = cc.owner and c.constraint_name = cc.constraint_nameorder by cc.position;8、存储函数和过程查看函数和过程的状态SQL>select object_name,status from user_objects where object_type='FUNCTION'; SQL>select object_name,status from user_objects where object_type='PROCEDURE';查看函数和过程的源代码SQL>select text from all_source where owner=user and name=upper('&plsql_name'); 常用的数据字典:dba_data_files:通常用来查询关于数据库文件的信息dba_db_links:包括数据库中的所有数据库链路,也就是databaselinks。

oracle常用数据字典

oracle常用数据字典

以下表格中收集了Oracle数据字典中几乎所有的视图或别名,至于每个视图或别名的字段请用‘Describe’语句来查询。

命名说明:Oracle数据字典中,对象名称多数以"USER.","ALL.","DBA."为前缀"USER."视图中记录通常记录执行查询的帐户所拥有的对象的信息,"ALL."视图中记录包括"USER"记录和授权至PUBLIC或用户的对象的信息,"DBA."视图包含所有数据库对象,而不管其所有者。

使用举例:select * from dba_data_files查询表空间的信息(当前用户必须拥有DBA角色)。

select owner , object_name ,object_type from all_objects查询某一用户下的所有表、过程、函数等信息。

附录E ORACLE 系统常用数据字典E.1 对象、表、视图、同义词、序列DBA_OBJECTS(实例中的对象)存放的对象包括:CLUSTER、DATABASE_LINK、FUNCTION,INDEX,PACKAGE, PROCEDURE,SEQUENCE,SYNONYM,TABLE,TRIGGER,VIEW,TYPE,DIRECTORY等。

---------------------------------------------------------------列名说明---------------------------------------------------------------OWNER VARCHAR2(30) 对象主人OBJECT_NAME VARCHAR2(128) 对象名SUBOBJECT_NAME VARCHAR2(30) 字对象名,如分区OBJECT_ID NUMBER 对象的标识DATA_OBJECT_ID NUMBER 对象的对象数OBJECT_TYPE VARCHAR2(18) 对象的类型,如INDEX CREATED DATE 建立对象的日期及时间LAST_DDL_TIME DATE 最后一次执行DDL的时间(含grants revokes) TIMESTAMP VARCHAR2(19) 对象生成的日期及时间STATUS VARCHAR2(7) 对象的状态: VALID, INVALID TEMPORARY VARCHAR2(1) 标识为临时表GENERATED VARCHAR2(1) 标识对象是否为系统生成SECONDARY VARCHAR2(1) 是否为第2次建立演示索引---------------------------------------------------------------DBA_TABLES (实例中的表)---------------------------------------------------------------列名说明---------------------------------------------------------------OWNER 表的所有者TABLE_NAME 表名TABLESPACE_NAME 包含表的表空间; NULL为分区表CLUSTER_NAME 表所属的CLUSTER名IOT_NAME 表的索引结构名PCT_FREE 块中自由空间百分比,NULL为分区表PCT_USED 块中使用空间百分比,NULL为分区表INI_TRANS 初始事务如口数,NULL为分区表MAX_TRANS 最大事务如口数,NULL为分区表INITIAL_EXTENT 初始分配字节数,NULL为分区表NEXT_EXTENT 下次扩展字节数,NULL为分区表MIN_EXTENTS 最小扩展次数,NULL为分区表MAX_EXTENTS 最大扩展次数,NULL为分区表PCT_INCREASE 相对上次增长百分比,NULL为分区表FREELISTS 段的自由分配列表数,NULL为分区表FREELIST_GROUPS 组的自由分配列表数,NULL为分区表LOGGING 登录属性,NULL为分区表BACKED_UP 上次改变以来备份标记NUM_ROWS 表中的行数BLOCKS 表中的块数EMPTY_BLOCKS 表中分配但未使用的块数AVG_SPACE 表中分配但未使用的平均数CHAIN_CNT 表中产生行连接(从一个块到另一各块)的数AVG_ROW_LEN 平均行的字节数AVG_SPACE_FREELIST_BLOCKS 自由列表中所有块的平均自由空间NUM_FREELIST_BLOCKS 自由列表的块数DEGREE 对于查询表的每个实例线程数INSTANCES 表中事务交叉数CACHE 是否为缓存表TABLE_LOCK 是否使能锁SAMPLE_SIZE 分析的样例大小LAST_ANALYZED 最后分析的时间PARTITIONED 表是否为分区表IOT_TYPE 如果为索引结构表,则IOT_TYPE 为 IOT 或 IOT_OVERFLOW否则为NULLTEMPORARY 仅是当前会话使用?SECONDARY 是否为第2次建立演示索引NESTED 是否嵌套表BUFFER_POOL 缺省缓冲区的名字, NULL 为分区表ROW_MOVEMENT 分区时行是否移动GLOBAL_STATS 没有合并的统计计算?USER_STATS 用户是否统计过?DURATION 如果是临时表,则在 sys$session 或sys$transaction 中的持续时间SKIP_CORRUPT 是否跳过冲突块(使能或不使能)MONITORING 监视---------------------------------------------------------------DBA_VIEWS (实例中的视图)---------------------------------------------------------------列名说明---------------------------------------------------------------OWNER VARCHAR2(30) 视图的主人VIEW_NAME VARCHAR2(30) 视图的名字TEXT_LENGTH NUMBER 视图的文本长度TEXT LONG 视图的文本TYPE_TEXT_LENGTH NUMBER 类型视图的子句长度TYPE_TEXT VARCHAR2(4000) 类型视图的子句OID_TEXT_LENGTH NUMBER 类型视图的WITH OID子句长度OID_TEXT VARCHAR2(4000) 类型视图的WITH OID子句VIEW_TYPE_OWNER VARCHAR2(30) 类型视图的主人VIEW_TYPE VARCHAR2(30) 类型视图---------------------------------------------------------------DBA_SYNONYMS(实例中的同义词)--------------------------------------------------------------- 列名说明--------------------------------------------------------------- OWNER VARCHAR2(30) 同义词的主人SYNONYM_NAME VARCHAR2(30) 同义词的名字TABLE_OWNER VARCHAR2(30) 表的主人TABLE_NAME VARCHAR2(30) 表的名字DB_LINK VARCHAR2(128) 数据库连接名---------------------------------------------------------------DBA_SEQUENCES(实例中的序列)--------------------------------------------------------------- 列名说明--------------------------------------------------------------- SEQUENCE_OWNER VARCHAR2(30) 序列的主人SEQUENCE_NAME VARCHAR2(30) 序列名字MIN_VALUE NUMBER 最小值MAX_VALUE NUMBER 最大值INCREMENT_BY NUMBER 增加步长CYCLE_FLAG VARCHAR2(1) 循环标记ORDER_FLAG VARCHAR2(1) 顺序标记CACHE_SIZE NUMBER 缓存大小LAST_NUMBER NUMBER 最后的序列值---------------------------------------------------------------E.2 索引、Cluster及限制(constraints)DBA_INDEXES ( 实例中索引)--------------------------------------------------------------- 列名说明--------------------------------------------------------------- OWNER VARCHAR2(30) 索引主人INDEX_NAME VARCHAR2(30) 索引名字INDEX_TYPE VARCHAR2(27) 索引类型TABLE_OWNER VARCHAR2(30) 表的主人TABLE_NAME VARCHAR2(30) 表的名字TABLE_TYPE VARCHAR2(11) 表的类型UNIQUENESS VARCHAR2(9) 是否唯一索引COMPRESSION VARCHAR2(8) 是否压缩PREFIX_LENGTH NUMBER 前缀长度TABLESPACE_NAME VARCHAR2(30) 表空间名INI_TRANS NUMBER 初始事务数MAX_TRANS NUMBER 最大事务数INITIAL_EXTENT NUMBER 初始扩展大小NEXT_EXTENT NUMBER 下一次扩展大小MIN_EXTENTS NUMBER 最小扩展次数MAX_EXTENTS NUMBER 最大扩展次数PCT_INCREASE NUMBER 相对前一次的增长百分比PCT_THRESHOLD NUMBER 块空间开始分配百分比INCLUDE_COLUMN NUMBER 包括的列数FREELISTS NUMBER 自由列表数FREELIST_GROUPS NUMBER 自由列表组数PCT_FREE NUMBER 块中用于更新的百分比LOGGING VARCHAR2(3) 日志信息BLEVEL NUMBER B*树从根到枝的索引深度LEAF_BLOCKS NUMBER 索引中叶块的数量DISTINCT_KEYS NUMBER 不同键的数目AVG_LEAF_BLOCKS_PER_KEY NUMBER 每个键叶块的平均数AVG_DATA_BLOCKS_PER_KEY NUMBER 每个键数据块的平均数CLUSTERING_FACTOR NUMBER 基表行的排序数,如果该值:* 接近块的大小,则表非常容易排序 * 解决行的大小,则容易随机排序STATUS VARCHAR2(8) 状态NUM_ROWS NUMBER 行的数量SAMPLE_SIZE NUMBER 样本大小LAST_ANALYZED DATE 最后分析时间DEGREE VARCHAR2(40) 扫描索引时的实例数INSTANCES VARCHAR2(40) 实例数PARTITIONED VARCHAR2(3) 是否被分区TEMPORARY VARCHAR2(1) 是否存放在临时表空间GENERATED VARCHAR2(1) 是否是有系统产生索引名SECONDARY VARCHAR2(1) 是否是第2个对象创建BUFFER_POOL VARCHAR2(7) 缓冲区大小USER_STATS VARCHAR2(3) 是否有用户统计过DURATION VARCHAR2(15) 临时表的为期PCT_DIRECT_ACCESS NUMBER 访问百分比ITYP_OWNER VARCHAR2(30) 本地索引的主人ITYP_NAME VARCHAR2(30) 本地索引的名字PARAMETERS VARCHAR2(1000) 本地的参数GLOBAL_STATS VARCHAR2(3) 全局统计标记DOMIDX_STATUS VARCHAR2(12) 本地索引状态:null-非本地;valid-本地索引;idxtyp-invld:本地索引无效DOMIDX_OPSTATUS VARCHAR2(6) 本地索引操作状态:null-非本地;valid-本地索引操作没有错误; failed:本地索引操作有错误FUNCIDX_STATUS VARCHAR2(8) 本地索引函数状态:null-非基本函数索引;valid-函数索引可用;failed: 函数索引不可用。

Oracle常用数据字典

Oracle常用数据字典

一、Oracle数据字典主要由一下几种视图构成:ER视图以USER_为前缀,用来记录用户对象的信息2,ALL视图以ALL_为前缀,用来记录用户对象的信息及被授权访问的对象信息3.DBA视图以DBA_为前缀,用来记录数据库实例的所有对象的信息4.V$视图以V$为前缀,用来记录与数据库活动相关的性能统计动态信息5.GV$视图以GV$为前缀,用来记录分布式环境下所有实例的动态信息二、Oracle常用的数据字典1.基本数据字典字典名称说明DBA_TABLES 所有用户的所有表信息DBA_TAB_COLUMNS 所有用户的表的字段信息DBA_VIEWS 所有用户的所有视图信息DBA_SYNONYMS 所有用户的所有同义词信息DBA_SEQUENCES 所有用户的所有序列信息DBA_CONSTRAINTS 所有用户的表的约束信息DBA_IND_COLUMNS 所有用户的表的索引的字段信息DBA_TRIGGERS 所有用户的触发器信息DBA_SOURCES所有用户的存储过程信息DBA_SEGMENTS 所有用户的段的使用空间信息DBA_EXTENTS 所有用户的段的扩展信息DBA_OBJECTS 所有用户对象的基本信息CAT 当前用户可以访问的所有基表TAB 但前用户创建的所有基表、视图、同义词等DICT 构成数据字典的所有表的信息2.与数据库组件相关的数据字典数据库组件数据字典中的表或视图说明数据库V$DATAFILE 记录系统的运行情况表空间DBA_TABLESPACES 记录系统表空间的基本信息DBA_FREE_SPACE 记录系统表空间的空闲空间信息控制文件V$CONTROLFILE 记录系统控制文件的基本信息V$CONTROL_RECORD_SECTION 记录系统控制文件中记录文档段的信息V$PARAMETER 记录系统个参数的基本信息数据文件DBA_DATA_FILES 记录系统数据文件及表空间的基本信息V$FILESTAT 记录来自控制文件的数据文件信息V$DATAFILE_HEADER 记录数据文件头部的基本信息段DBA_SEGMENTS 记录段的基本信息区DBA_EXTENTS 记录数据区的基本信息日志V$THREAD 记录日志线程的基本信息V$LOG 记录日志文件的基本信息V$LOGFILE 记录日志文件的概要信息归档V$ARCHIVED_LOG 记录归档日志文件的基本信息V$ARCHIVED_DEST 记录归档日志文件的路径信息数据库实例V$INSTANCE 记录实例的基本信息V$SYSTEM_PARAMETER 记录实例当前有效的参数信息内存结构V$SGA 记录SGA区的信息V$SGASTAT 记录SGA的详细信息V$DB_OBJECT_CACHE 记录对象缓存的大小信息V$SQL 记录SQL语句的详细信息V$SQLTEXT 记录SQL语句的语句信息V$SQLAREA 记录SQL区的SQL基本信息后台进程V$BGPROCESS 显示后台进程信息V$SESSION 显示当前会话信息3.常用动态性能视图视图名称说明V$FIXED_TABLE 显示当前发行的固定对象的说明V$INSTANCE 显示当前实例的信息V$LATCH 显示锁存器的统计数据V$LIBRARYCACHE 显示有关库缓存性能的统计数据V$ROLLSTAT 显示联机的回滚段的名字V$ROWCACHE 显示活动数据字典的统计V$SAG 记录SGA区的信息V$SGASTAT 记录SGA的详细信息V$SORT_USAGE 显示临时段的大小及会话V$SQLTEXT 记录SQL语句的语句信息V$SQLAREA 记录SQL区的SQL基本信息V$STSSTAT 显示基本的实例统计信息V$SYSTEM_EVENT 显示一个事件的总计等待时间V$WAITSTAT 显示块竞争统计数据查看当前用户的缺省表空间SQL>select username,default_tablespace from user_users;查看当前用户的角色SQL>select * from user_role_privs;查看当前用户的系统权限和表级权限SQL>select * from user_sys_privs;SQL>select * from user_tab_privs;查看用户下所有的表SQL>select * from user_tables;显示用户信息(所属表空间)select default_tablespace,temporary_tablespacefrom dba_users where username='GAME';1、用户查看当前用户的缺省表空间SQL>select username,default_tablespace from user_users;查看当前用户的角色SQL>select * from user_role_privs;查看当前用户的系统权限和表级权限SQL>select * from user_sys_privs;SQL>select * from user_tab_privs;显示当前会话所具有的权限SQL>select * from session_privs;显示指定用户所具有的系统权限SQL>select * from dba_sys_privs where grantee='GAME';显示特权用户select * from v$pwfile_users;显示用户信息(所属表空间)select default_tablespace,temporary_tablespacefrom dba_users where username='GAME';显示用户的PROFILEselect profile from dba_users where username='GAME';2、表查看用户下所有的表SQL>select * from user_tables;查看名称包含log字符的表SQL>select object_name,object_id from user_objectswhere instr(object_name,'LOG')>0;查看某表的创建时间SQL>select object_name,created from user_objects where object_name=upper('&table_name');查看某表的大小SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segmentswhere segment_name=upper('&table_name');查看放在ORACLE的内存区里的表SQL>select table_name,cache from user_tables where instr(cache,'Y')>0;3、索引查看索引个数和类别SQL>select index_name,index_type,table_name from user_indexes order by table_name;查看索引被索引的字段SQL>select * from user_ind_columns where index_name=upper('&index_name');查看索引的大小SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segmentswhere segment_name=upper('&index_name');4、序列号查看序列号,last_number是当前值SQL>select * from user_sequences;5、视图查看视图的名称SQL>select view_name from user_views;查看创建视图的select语句SQL>set view_name,text_length from user_views;SQL>set long 2000; 说明:可以根据视图的text_length值设定set long 的大小SQL>select text from user_views where view_name=upper('&view_name');6、同义词查看同义词的名称SQL>select * from user_synonyms;7、约束条件查看某表的约束条件SQL>select constraint_name, constraint_type,search_condition, r_constraint_name from user_constraints where table_name = upper('&table_name');SQL>select c.constraint_name,c.constraint_type,cc.column_namefrom user_constraints c,user_cons_columns ccwhere c.owner = upper('&table_owner') and c.table_name = upper('&table_name') and c.owner = cc.owner and c.constraint_name = cc.constraint_nameorder by cc.position;8、存储函数和过程查看函数和过程的状态SQL>select object_name,status from user_objects where object_type='FUNCTION'; SQL>select object_name,status from user_objects where object_type='PROCEDURE';查看函数和过程的源代码SQL>select text from all_source where owner=user and name=upper('&plsql_name');☆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 用户的表列信息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 系统伪列表信息注意:dba权限可以访问动态性能视图。

Oracle维护常用SQL语句(查询系统表和视图)

Oracle维护常用SQL语句(查询系统表和视图)
v$rollstat.gets Gets, v$rollstat.waits Waits, v$rollstat.writes Writes,
sys.dba_rollback_segs.status status from v$rollstat, sys.dba_rollback_segs,
decode(sign(48 - command),
1,
to_char(command), 'Action Code #' || to_char(command) ) action,
p.program oracle_process,
s.terminal terminal,
s.program program,
select s.schemaname schema_name, decode(sign(48 - command), 1,
to_char(command), 'Action Code #' || to_char(command) ) action, status
session_status, s.osuser os_user_name, s.sid, p.spid , s.serial# serial_num,
/
11。查看数据表的参数信息
SELECT partition_name, high_value, high_value_length, tablespace_name,
pct_free, pct_used, ini_trans, max_trans, initial_extent,
next_extent, min_extent, max_extent, pct_increase, FREELISTS,

Oracle系统表大全

Oracle系统表大全

数据字典dict总是属于Oracle用户sys的。

、用户:select username from dba_users;改口令alter user spgroup identified by spgtest;2、表空间:select * from dba_data_files;select * from dba_tablespaces;//表空间select tablespace_name,sum(bytes), sum(blocks)from dba_free_space group by tablespace_name;//空闲表空间select * from dba_data_fileswhere tablespace_name='RBS';//表空间对应的数据文件select * from dba_segmentswhere tablespace_name='INDEXS';3、数据库对象:select * from dba_objects;CLUSTER、DATABASE LINK、FUNCTION、INDEX、LIBRARY、PACKAGE、PAC KAGE BODY、PROCEDURE、SEQUENCE、SYNONYM、TABLE、TRIGGER、TYPE、UNDEFINED、VIEW。

4、表:select * from dba_tables;analyze my_table compute statistics;>dba_tables后6列select extent_id,bytes from dba_extentswhere segment_name='CUSTOMERS' and segment_type='TABLE'order by extent_id;//表使用的extent的信息。

segment_type='ROLLBACK'查看回滚段的空间分配信息列信息:select distinct table_namefrom user_tab_columnswhere column_name='SO_TYPE_ID';5、索引:select * from dba_indexes;//索引,包括主键索引select * from dba_ind_columns;//索引列select i.index_name,i.uniqueness,c.column_namefrom user_indexes i,user_ind_columns cwhere i.index_name=c.index_nameand i.table_name ='ACC_NBR';//联接使用6、序列:select * from dba_sequences;7、视图:select * from dba_views;select * from all_views;text 可用于查询视图生成的脚本8、聚簇:select * from dba_clusters;9、快照:select * from dba_snapshots;快照、分区应存在相应的表空间。

Oracle数据字典与视图

Oracle数据字典与视图

ORACLE数据字典与视图当ORACLE数据库系统启动后,数据字典总是可用,它驻留在SYSTEM表空间中,所有权属于sys(DBA)用户。

数据字典包含数据库中所有模式对象(包括表、视图、索引、聚簇、同义词、序列、过程、函数、包、触发器等)的定义、列的默认值、完整性约束的定义、用户的权限和角色信息、存储空间分配情况、审计信息、字符集信息等数据库信息。

为了方便用户查询,在数据字典表上建立了数据字典视图集。

视图集分为三种,这些视图包含有类似信息,彼此以前缀相区别,前缀为USER、ALL和DBA。

▽前缀为USER_的视图,为用户视图,是在用户的模式内,包含当前用户所拥有的全部对象信息。

如:USER_OBJECTS视图包含当前用户所建立的对象信息。

▽前缀为ALL_的视图,为扩展的用户视图,除包含当前用户所拥有的全部对象信息以外,还包含公共帐号和显式授权用户所拥有的全部模式对象信息。

如:ALL_USERS。

▽前缀为DBA_的视图,为DBA的视图,包含整个数据库的所有用户所拥有的所有对象信息,而不局限于部分用户。

如:DBA_USERS视图包含数据库中所有用户信息。

只有DBA用户或被授予select_any_dictionary系统权限的用户才能够访问DBA视图。

在数据库ORACLE还维护了一组虚表(virtual table),记录当前数据库的活动情况和性能参数,这些表称为动态性能表。

动态性能表的拥有者为SYS用户,名字均以V_$或GV_$为前缀。

动态性能表不是真正的表,许多用户不能直接存取。

DBA可通过查询这些表,了解系统运行状况、诊断和解决系统运行中出现的问题。

DBA可以建立视图,给其它用户授予存取视图权。

为了便于访问,Oracle在动态性能表的基础上建立了公用同义词,这些同义词的名字以V_$开头。

如V_$BGPROCESS视图记录Oracle后台进程信息。

Sys帐号进去在视图下可见全部数据字典。

其它帐号只能通过SQL语句查询ORACLE数据字典与视图(部分,不全)视图名说明ALL_CATALOG 为用户可存取的全部表、视图和序列ALL_COL_COMMENTS 为用户可存取的表和视图列上的注释ALL_COL_PRIVS 在列上授权,该用户或PUBLIC是被授与者ALL_COL_PRIVS_MADE 在列上授权,该用户为持有者或授与者ALL_COL_PRIVS_RECD 在列上授权,该用户或PUBLIC是被授与者ALL_CONSTRAINTS 在可存取表上的约束定义ALL_CONS_COLUMN 关于在约束定义中可存取列的信息ALL_DB_LINKS 用户可存取的数据库链ALL_DBF_AUDIT_OPTS 在对象建立时,所应用的缺省对象审计选择ALL_DEPENDENCIES 用户可存取的对象之间的从属关系ALL_ERROES 在用户可存取对象上的当前错误ALL_INDEXES 在用户可存取的表上的索引说明ALL_IND_COLUMNS 在可存取的表上的索引列ALL_OBJECTS 用户可存取的对象ALL_SEQUENCES 用户可存取的序列说明ALL_SNAPSHOTS 用户可存取的全部快照ALL_SOURCE 用户可存取的全部存储对象文本源程序ALL_SYNONYM 用户可存取的全部同义词ALL_TABLES 用户可存取的表的说明ALL_TAB_COLUMNS 用户可存取的表、视图、聚集的列ALL_TAB_COMMENTS 用户可存取的表或视图上的注释。

Oracle数据库维护常用SQL语句

Oracle数据库维护常用SQL语句

Oracle维护常用SQL语句(查询系统表和视图)提要:1、查看表空间的名称及大小2、查看表空间物理文件的名称及大小3、查看回滚段名称及大小4、查看控制文件5、查看日志文件6、查看表空间的使用情况7、查看数据库库对象8、查看数据库的版本9、查看数据库的创建日期和归档方式10、捕捉运行很久的SQL11。

查看数据表的参数信息12.查看还没提交的事务13。

查找object为哪些进程所用14。

回滚段查看15。

耗资源的进程(top session)16。

查看锁(lock)情况17。

查看等待(wait)情况18。

查看sga情况19。

查看catched object20。

查看V$SQLAREA21。

查看object分类数量22。

按用户查看object种类23。

有关connection的相关信息1)查看有哪些用户连接2)根据v.sid查看对应连接的资源占用等情况3)根据sid查看对应连接正在运行的sql24.查询表空间使用情况25.查询表空间的碎片程度26.查询正在运行的数据库实例1、查看表空间的名称及大小select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size from dba_tablespaces t, dba_data_files dwhere t.tablespace_name = d.tablespace_namegroup by t.tablespace_name;2、查看表空间物理文件的名称及大小select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_spacefrom dba_data_filesorder by tablespace_name;3、查看回滚段名称及大小select segment_name, tablespace_name, r.status,(initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent, max_extents, v.curext CurExtentFrom dba_rollback_segs r, v$rollstat vWhere r.segment_id = n(+)order by segment_name ;4、查看控制文件select name from v$controlfile;5、查看日志文件select member from v$logfile;6、查看表空间的使用情况select sum(bytes)/(1024*1024) as free_space,tablespace_namefrom dba_free_spacegroup by tablespace_name;SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,(B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE CWHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;7、查看数据库库对象select owner, object_type, status, count(*) count# from all_objects group by owner, object_type, status;8、查看数据库的版本Select version FROM Product_component_version Where SUBSTR(PRODUCT,1,6)='Oracle';9、查看数据库的创建日期和归档方式Select Created, Log_Mode, Log_Mode From V$Database;10、捕捉运行很久的SQLcolumn username format a12column opname format a16column progress format a8select username,sid,opname,round(sofar*100 / totalwork,0) || '%' as progress,time_remaining,sql_textfrom v$session_longops , v$sqlwhere time_remaining <> 0and sql_address = addressand sql_hash_value = hash_value/11。

oracle查询视图sql语句

oracle查询视图sql语句

oracle查询视图sql语句在Oracle数据库中,查询视图SQL语句可以帮助我们快速查询出符合条件的数据。

它可以实现检索出表中所有字段或者指定字段,筛选出满足条件的数据,有助于我们快速查找所需数据,更有助于数据分析和报表制作。

本文将介绍Oracle查询视图SQL语句的语法及具体应用,以及相关技巧,从而帮助读者更好的使用Oracle查询视图的SQL语句。

一、Oracle查询视图的SQL语句1.法Oracle查询视图的SQL语句的基本语法为:SELECT [字段列表]FROM图名[WHERE件][GROUP BY段][HAVING件][ORDER BY段][LIMIT数][OFFSET移量]①字段列表:SELECT子句中使用有逗号分隔的字段名称,如果为空,表示查询出所有字段②视图名:包含有查询视图的名称,多个视图可使用JOIN关键字进行连接③WHERE条件:查询条件,可以使用各种比较运算符和逻辑运算符进行条件组合④GROUP BY字段:分组字段,使用逗号分隔多个字段⑤HAVING条件:分组条件,和WHERE条件一样,也可以使用各种比较运算符和逻辑运算符进行组合⑥ORDER BY字段:排序字段,使用有逗号分隔的字段名称或字段序号,DESC表示降序,ASC表示升序⑦LIMIT行数:限制返回行数,指定查询结果的最大行数⑧OFFSET偏移量:偏移量,指定返回结果从查询结果的第几行开始2.体应用(1)索表中所有字段:SELECT * FROM图名;(2)索指定字段:SELECT段1,段2,段3 FROM图名;(3)选数据:SELECT段1,段2,段3 FROM图名 WHERE件;(4)组统计:SELECT段1,段2,合函数(字段3) FROM图名 GROUP BY段1,段2;(5)合筛选:SELECT段1,段2,合函数(字段3) FROM图名 WHERE 件 GROUP BY段1,段2 HAVING件;(6)序:SELECT段1,段2,段3 FROM图名 ORDER BY段1 ASC,段2 DESC;(7)页:SELECT段1,段2,段3 FROM图名 LIMIT 10 OFFSET 20;三、Oracle查询视图的技巧1.化复杂查询通过JOIN和子查询,可以将复杂的查询变得简单并提高查询性能。

oracle查询视图sql语句

oracle查询视图sql语句

oracle查询视图sql语句Oracle数据库是非常流行的关系型数据库管理系统,它用于存储和管理大量的数据。

在使用Oracle数据库时,通常会使用SQL(结构化查询语言)进行查询。

其中一种查询方式是使用视图(view),它是建立在表之上的一种逻辑概念,它可以让用户查看部分或者全部的数据,而又不必看到数据库表的结构。

本文将介绍Oracle中查询视图的SQL语句,其中包括创建视图、更新视图、删除视图和查询视图等。

首先,让我们看看如何使用SQL语句在Oracle中创建视图。

要创建一个视图,首先要使用CREATE VIEW语句,然后在视图的定义中,必须使用SELECT语句来指定其包含的字段和表,这种方式就可以建立一个查询视图了。

例如,要创建一个名为view_emp的视图,包含表emp中name, job和sal字段,则可以使用如下SQL语句:CREATE VIEW view_emp ASSELECT name, job, salFROM emp;接下来让我们来看看如何使用SQL语句在Oracle中更新视图。

要更新一个视图,可以使用ALTER VIEW语句,这种语句允许用户更新视图中的查询语句而不更改其基础表,同时也可以更改视图的名称以及它所参照的表。

例如,要更新view_emp的查询语句,以包含表emp中的name和sal字段,则可以使用如下SQL语句:ALTER VIEW view_emp ASSELECT name, salFROM emp;删除视图也是一个典型的SQL操作,在Oracle中可以使用DROP VIEW语句来删除一个已存在的视图。

例如,要删除view_emp视图,可以使用如下SQL语句:DROP VIEW view_emp;最后,让我们来看看Oracle中查询视图的操作使用SELECT语句查询视图。

要查询一个视图,首先要使用SELECT语句,然后指定查询的视图,其语法形式如下:SELECT * FROM view_nameWHERE conditions;其中view_name是视图的名称,conditions是查询条件,可以使用SQL的各种运算符、表达式和函数设置查询条件。

Oracle 数据字典

Oracle 数据字典

ORACLE 数据字典前言在Oracle 数据库字典中,许多视图都有三个不同的实例,它们的前缀分别为"USER_"、"ALL_"及"DBA_"。

"USER_"为前缀的数据库字典视图通常记录执行查询的帐户所拥有的对象的信息,"ALL_"为前缀的数据库字典视图通常记录包括执行查询的帐户所拥有的对象的信息及授权至PUBLIC 的帐户用户所拥有的对象的信息,"DBA_"为前缀的数据库字典视图则包含所有数据库对象的信息,而不管其所有者。

其他的字典视图中主要的是V$视图,之所以这样叫是因为他们都是以V$或GV$开头的。

V$视图是基于X$虚拟视图的。

V$视图是SYS 用户所拥有的,在缺省状况下,只有SYS 用户和拥有DBA 系统权限的用户可以看到所有的视图,没有DBA 权限的用户可以看到USER_和ALL_视图,但不能看到DBA_视图。

与DBA_,ALL,和USER_视图中面向数据库信息相反,这些视图可视的给出了面向实例的信息。

数据字典是Oracle 存放有关数据库信息的地方,其用途是用来描述数据的。

比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等。

当用户在对数据库中的数据进行操作时遇到困难就可以访问数据字典来查看详细的信息。

Oracle 中的数据字典有静态和动态之分。

静态数据字典主要是在用户访问数据字典时不会发生改变的,但动态数据字典是依赖数据库运行的性能的,反映数据库运行的一些内在信息,所以在访问这类数据字典时往往不是一成不变的。

以下分别就这两类数据字典来论述。

select * from dict; //查看所有数据字典静态数据字典这类数据字典主要是由表和视图组成,应该注意的是,数据字典中的表是不能直接被访问的,但是可以访问数据字典中的视图。

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

oracle数据字典详解

oracle数据字典详解

学习笔记:oracle数据字典详解---本文为TTT学习笔记,首先介绍数据字典及查看方法,然后分类总结各类数据字典的表和视图。

然后列出一些附例。

数据字典系统表,保存在system表空间中。

由表和视图组成,由服务器在安装数据库时自动创建,用户不可以直接修改数据库字典,在执行DDL 语句时,oracle会自动修改。

记录一些表和视图(只读的),新建的表不要和这空间建在一起(9i以前的版本新用户建的表默认表空间为system,注意修改)--查询数据字典:select * from dictionary--数据字典导出方法:conn / as sysdbaspool onspool c:\dic.txtselect * from dictionaryspool off主要四部分:1,内部RDBMS表:x$……2,数据字典表:……$3,动态性能视图:gv$……,v$……4,数据字典视图:user_……,all_……,dba_……数据库启动时,动态创建x$,在X$基础上创建GV$,在GV$基础上创建V$X$表-->GV$(视图)--->V$(视图)+++一,内部RDBMS表x$……,例如:x$kvit,x$bh,x$ksmsp,x$ksppi和x$ksppcv核心部分,用于跟踪内部数据库信息,维持DB的正常运行。

是加密命名的,不允许sysdba以外的用户直接访问,显示授权不被允许。

最好不要修改.x$kvit=Kernel Layer Performance Layer V Information tables Transitory Instance parameter 数据库启动时,动态创建x$……+++二,数据字典表……$,如tab$,obj$,ts$……--用来存储表、索引、约束以及其他数据库结构的信息。

--创建数据库时通过脚本sql.bsq来创建,脚本:$oracle_home/rdbms/admin/sql.bsq+++三,动态性能视图gv$……,v$……,如V$parameter--记录了DB运行时信息和统计数据,大部分动态性能视图被实时更新以反映DB当前状态。

oracle 查看数据库的sql语句

oracle 查看数据库的sql语句

一、简介Oracle是一种关系型数据库管理系统(RDBMS),其广泛应用于企业级应用和数据管理中。

在Oracle数据库中,SQL语句是与数据库交互最常用的方式之一,通过SQL语句可以实现对数据库的查询、插入、更新、删除等操作。

在实际应用中,了解如何查看数据库的SQL 语句对于数据库管理员和开发人员来说至关重要。

二、 SQL语句的分类1. 查询语句(SELECT):用于查询数据库中的数据。

2. 插入语句(INSERT):用于向数据库中插入新的数据。

3. 更新语句(UPDATE):用于更新数据库中已有的数据。

4. 删除语句(DELETE):用于从数据库中删除数据。

5. 创建表语句(CREATE TABLE):用于创建新的数据表。

6. 删除表语句(DROP TABLE):用于删除已有的数据表。

7. 修改表结构语句(ALTER TABLE):用于修改数据表的结构。

三、查看已存在的SQL语句在Oracle数据库中,可以通过以下几种方式查看已存在的SQL语句:1. 查看数据库中的存储过程和函数:通过查询用户定义的存储过程和函数的元数据,可以获取其对应的SQL语句。

2. 查看数据库中的触发器:触发器是一种数据库对象,通过查询系统表可以查看触发器的定义语句。

3. 查看数据库中的视图:视图是虚拟的表,通过查询系统表可以获取视图的定义语句。

4. 查看数据库中的作业和调度:作业和调度是数据库中的定时任务,可以通过系统表获取其对应的SQL语句。

四、查看正在执行的SQL语句Oracle数据库提供了多种方式来查看当前正在执行的SQL语句:1. 使用动态性能视图:通过查看动态性能视图V$SQL和V$SQLAREA可以获取当前正在执行的SQL语句以及相关的执行计划、执行时间等信息。

2. 使用AWR报告:如果开启了AWR(自动工作负荷存储库)功能,可以通过AWR报告查看数据库在特定时间范围内执行的SQL语句和相关统计信息。

3. 使用SQL追踪工具:Oracle提供了SQL追踪工具,可以详细记录数据库中执行的SQL语句的执行计划、执行时间等信息,方便进行性能优化和故障排查。

oracle维护常用SQL语句(查看系统表和视图)

oracle维护常用SQL语句(查看系统表和视图)

oracle维护常用SQL语句(查看系统表和视图)oracle维护常用SQL语句(查看系统表和视图)1.查看表空间的名称及大小select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_sizefrom dba_tablespaces t, dba_data_files dwhere t.tablespace_name = d.tablespace_namegroup by t.tablespace_name2.查看表空间物理文件的名称及大小selecttablespace_name,file_id,file_name,round(bytes/(1024*1024),0) total_spacefrom dba_data_filesorder by tablespace_name;3.查看回滚段名称及大小select segment_name, tablespace_name, r.status,(initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent,max_extents, v.curext CurExtentFrom dba_rollback_segs r, v$rollstat vWhere r.segment_id = n(+)order by segment_name ;4.查看控制文件select name from v$controlfile;5.查看日志文件select member from v$logfile;6.查看表空间的使用情况select sum(bytes)/(1024*1024) as free_space,tablespace_namefrom dba_free_spacegroup by tablespace_name;SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,(B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE CWHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;7.查看数据库库对象select owner, object_type, status, count(*) count#from all_objectsgroup by owner, object_type, status;8.查看数据库的版本Select version FROM Product_component_versionWhere SUBSTR(PRODUCT,1,6)='Oracle';9.查看数据库的创建日期和归档方式Select Created, Log_Mode, Log_Mode From V$Database;10.捕捉运行很久的SQLcolumn username format a12column opname format a16column progress format a8select username,sid,opname,round(sofar*100 / totalwork,0) || '%' as progress,time_remaining,sql_textfrom v$session_longops , v$sqlwhere time_remaining <> 0and sql_address = addressand sql_hash_value = hash_value/11.查看数据表的参数信息SELECT partition_name, high_value, high_value_length, tablespace_name,pct_free, pct_used, ini_trans, max_trans, initial_extent,next_extent, min_extent, max_extent, pct_increase, FREELISTS, freelist_groups, LOGGING, BUFFER_POOL, num_rows, blocks, empty_blocks, avg_space, chain_cnt, avg_row_len, sample_size,last_analyzedFROM dba_tab_partitions--WHERE table_name = :tname AND table_owner = :towner ORDER BY partition_position12.查看还没有提交的事务select * from v$locked_object;select * from v$transaction;13.查找object为那些进程所用selectp.spid,s.sid,s.serial# serial_num,ername user_name,a.type object_type,s.osuser os_user_name,a.owner,a.object object_name,decode(sign(48 - command),1,to_char(command), 'Action Code #' || to_char(command) ) action,p.program oracle_process,s.terminal terminal,s.program program,s.status session_statusfrom v$session s, v$access a, v$process pwhere s.paddr = p.addr ands.type = 'USER' anda.sid = s.sid anda.object='SUBSCRIBER_ATTR'order by ername, s.osuser14.回滚段查看select rownum, sys.dba_rollback_segs.segment_name Name, v$rollstat.extentsExtents, v$rollstat.rssize Size_in_Bytes, v$rollstat.xacts XActs, v$rollstat.gets Gets, v$rollstat.waits Waits, v$rollstat.writes Writes,sys.dba_rollback_segs.status status from v$rollstat, sys.dba_rollback_segs,v$rollname where v$(+) = sys.dba_rollback_segs.segment_name andv$n (+) = v$n order by rownum15.耗资源的进程select s.schemaname schema_name, decode(sign(48 - command), 1,to_char(command), 'Action Code #' || to_char(command) ) action, statussession_status, s.osuser os_user_name, s.sid, p.spid , s.serial# serial_num,nvl(ername, '[Oracle process]') user_name, s.terminal terminal,s.program program, st.value criteria_value from v$sesstat st, v$session s , v$process pwhere st.sid = s.sid and st.statistic# = to_number('38') and ('ALL' = 'ALL'or s.status = 'ALL') and p.addr = s.paddr order by st.value desc, p.spid asc, ername asc, s.osuser asc16.查看锁(lock)情况select /*+ RULE */ ls.osuser os_user_name, ername user_name,decode(ls.type, 'RW', 'Row wait enqueue lock', 'TM', 'DML enqueue lock', 'TX','Transaction enqueue lock', 'UL', 'User supplied lock') lock_type,o.object_name object, decode(ls.lmode, 1, null, 2, 'Row Share', 3,'Row Exclusive', 4, 'Share', 5, 'Share Row Exclusive', 6, 'Exclusive', null)lock_mode, o.owner, ls.sid, ls.serial# serial_num, ls.id1, ls.id2 from sys.dba_objects o, ( select s.osuser, ername, l.type, l.lmode, s.sid, s.serial#, l.id1, l.id2 from v$session s,v$lock l where s.sid = l.sid ) ls where o.object_id = ls.id1 and o.owner<> 'SYS' order by o.owner, o.object_name17.查看等待(wait)情况SELECT v$waitstat.class, v$waitstat.count count, SUM(v$sysstat.value) sum_valueFROM v$waitstat, v$sysstat WHERE v$ IN ('db block gets','consistent gets') group by v$waitstat.class, v$waitstat.count18.查看sga情况SELECT NAME, BYTES FROM SYS.V_$SGASTAT ORDER BY NAME ASC19.查看catched objectSELECT owner, name, db_link, namespace,type, sharable_mem, loads, executions,locks, pins, kept FROM v$db_object_cache20.查看V$SQLAREASELECT SQL_TEXT, SHARABLE_MEM, PERSISTENT_MEM, RUNTIME_MEM, SORTS,VERSION_COUNT, LOADED_VERSIONS, OPEN_VERSIONS, USERS_OPENING, EXECUTIONS,USERS_EXECUTING, LOADS, FIRST_LOAD_TIME, INVALIDATIONS, PARSE_CALLS, DISK_READS,BUFFER_GETS, ROWS_PROCESSED FROM V$SQLAREA21.查看object分类数量select decode (o.type#,1,'INDEX' , 2,'TABLE' , 3 , 'CLUSTER' , 4, 'VIEW' , 5 ,'SYNONYM' , 6 , 'SEQUENCE' , 'OTHER' ) object_type , count(*) quantity fromsys.obj$ o where o.type# > 1 group by decode (o.type#,1,'INDEX' , 2,'TABLE' , 3, 'CLUSTER' , 4, 'VIEW' , 5 , 'SYNONYM' , 6 , 'SEQUENCE' , 'OTHER' ) union select'COLUMN' , count(*) from sys.col$ union select 'DB LINK' , count(*) from22.按用户查看object种类select schema, sum(decode(o.type#, 1, 1, NULL)) indexes,sum(decode(o.type#, 2, 1, NULL)) tables, sum(decode(o.type#, 3, 1, NULL))clusters, sum(decode(o.type#, 4, 1, NULL)) views, sum(decode(o.type#, 5, 1,NULL)) synonyms, sum(decode(o.type#, 6, 1, NULL)) sequences,sum(decode(o.type#, 1, NULL, 2, NULL, 3, NULL, 4, NULL, 5, NULL, 6, NULL, 1))others from sys.obj$ o, er$ u where o.type# >= 1 and er# =o.owner# and <> 'PUBLIC' group by order bysys.link$ union select 'CONSTRAINT' , count(*) from sys.con$23.有关connection的相关信息1)查看有哪些用户连接select s.osuser os_user_name, decode(sign(48 - command), 1, to_char(command),'Action Code #' || to_char(command) ) action, p.program oracle_process,status session_status, s.terminal terminal, s.program program,ername user_name, s.fixed_table_sequence activity_meter, '' query,0 memory, 0 max_memory, 0 cpu_usage, s.sid, s.serial# serial_numfrom v$session s, v$process p where s.paddr=p.addr and s.type = 'USER'order by ername, s.osuser2)根据v.sid查看对应连接的资源占用等情况select ,v.value,n.class,n.statistic#from v$statname n,v$sesstat vwhere v.sid = 71 andv.statistic# = n.statistic#order by n.class, n.statistic#3)根据sid查看对应连接正在运行的sql select /*+ PUSH_SUBQ */ command_type,sql_text,sharable_mem,persistent_mem,runtime_mem,sorts,version_count,loaded_versions,open_versions,users_opening,executions,users_executing,loads,first_load_time,invalidations,parse_calls,disk_reads,buffer_gets,rows_processed,sysdate start_time,sysdate finish_time,'>' || address sql_address,'N' statusfrom v$sqlareawhere address = (select sql_address from v$session where sid = 71)24.查询表空间使用情况select a.tablespace_name "表空间名称",100-round((nvl(b.bytes_free,0)/a.bytes_alloc)*100,2) "占用率(%)",round(a.bytes_alloc/1024/1024,2) "容量(M)",round(nvl(b.bytes_free,0)/1024/1024,2) "空闲(M)",round((a.bytes_alloc-nvl(b.bytes_free,0))/1024/1024,2) "使用(M)",Largest "最大扩展段(M)",to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') "采样时间"from (select f.tablespace_name,sum(f.bytes) bytes_alloc,sum(decode(f.autoextensible,'YES',f.maxbytes,'NO',f.bytes)) maxbytesfrom dba_data_files fgroup by tablespace_name) a,(select f.tablespace_name,sum(f.bytes) bytes_freefrom dba_free_space fgroup by tablespace_name) b,(select round(max(ff.length)*16/1024,2) Largest, tablespace_namefrom sys.fet$ ff, sys.file$ tf,sys.ts$ tswhere ts.ts#=ff.ts# and ff.file#=tf.relfile# and ts.ts#=tf.ts#group by , tf.blocks) cwhere a.tablespace_name = b.tablespace_name anda.tablespace_name = c.tablespace_name25. 查询表空间的碎片程度select tablespace_name,count(tablespace_name) from dba_free_space group by tablespace_namehaving count(tablespace_name)>10;alter tablespace name coalesce;alter table name deallocate unused;create or replace view ts_blocks_v asselect tablespace_name,block_id,bytes,blocks,'free space' segment_name from dba_free_spaceunion allselecttablespace_name,block_id,bytes,blocks,segment_name from dba_extents;select * from ts_blocks_v;selecttablespace_name,sum(bytes),max(bytes),count(block_id) from dba_free_spacegroup by tablespace_name;26.查询有哪些数据库实例在运行select inst_name from v$active_instances;。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Oracle常用数据字典表(系统表或系统视图)及查询SQL2014年12月15日⁄数据库⁄共4187字⁄暂无评论⁄阅读861 次文章目录∙数据字典分类∙dba_开头∙user_开头∙v$开头∙all_开头∙session_开头∙index_开头∙伪表∙数据字典常用SQL查询数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的。

比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息的视图等。

数据字典系统表,保存在system表空间中。

查询所有数据字典可用语句“select * from dictionary;”。

数据字典分类数据字典主要可分为四部分:1)内部RDBMS表:x$*,用于跟踪内部数据库信息,维持DB的正常运行。

是加密命名的,不允许sysdba以外的用户直接访问,显示授权不被允许。

2)数据字典表:*$,如tab$,obj$,ts$等,用来存储表、索引、约束以及其他数据库结构的信息。

3)动态性能视图:gv$*,v$*,记录了DB运行时信息和统计数据,大部分动态性能视图被实时更新以反映DB当前状态。

4)数据字典视图:user_*、all_*、dba_*,在非Sys用户下,我们访问的都是同义词,而不是V$视图或GV视图。

数据库启动时,动态创建x$,在X$基础上创建GV$,在GV$基础上创建V$X$表-->GV$(视图)--->V$(视图)。

数据字典视图可分为静态数据字典视图和动态数据字典视图。

静态数据字典是指在用户访问数据字典时内容不会发生改变。

这类数据字典主要是由表和视图组成,应该注意的是,数据字典中的表是不能直接被访问的,但是可以访问数据字典中的视图。

静态数据字典中的视图分为三类,它们分别由三个前缀够成:user_*(该用户方案对象的信息)、all_*(该用户可以访问的所有对象的信息)、dba_*(全部数据库对象的信息)。

动态数据字典是Oracle包含的一些潜在的由系统管理员如SYS维护的表和视图,由于当数据库运行的时候它们会不断进行更新,所以称它们为动态数据字典。

这些视图提供了关于内存和磁盘的运行情况,所以我们只能对其进行只读访问而不能修改它们。

Oracle中这些动态性能视图都是以v$开头的视图,比如v$access。

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用户的表列信息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归档日志分析的DMLDDL结果信息v$logmnr_dictionary日志分析的字典文件信息v$logmnr_logs日志分析的日志列表信息v$tablespace表空间信息v$tempfile临时文件信息v$filestat数据文件的I/O统计信息v$undostatUndo数据信息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系统伪列表信息数据字典常用SQL查询1)查看表空间的名称及大小select t.tablespace_name,round(sum(d.bytes/(1024*1024)),0) tbs_sizefrom dba_tablespaces t,dba_data_files dwhere t.tablespace_name = d.tablespace_namegroup by t.tablespace_name;若需要查看指定表空间的大小,则可以直接添加where条件指定,否则结果集是所有表空间。

2)查看表空间物理文件的名称及大小select tablespace_name,file_id,file_name,round(bytes/(1024*1024),0) total_spacefrom dba_data_filesorder by tablespace_name;3)查看表空间剩余空间大小select tablespace_name,round(sum(bytes) / 1024 / 1024, 2) AS free_space, count(*) AS extends,sum(blocks) AS blocksfrom dba_free_spacegroup by tablespace_name;4)查看表空间使用率SELECT total.tablespace_name,Round(total.total, 2) AS Total_MB, Round(total.total - free.free, 2) AS Used_MB,Round(( 1 - free.free / total.total ) * 100, 2)|| '%' AS Used_PCTFROM (SELECT tablespace_name,sum(bytes) / 1024 / 1024 AS freeFROM dba_free_spaceGROUP BY tablespace_name) free,(SELECT tablespace_name,sum(bytes) / 1024 / 1024 AS totalFROM dba_data_filesGROUP BY tablespace_name) totalWHERE free.tablespace_name = total.tablespace_name; 5)查看控制文件select name from v$controlfile;6)查看日志文件select member from v$logfile;7)查看消耗资源最多的SQLSELECT hash_value,executions,buffer_gets,disk_reads,parse_callsFROM V$SQLAREAWHERE buffer_gets > 10000000OR disk_reads > 1000000ORDER BY buffer_gets + 100 * disk_reads DESC; 8)捕捉运行很久的SQLselect username,sid,opname,round(sofar*100 / totalwork,0) || '%' as progress, time_remaining,sql_textfrom v$session_longops,v$sqlwhere time_remaining <> 0and sql_address = addressand sql_hash_value = hash_value;9)查看回滚段名称及大小select segment_name,tablespace_name,r.status,(initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent,max_extents,v.curext CurExtentfrom dba_rollback_segs r,v$rollstat vwhere r.segment_id = n(+)order by segment_name;10)查看还没提交的事务select * from v$locked_object;select * from v$transaction;» 声明:本站文章源于个人经验总结或书籍、互联网转载,内容仅用于个人学习,请勿转载,否则后果自负!» 本文地址:/post/oracle-dictionary-table-sql.html。

相关文档
最新文档