Oracle维护常用查询系统表和视图
Oracle常用内置视图和动态性能表解读
O r a c l e9i动态性能(V$)视图说明本节介绍动态性能视图。
这些视图一般作为V$视图引用。
本节包括下列内容:动态性能视图。
视图说明。
C.1动态性能视图Oracle服务器包括一组基础视图,这些视图由服务器维护,系统管理员用户SYS可以访问它们。
这些视图被称为动态性能视图,因为它们在数据库打开和使用时不断进行更新,而且它们的内容主要与性能有关。
虽然这些视图很像普通的数据库表,但它们不允许用户直接进行修改。
这些视图提供内部磁盘结构和内存结构方面的数据。
用户可以对这些视图进行查询,以便对系统进行管理与优化。
文件CATALOG.SQL包含这些视图的定义以及公用同义词。
必须运行CATALOG.SQL创建这些视图及同义词。
C.1.1V$视图动态性能视图由前缀V_$标识。
这些视图的公用同义词具有前缀V$。
数据库管理员或用户应该只访问V$对象,而不是访问V_$对象。
动态性能视图由企业管理器和Oracle Trace使用,Oracle Trace是访问系统性能信息的主要界面。
建议:一旦实例启动,从内存读取数据的V$视图就可以访问了。
从磁盘读取数据的视图要求数据库已经安装好了。
警告:给出动态性能视图的有关信息只是为了系统的完整性和对系统进行管理。
公司并不承诺以后也支持这些视图。
C.1.2GV$视图在Oracle中,还有一种补充类型的固定视图。
即GV$(Global V$,全局V$)固定视图。
对于本章介绍的每种V$视图(除V$CACHE_LOCK、V$LOCK_ACTIVITY、V$LOCKS_WITH_COLLISIONS和V$ROLLNAME外),都存在一个GV$视图。
在并行服务器环境下,可查询GV$视图从所有限定实例中检索V$视图的信息。
除V$信息外,每个GV$视图拥有一个附加的名为INST_ID的整型列。
INST_ID列显示从其获得相关的V$视图信息的实例号。
INST_ID列可用作一个从可得到的实例集检索V$信息的过滤器。
oracleEBS常用表,视图,会计分录,mtl_serial_numbers,总账
attribute7 --额外属性
)
VALUES (1,
'CREATE',
'*********',
'*********************',
***,
1,
'FG',
'Inactive',
'Tai',
''
);
2.通过API导入帐户别名接收
2.运行导入物料,选择相应的参数(处理集)
接口表导入示范:
INSERT INTO mtl_system_items_interface
(process_flag, --1为待处理,2为分配完成,3为异常,4为验证通过导入异常,5为导入过
程中,6为导入成功
transaction_type, --新分配物料则为CREATE,更新物料状态则为UPDATE
--记录接收的事务所产生的批次信息表
5、mtl_transaction_lot_numbers
--transaction_id=mtl_material_transactions.transaction_id
--lot_number=mtl_onhand_quantities.lot_number
item_number, --物料编码
description, --物料描述
organization_id, --需分配到的组织
set_process_id, --处理集,自己定义,届时在后续的导入物料的请求中作为参数
item_type, --物料类型
Oracle维护常用SQL语句(查询系统表和视图)
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数据库中的表与视图【VIP专享】
oracle数据库中的表与视图Oracle数据库数据对象中最基本的是表和视图,其他还有约束、序列、函数、存储过程、包、触发器等。
对数据库的操作可以基本归结为对数据对象的操作,理解和掌握Oracle数据库对象是学习Oracle的捷径。
表和视图 Oracle中表是数据存储的基本结构。
ORACLE8引入了分区表和对象表,ORACLE8i 引入了临时表,使表的功能更强大。
视图是一个或多个表中数据的逻辑表达式。
本文我们将讨论怎样创建和管理简单的表和视图。
管理表 表可以看作有行和列的电子数据表,表是关系数据库中一种拥有数据的结构。
用CREATE TABLE语句建立表,在建立表的同时,必须定义表名,列,以及列的数据类型和大小。
例如:CREATE TABLE products ( PROD_ID NUMBER(4), PROD_NAME VAECHAR2(20), STOCK_QTY NUMBER(5,3) ); 这样我们就建立了一个名为products的表,关键词CREATE TABLE后紧跟的表名,然后定义了三列,同时规定了列的数据类型和大小。
在创建表的同时你可以规定表的完整性约束,也可以规定列的完整性约束,在列上普通的约束是NOT NULL,关于约束的讨论我们在以后进行。
在建立或更改表时,可以给表一个缺省值。
缺省值是在增加行时,增加的数据行中某一项值为null时,oracle即认为该值为缺省值。
下列数据字典视图提供表和表的列的信息: . DBA_TABLES . DBA_ALL_TABLES . USER_TABLES . USER_ALL_TABLES . ALL_TABLES . ALL_ALL_TABLES . DBA_TAB_COLUMNS . USER_TAB_COLUMNS . ALL_TAB_COLUMNS 表的命名规则 表名标识一个表,所以应尽可能在表名中描述表,oracle中表名或列名最长可以达30个字符串。
常用查询Oracle的表,视图,存储过程,用户等SQL命令
常⽤查询Oracle的表,视图,存储过程,⽤户等SQL命令有时候需要导出某⽤户下的所有table、view、sequence、trigger等信息,下⾯的SQL可以将这些信息select出来:select * from user_tables;select * from user_views;select * from user_sequences;select * from user_triggers;查看当前⽤户的缺省表空间 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;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’;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_segments where 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_segments where 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_name from user_constraints c,user_cons_columns cc where c.owner = upper(‘&table_owner’) and c.table_name = upper(‘&table_name’) and c.owner = cc.owner and c.constraint_name = cc.constraint_name order 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’);。
oracle查询数据库名称的语句
oracle查询数据库名称的语句在Oracle数据库中,可以使用多种方法查询数据库名称。
以下是一些常用的查询方法:1. 使用全局数据字典视图:在Oracle数据库中,可以使用全局数据字典视图来查询数据库名称。
全局数据字典视图存储了关于数据库实例和对象的元数据信息。
具体的查询语句如下:```SELECT nameFROM v$database;```这将返回数据库的名称。
2. 使用系统表:Oracle数据库还提供了一些系统表,可以通过这些系统表查询数据库名称。
其中,`v$database`表和`v$instance`表是常用的。
```SELECT nameFROM v$database;```或```SELECT nameFROM v$instance;```这两个查询都可以返回数据库的名称。
3. 使用SQL*Plus命令:如果在Oracle数据库中使用SQL*Plus命令行工具,可以通过以下命令来查询数据库名称:```SELECT ora_database_nameFROM dual;```这将从`dual`表中返回数据库的名称。
4. 使用特殊的行属性:在Oracle数据库中,可以使用`SELECT`语句的`FROM`子句中的特殊行属性来查询数据库名称。
```SELECT*FROMtable(sys_context('userenv','con_name'));```这将返回数据库的名称。
总结起来,查询Oracle数据库名称的方法有很多种,包括使用全局数据字典视图、系统表、SQL*Plus命令和特殊的行属性等。
根据实际情况选择合适的方法来查询数据库名称。
Oracle中常用表和视图
Oracle中常用表和视图2.分类视图有三种实例:user_*(当前用户所拥有对象的有关信息),all_*(当前用户可访问对象的信息),dba_*(数据库中所有对象的信息)。
查询数据字典数据时使用大写字母。
可用upper\lower函数转换。
一下以user_*实例举例(如没有user_*,则依次以all_*、dba_*举例)。
3.类别3.1 关系群集、表、视图群集 user_clusters 群集user_cluster_hash_expressions 群集使用的群集散列函数user_clu_columns 表列到群集列的映射(无all_*)表和视图 user_tables 关系表user_all_tables 表(user_all_tables是user_tables与user_object_tables的集合)user_tab_columns 表列user_tab_comments 表的注释user_col_comments 表和视图的列的注释user_refs 对象类型列的属性和REF列user_partial_drop_tabs 被部分放弃的表user_unused_col_tabs 带有未使用列的表user_updatable_columns 联合视图中更新的列user_views 视图3.2 集合、LOB、对象类型和对象表集合 user_coll_types 集合类型user_varrays varray数组类型user_nested_tables 嵌套表大型对象 user_lobs LOB对象表类型user_types 对象类型user_type_attrs 对象类型的属性user_type_methods 对象类型的方法user_object_tables 对象表3.3 oracle视图设备环境 all_conext(all_context) 设备环境维数 user_dimensions 维数user_dim_hierarchies 维数分层user_dim_levels 维数的级别user_dim_level_key 维数级别的列user_dim_attributes 维数的相关列和维数级之间的关系user_dim_child_of 维数级别之间的关系user_dim_join_key 维数间的联合操作符 user_operators 操作符的基本信息user_opancillary 操作符的辅助信息user_oparguments 操作符的参数user_opbindings 操作符的绑定功能摘要 user_outlines 摘要user_outline_hints 摘要的提示策略 user_policies 表和视图的策略3.4 其他数据库对象数据库任务 user_jobs 数据库任务数据库连接 user_db_links 数据库连接目录 all_directories 目录库 user_libraries 库(字典)序列 user_sequences 序列替代名 user_synonyms 替代名(同义词)3.5 分区和子分区user_part_tables 已分区表user_tab_partitions 表的分区user_tab_subpartitions 表的子分区user_part_indexes 已分区索引user_ind_partitions 索引分区user_ind_subpartitions 索引子分区user_part_lobs 表中的LOB数据分区user_lob_partitions LOB分区user_lob_subpartitions LOB子分区user_part_key_columns 已分区对象的分区关键字列user_subpart_key_columns 使用组合范围/散列法分区的表的子分区关键字列user_part_col_statistics 表分区统计和其他信息user_subpart_col_statistics 表子分区的列统计user_part_histograms 表的分区的直方图user_subpart_histograms 表的子分区的直方图3.6 索引user_indexes 索引user_ind_columns 索引列user_ind_expressions 索引的函数索引表达式user_indextypes 索引类型user_indextype_operators 索引类型支持的操作符3.7 实现视图、摘要、快照实现视图 user_mviews 物化视图user_mview_logs 物化视图日志user_mview_comments 物化视图注释user_mview_refresh_times 物化视图刷新时间user_mview_analysis 物化视图的附加信息user_mview_detail_relations 物化视图FROM列表的详细关系user_mview_keys 物化视图列(或者 GROUP BY子句中的列)user_mview_joins 物化视图WHERE子句中各列间的联合user_mview_aggregates 物化视图选择列表中的成组功能快照 user_refresh 快照刷新组user_refresh_children 快照刷新组的对象user_snapshots 快照user_snapshot_logs 快照日志user_snapshot_refresh_time 快照的刷新次数user_registered_snapshots 已注册快照all_refresh_dependencies 快照的从属或容器表(只要all 一种)摘要 user_summaries 摘要user_summary_detail_tables 摘要FROM列表的详细关系user_summary_keys 摘要列(或者 GROUP BY子句中的列)user_summary_joins 摘要WHERE子句中各列间的联合user_summary_aggregates 摘要选择列表中的成组功能3.8 子程序、方法、触发器子程序user_procedures 子程序名(包括过程、函数、包)user_arguments 子程序参数(包括过程、函数、包)方法 user_method_params 对象类型方法的参数user_method_results 对象类型方法的返回值触发器 user_triggers 触发器user_trigger_cols 触发器的列3.9 源代码和编译错误源代码user_source 包,包体,函数,过程,对象类型,对象类型体的源代码编译错误user_errors 视图和包,包体,函数,过程的编译错误3.10 相关和限制相关 user_dependencies 对象之间的相关(引用)限制 user_constraints 表的限制(约束)user_cons_columns 约束的列user_cons_obj_columns3.11 统计和审计统计 user_ustats 对象的统计user_tab_col_statistics 表列的统计user_tab_histograms 表和视图的直方图user_associations 数据库对象的用户自定义统计审计 all_def_audit_opts 对象的默认审计选项audit_actions 审计跟踪类型码的说明3.12 权限和授权系统权限 user_sys_privs 用户系统权限表权限user_tab_privs 授予作为拥有者、授权者、权限受让者对象的权限user_tab_privs_made 授予当前用户对象的权限all_tab_privs_recd 授予作为权限受让者的用户对象的权限列权限 user_col_privs 授予作为拥有者、授权者、或受让者的用户的可授访问表或视图列的权限user_col_privs_made 授予当前用户表或视图列的权限user_col_privs_recd 授予作为权限受让者用户表或视图列权限4.属性表(视图)的属性(列)信息查看sql如下(以视图user_coll_types举例):select lower(column_name) column_name,nullable,decode(data_type,'VARCHAR2',data_type ||'('||char_length||')',data_type) data_typefrom dba_tab_columnswhere lower(table_name)='user_coll_types' order by column_id;--》调整类型select lower(column_name) column_name,nullable,data_type||'('||data_length||')' data_type from dba_tab_columnswhere lower(table_name)='user_coll_types' order by column_id;4.1 集合、LOB、对象类型和对象表1.集合user_coll_types 集合类型user_varrays varray数组类型user_nested_tables 嵌套表user_coll_types列是否为空类型说明type_name N VARCHAR2(30) 集合名称coll_type N VARCHAR2(30) 集合类型,可以是表或可变数组upper_bound Y NUMBER 数组类型元素的最大上限elem_type_mod Y VARCHAR2(7) 元素类型修改符(如REF)elem_type_owner Y VARCHAR2(30) 元素类型的拥有者(只在与集合自身的拥有者不同时有效)elem_type_name Y VARCHAR2(30) 元素类型的名称length Y NUMBER 如果元素类型是CHAR或VARCHAR2,则为其长度precision Y NUMBER 如果元素是NUMBER类型,则为精度scale Y NUMBER 如果元素是NUMBER类型,则为比例character_set_name Y VARCHAR2(44) 在说明了CHARCS或NCHARCS时为字符集名称。
oracle系统表和视图说明
1. desc user_tables; 2. select table_name from user_tables; 3. select * from user_tables;
当前锁住的对象 静态数据字典:这类数据字典主要是由表和视图组成 数据字典中的表是不能直接被访问的,但是可以访问数据字典中的视图。 静态数据字典中的视图分为三类,它们分别由三个前缀够成:user_*、 all_*、 dba_*。
1. user_*
该视图存储了关于当前用户所拥有的对象的信息。(即所有在该用户模式下的对象)
注意:DBA_OBJECTS、ALL_OBJECTS 和 USER_OBJECTS 显示了模式对象的信息,包括同义词。 索引 DBA_INDEXS 、 ALL_INDEXS 、 USER_INDEXS 、 DBA_IND_COLUMNS 、 ALL_IND_COLUMNS 和 USER_IND_COLUMNS。 用户 DBA_USERS。 角色 DBA_ROLES。 表空间定额 DBA_TS_QUOTAS。 配置 Oracle 表 DBA_PROFILES。 表空间 DBA_TABLESPACES。 数据文件 DBA_DATA_FILES。 段 DBA_SEGMENTS、USER_SEGMENT。 回滚段 DBA_ROLLBACK_SEGS、V$ROLLNAME、V$ROLLSTAT
对于 dba_开头的需要管理员权限, 查询表空间的信息(当前用户必须拥有 DBA 角色)。
1. select * from dba_data_files
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系统视图大全
DBA_2PC_NEIGHBORS 包含待处理事务进入连接和退出连接信息。
DBA_2PC_PENDING 包含等待恢复的分布式事务的信息。
DBA_ALL_TABLES 显示数据库中所有表(对象表和关系表)的描述。
DBA_ANALYZE_OBJECTS 列出分析对象。
DBA_ASSOCIATIONS 列出用户定义的统计信息。
DBA_AUDIT_EXISTS 列出由AUDIT NOT EXISTS(不存在审计)和AUDIT EXISTS(存在审DBA_AUDIT_OBJECT 包含系统中所有对象的审计跟踪记录。
DBA_AUDIT_SESSION 列出关于CONNECT(连接)和DISCONNECT(断开连接)的所有审讯跟踪记录。
DBA_AUDIT_STATEMENT 列出关于GRANT(授权)、REVOKE(取消)、AUDIT〔审计〕、NOAUDIT(不审计)和ALTER SYSTEM(改变系统)语句的审记跟踪记录。
DBA_AUDIT_TRAIL列出所有的审记跟踪条目。
DBA_BLOCKERS列出所有人等待一个会话持有的锁的所有会话,但并非它们自己在等待一个锁。
DBA_CATALOG 列出所有数据库表、视图、同义词和序列。
DBA_CLU_COLUMNS 列出表列到簇列的映射。
DBA_CLUSTER_HASH_expression_rS列出所有簇的散列(hash)函数。
DBA_CLUSTERS 包含数据库中所有族的描述。
DBA_COL_COMMENS 列出所有表和视图列的注解。
DBA_COL_PRIVS 列出数据库中授予列的所有权限。
DBA_COLL_TYPES 显示数据库中所有命名的集合类型,如VARRAY(数组)、嵌套表、对象表,等等;DBA_CONS_COLUMNS 包含在约束定义中的,可访问的列的信息DBA_CONSTRAINTS 包含所有表上的约束定义。
DBA_CONTEXT 列出所有上下文名字空间的信息。
oracle查看所有表,视图,存储过程,序列
注意事项: 1. 必须以管理员身份登录; 2. sequence_owner必须为大写,不管你的用户名是否大写。只有大写才能识别。
--查看当前用户的所有序列 select SEQUENCE_OWNER,SEQUENCE_NAME from dba_sequences where sequence_owner='用户名';
--查询当前用户的序列总数 select count(*) from dba_sequences where sequence_owner='用户名'; select SEQUENCE_OWNER,SEQUENCE_NAME from dba_sequences where sequence_owner='PPNIE';
网络错误421请刷新页面重试持续报错请尝试更换浏览器或网络环境
oracle查 SELECT * FROM all_tables WHERE OWNER = '实例名称' ORDER BY table_name; 方法一: Select object_name From user_objects Where object_type='TRIGGER'; --所有触发器 Select object_name From user_objects Where object_type='PROCEDURE'; --所有存储过程 Select object_name From user_objects Where object_type='VIEW'; --所有视图 Select object_name From user_objects Where object_type='TABLE'; --所有表 方法二: 当然,还可以试试下面的语句 Select * From user_triggers; --所有触发器 Select * From user_procedures; --所有存储过程 Select * From user_views; --所有视图 Select * From user_tables; --所有表
oracle 查询字段描述
深入浅出 Oracle 查询字段描述在 Oracle 数据库中,查询字段描述是非常常见的操作,可以通过查询系统视图或者使用特定的 SQL 语句来获取字段的描述信息。
下面将介绍两种常用的方法。
方法一:使用系统视图Oracle 数据库中提供了一些系统视图,可以通过查询这些视图来获取表或者字段的描述信息。
其中,最重要的系统视图就是DBMS_METADATA.COLUMNS 和 DBMS_METADATA.VIEWS。
使用 DBMS_METADATA.COLUMNS 视图可以查询表的列信息,其语法如下:```SELECT * FROM DBMS_METADATA.COLUMNS WHERE table_name = "table_name";```其中,table_name 是指要查询的表名。
该语句会返回表的所有列的信息,包括列名、数据类型、长度、小数位数等等。
使用 DBMS_METADATA.VIEWS 视图可以查询视图的描述信息,其语法如下:```SELECT * FROM DBMS_METADATA.VIEWS WHERE view_name = "view_name";```其中,view_name 是指要查询的视图名。
该语句会返回视图的描述信息,包括视图名、所在 schema、视图定义等等。
方法二:使用 SQL 语句除了使用系统视图外,还可以使用 SQL 语句来查询字段描述。
常用的 SQL 语句包括 DESCRIBE 语句和 SELECT 语句。
使用 DESCRIBE 语句可以查询表或视图中的列信息,其语法如下:```DESCRIBE (column_name) FROM table_name;```其中,column_name 是指要查询的列名,table_name 是指要查询的表名。
该语句会返回指定列的数据类型、长度、小数位数等信息。
使用 SELECT 语句可以查询表或视图中的描述信息,其语法如下:```SELECT column_name, data_type, length, precision, scale, nulls, commentsFROM table_name ORDINALITY column_name;```其中,column_name 是指要查询的列名,table_name 是指要查询的表名。
Oracle数据库基本操作(二)——视图、序列、索引、同义词
Oracle数据库基本操作(⼆)——视图、序列、索引、同义词⼀、视图(Views)与同义词 1、视图:实际上是对查询结果集的封装,视图本⾝不存储任何数据,所有的数据都存放在原来的表中; 在逻辑上可以把视图看作是⼀张表 2、作⽤:封装查询语句,简化复杂的查询需求屏蔽表中的细节 3、语法:create[or replace]view视图的名称as查询语句[with read only] 4、视图和同义词:屏蔽了查询过程步骤屏蔽了真实的表名增加了代码被破解的难度 5、⽰例:select*from emp;-- 封装成⼀个视图: 获取10号部门的员⼯信息create or replace view view_test1 as select*from emp where deptno=10;select*from view_test1;-- 简化查询语句CREATE VIEW view_test2 AS SELECTSUM(cc) total,SUM(CASE yy WHEN'1980'THEN cc END) "1980",SUM(CASE yy WHEN'1981'THEN cc END) "1981",SUM(CASE yy WHEN'1982'THEN cc END) "1982",SUM(CASE yy WHEN'1987'THEN cc END) "1987"FROM(SELECTTO_CHAR(HIREDATE, 'YYYY') YY,COUNT(*) CCFROMEMPGROUP BYTO_CHAR(HIREDATE, 'YYYY')) TT ;select*from view_test2;-- 屏蔽表中的细节create or replace view view_test3 as select ename,job,mgr,hiredate from emp;-- 通过视图修改数据update view_test3 set ename='SMITH'where ename='SMI%TH';-- 创建只读视图create view view_test4 as select ename,job,mgr,hiredate from emp with read only;-- 报错 ORA-01733: virtual column not allowed hereupdate view_test4 set ename='SMITH2'where ename='SMITH';-- 同义词: 相当于是取了⼀个别名create synonym yuangong for view_test3;select*from yuangong;⼆、序列 序列: 1,2,3,4,5,6,7.... 作⽤: 模拟类似mysql中auto_increment⾃动增长的编号 1、语法:create sequence 序列名称start with从⼏开始increment by每次递增多少minvalue | nominvaluemaxvalue | nomaxvaluecycle | nocyclecache 缓存⼏个数31,2,34,5,6-- currval:序列当前取到哪个值,必须是调⽤了⼀次nextval之后才能正常使⽤-- nextval:序列中的下⼀个值-- 注意:序列中的值,⼀旦被取过,⽆论回滚/发⽣异常,序列都是永不回头向下递增的 2、使⽤⽰例-- 1,2,3,4,5,6,1,2,3,4,5,6create sequence seq_test01start with1minvalue 1maxvalue 6cyclecache 3;-- 需先执⾏nextval语句后才有效select seq_test01.currval from dual;select seq_test01.nextval from dual;-- 开发过程,通常写法如下:create sequence seq_test02;-- 建表create table louceng(lou number primary key);-- 执⾏两次insert into louceng values(seq_test02.nextval);-- 1 2select seq_test02.currval from dual;select*from louceng;三、索引3.1 索引概述 索引:索引是⼀种已经排好序的帮助数据库快速查找数据的数据结构,主要是⽤来帮助数据库快速的找到数据相当于⼀本书的⽬录。
ORACLE常见用系统视图及系统表大全,可以帮助你管理数据库
ORACLE常见用系统视图及系统表大全,可以帮助你管理数据库总结ORACLE系统视图及表大全: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 系统伪列表信息Oracle常用动态视图介绍:2.1.1 v$lock给出了锁的信息,如type字段, user type locks有3种:TM,TX,UL,system type locks有多种,常见的有:MR,RT,XR,TS 等。
oracle的各种视图
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 ername,a.mechine,b.lmode,b.requestfrom v$sessiona,v$lock bwhere 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 objectfrom V$LOCKED_OBJECT a,DBA_OBJECT bwhere a.object_id = b.object_id20 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$kccleselect max(lebsz) from x$kccle;##############role_开头role_sys_privs查看角色有哪些权限user_sys_privs 当前用户的系统权限信息//查看角色权限SQL> select * from role_sys_privs where role='RESOURCE';。
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;。
oracle内置常用表和视图及其日志管理
DBA_TABLES、ALL_TABLES以及USER_TABLES此三个视图可以用来查询ORACLE中关系表信息,它们之间的关系和区别有:DBA_TABLES >= ALL_TABLES >= USER_TABLESDBA_TABLES意为DBA拥有的或可以访问的所有的关系表。
ALL_TABLES意为某一用户拥有的或可以访问的所有的关系表。
USER_TABLES意为某一用户所拥有的所有的关系表。
由上可知,当某一用户本身就为数据库DBA时,DBA_TABLES与ALL_TABLES等价。
此规律可以类推至Oracle中其它类似名称的视图。
需要注意的是在ORACLE数据库中大小写是敏感的,而此三表中数据默认都是大写的,所以在进行查询的时候注意小写的数据可能会造成数据无法查到。
一.Oracle表明细及说明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 用户模式的索引信息er_开头表user_objects 用户对象信息user_source 数据库用户的所有资源对象信息user_segments 用户的表段信息user_tables 用户的表对象信息user_tab_columns 用户的表列信息关于这个还涉及到两个常用的例子如下:2.1.oracle中查询某个字段属于哪个表Sql代码select table_name,owner from dba_tab_columns t wheret.COLUMN_NAME like upper('%username%');2.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 散列簇的信息3.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 数据库系统状态信息4.all_开头表all_users 数据库所有用户的信息all_objects 数据库所有的对象的信息all_def_audit_opts 所有默认的审计设置信息all_tables 所有的表对象信息all_indexes 所有的数据库对象索引的信息5.session_开头表session_roles 会话的角色信息session_privs 会话的权限信息6.index_开头表index_stats 索引的设置和存储信息二.oracle最重要的9个动态性能视图v$session + v$session_wait (在10g里功能被整合,凑合算1个吧.) v$processv$sqlv$sqltextv$bh (更宁愿是x$bh)v$lockv$latch_childrenv$sysstatv$system_event三.按组分的几组重要的性能视图1.System 的 over viewv$sysstat,v$system_event,v$parameter2.某个session 的当前情况v$process,v$session,v$session_wait,v$session_event,v$sesstat3.SQL的情况v$sql,v$sqlarea,v$SQL_PLAN,V$SQL_PLAN_STATISTICS,v$sqltext_with_newlinestch / lock /ENQUEUEv$latch,v$latch_children,v$latch_holder,v$lock,V$ENQUEUE_STAT,V$ENQUEUE_LOCK 5.IO 方面的v$segstat,v$filestat,v$tempstat,v$datafile,v$tempfile6.shared pool / Library cachev$Librarycache,v$rowcache,x$ksmsp7.几个advice也不错v$db_cache_advice,v$PGA_TARGET_ADVICE,v$SHARED_POOL_ADVICE四、oracle日志文件的整理1增加日志组实例1:为oracle数据库增加一个重做日志组,组号自动分配,组中包含两个日志成员,大小为10M,并查询动态性能视图确定能否成功。
Oracle内置的表或视图
在ORACLE数据库中,有一些内置的表和视图,记录着一些数据库的相关信息:如我们建了哪些表,哪些用户,表有哪些字段等等,这些东西有时候是非常有用的。
1.几个重要的Oracle表或者视图如下:v$controlfile:控制文件的信息;v$datafile:数据文件的信息;v$log:日志文件的信息;v$process:处理器的信息;v$session:会话信息;v$transaction:事务信息;v$resource:资源信息;v$sga:系统全局区的信息。
上面的视图名中的‘v$’,只是视图名字中的字符。
类似于上面的视图或表还有很多,位于:$Oracle_HOME/RDBMS/ADMIN/CATALOG.SQL文件中。
这些视图或Oracle表可以在SQLPLUS中用SELECT语句进行查询。
2.数据字典视图表和列DBA_TABLES、ALL_TABLES和USER_TABLES显示了有关数据库表的一般信息。
DBA_TAB_COLUMNS、ALL_TAB_COLUMNS和USER_TAB_COLUMNS显示了每个数据库表的列的信息。
注意:DBA_OBJECTS、ALL_OBJECTS和USER_OBJECTS显示了模式对象的信息,包括Oracle 表。
完整性约束DBA_CONSTRAINTS、ALL_CONSTRAINTS和USER_CONSTRAINST显示有关约束的一般信息。
DBA_CONS_COLUMNS、ALL_CONS_COLUMNS和USER_CONS_COLUMNS显示有关列的相关约束的一般信息。
视图DBA_VIEWS、ALL_VIEWS和USER_VIEWS。
注意:DBA_OBJECTS、ALL_OBJECTS和USER_OBJECTS显示了模式对象的信息,包括视图。
序列DBA_SEQUENCES、ALL_SEQUENCES和USER_SEQUENCES。
注意:DBA_OBJECTS、ALL_OBJECTS和USER_OBJECTS显示了模式对象的信息,包括序列。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8 level 4 + users/waiters 9 level 5 + users/waiters
10 level 6 + users/waiters
ALTER SYSTEM DUMP LOGFILE 'FileName'
SCN MIN MinSCN SCN MAX MaxSCN TIME MIN MinTime TIME MAX MaxTime
LAYER Layer OPCODE Opcode
DBA MIN File#.Block#DBA MAX File#.Block#
RBA MIN LogFileSequence#.Block# RBA MAX LogFileSequence#.Block#;
其中time = ((((yyyy - 1988) * 12 + mm - 1) * 31 + dd - 1) * 24 + hh) * 60 + mi) * 60 + ss;
5).Buffer
ALTER SESSION SET EVENTS 'immediate trace name buffer level n';
n为某个指定block的rdba,该命令可以转储某个block在buffer中的所有版本。
6).Heap
ALTER SESSION SET EVENTS 'immediate trace name heapdump level level';
13).Latches
ALTER SESSION SET EVENTS 'immediate trace name latches level n';
1 latch信息 2 统计信息
14).Events
ALTER SESSION SET EVENTS 'immediate trace name events level n';
0 Error stack 1 level 0 + function call stack
2 level 1 + process state 3 level 2 + context area
11).Hang Analysis
ALTER SESSION SET EVENTS 'immediate trace name hanganalyze level n';
1 控制文件中的redo log信息 2 level 1 + 文件头信息
3 level 2 + 日志文件头信息 10 level 3
8).Redo log
ALTER SYSTEM DUMP LOGFILE 'FileName';
Oracle跟踪文件分为三种类型,一种是后台报警日志文件,记录数据库在启动、关闭和运行期间后
台进程的活动情况,如表空间创建、回滚段创建、某些alter命令、日志切换、错误消息等。在数据库出现故障时,应首先查看该文件,但文件中的信息与任何错误状态没有必然的联系。后台报警日志
文件保存BACKGROUND_DUMP_DEST参数指定的目录中,文件格式为SIDALRT.LOG。另一种类型是DBWR、LGWR、SMON等后台进程创建的后台跟踪文件。后台跟踪文件根据后台进程运行情况产生,后台跟踪文件也保存在BACKGROUND_DUMP_DEST参数指定的目录中,文件格式为siddbwr.trc、sidsmon.trc等。还有一种类型是由连接到Oracle的用户进程(Server Processes)生成的用户跟踪文件。这些文件仅在用户会话期间遇到错误时产生。此外,用户可以通过执行oracle跟踪事件(见后面)来生成该类文件,用户跟踪文件保存在USER_DUMP_DEST参数指定的目录中,文件格式为oraxxxxx.trc,xxxxx为创建文件的进程号(或线程号)。
4).Undo for a Transaction
ALTER SYSTEM DUMP UNDO BLOCK 'segment_name' XID xidusn xidslot xidsqn; SET EVENTS 'immediate trace name file_hdrs level n';
2).Tree Dump
ALTER SESSION SET EVENTS 'immediate trace name treedump level object_id';
3).Undo Segment Header
ALTER SYSTEM DUMP UNDO_HEADER 'segment_name';
1 控制文件中的文件头信息 2 level 1 + 文件头信息
3 level 2 + 数据文件头信息 10 level 3
6).Control file
ALTER SESSION SET EVENTS 'immediate trace name controlf level n';
1 PGA摘要 2 SGA摘要 4 UGA摘要
8 Current call(CGA)摘要 16 User call(CGA)摘要 32 Large call(LGA)摘要
1025 PGA内容 2050 SGA内容 4100 UGA内容
1 文件头信息 2 level 1 + 数据库信息 + 检查点信息
3 level 2 + 可重用节信息 10 level 3
7).Redo log Header
ALTER SESSION SET EVENTS 'immediate trace name redohdr level n';
ALTER SESSION SET EVENTS 'immediate trace name shared_server_state level n';
n取值为1~14
17).Background Messages
ALTER SESSION SET EVENTS 'immediate trace name bg_messages level (pid+1)';
若n为subheap的地址,转储的是subheap的摘要信息
若n为subheap的地址+1,转储的则是subheap的内容
Oracle 9.2.0版本之后
ALTER SESSION SET EVENTS 'immediate trace name heapdump_addr level n, addr m';
3 包含object handle 4 包含object结构(Heap 0)
3).Row Cache
ALTER SESSION SET EVENTS 'immediate trace name row_cache level n';
1 row cache统计信息 2 包含hash table histogram 8 包含object结构
ALTER SESSION SET EVENTS 'immediate trace name systemstate level n';
10).Error State
ALTER SESSION SET EVENTS 'immediate trace name errorstack level n';
4).Buffers
ALTER SESSION SET EVENTS 'immediate trace name buffers level n';
1 buffer header 2 level 1 + block header
3 level 2 + block contents 4 level 1 + hash chain
12).Work Area
ALTER SESSION SET EVENTS 'immediate trace name workareatab_dump level n';
1 SGA信息 2 Workarea Table摘要信息 3 Workarea Table详细信息
二 . File Dumps
1).Block
ALTER SYSTEM DUMP DATAFILE file# BLOCK block#;
ALTER SYSTEM DUMP DATAFILE file# BLOCK MIN min # BLOCK MAX max #;
2).Library Cache
ALTER SESSION SET EVENTS 'immediate trace name library_cache level n';
1 library cache统计信息 2 包含hash table histogram
1 session 2 process 3 system
15).Locks
ALTER SESSION SET EVENTS 'immediate trace name locks level n';
16).Shared Server Process
9).Loghist
ALTER SESSION SET EVENTS 'immediate trace name loghist level n';