sqlarea 字段说明

SQLArea是一个数据库管理系统,其字段说明如下:

1. 数据库字段:

* `db_name`:数据库的名称。

* `db_id`:数据库的唯一标识符。

* `db_type`:数据库的类型。

* `db_version`:数据库的版本号。

* `db_size`:数据库的大小。

* `db_capacity`:数据库的容量限制。

* `db_status`:数据库的状态,例如正常、备份、故障等。2. 表格字段:

* `table_name`:表格的名称。

* `table_id`:表格的唯一标识符。

* `table_type`:表格的类型,例如普通表、视图、临时表等。* `table_comment`:表格的注释信息。

* `table_rows`:表格中的行数。

* `table_size`:表格的大小。

3. 列字段:

* `column_name`:列的名称。

* `column_id`:列的唯一标识符。

* `column_type`:列的数据类型,例如整数、浮点数、字符串、日期等。

* `column_comment`:列的注释信息。

* `column_is_key`:列是否是主键或外键。

* `column_is_null`:列是否允许为空值。

* `column_is_index`:列是否被建立索引。

4. 数据类型字段:

* `data_type`:数据类型,例如整数、浮点数、字符串、日期等。

* `data_length`:数据类型的长度。

* `data_precision`:数据类型的精度,例如小数点后的位数。* `data_scale`:数据类型的标度,例如小数点前的位数。

5. 索引字段:

* `index_name`:索引的名称。

* `index_type`:索引的类型,例如主键索引、唯一索引、普通索引等。

* `index_columns`:索引所涉及的列。

6. 外键字段(如果有外键约束):

* `foreign_key_name`:外键约束的名称。

* `foreign_table_name`:外键引用的目标表格名称。

* `foreign_column_name`:外键引用的目标列名称。

oracle维护常用命令

Oracle 维护常用命令 1、确认所有的INSTANCE状态以及listener状态正常,登陆到所有数据库或例程,检 测ORACLE后台进程 $ ps –ef|grep ora $ lsnrctl status SQL> select status from v$instance; 2、查看数据库的版本 Select version FROM Product_component_version Where SUBSTR(PRODUCT,1,6)='Oracle'; 3、查看回滚段名称及大小 select segment_name, tablespace_name, r.status, (initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent, max_extents, v.curext CurExtent From dba_rollback_segs r, v$rollstat v Where r.segment_id = https://www.360docs.net/doc/c319044434.html,n(+) order by segment_name ; 4、查看数据库用户的对象 select owner, object_type, status, count(*) count# from all_objects group by owner, object_type, status; 5、查看数据库的创建日期和归档方式 Select Created, Log_Mode, Log_Mode From V$Database; 6、建一个和a表结构一样的空表 create table b as select * from a where 1=2; 7、根据a表的某些列创建表 create table b as select a1,a2,a3 from a where 1=2;

用 p6spy 来观察 Java 程序中执行的所有 SQL 语句

https://www.360docs.net/doc/c319044434.html,/result.php?key=p6spy 用p6spy 来观察Java 程序中执行的所有SQL 语句(一. 引子) 一个企业应用程序的性能瓶颈可能会在硬件配置、网络方面、程序代码、应用服务器配置、数据库配置、SQL 语句。这里我把本文的关注点SQL 无意间放在了最后,其实它不并不意味着最后考虑的,而是过程中就要时刻留意的。 SQL 语句的优化总得把所执行语句抓出来瞧瞧,分析分析。如果直接用JDBC 或者是类iBatis 的东西来访问数据库,那所执行的SQL 语句是明确的,而现在的项目大多会用ORM 组件,例如Hibernate、JPA、CMP、TopLink 都有自己特定的查询语法,最终当然要转换成SQL 语句的,所以会生成什么样的SQL 语句就不甚明了,若人为的看着专有查询语句来相象出SQL 语句并非易事。虽然Hibernate 设置show_sql=true 时也能打印出生成的SQL(带?号参数),配合详细的日志参数值也可以对上,不过挺麻烦的。 许多数据库本身就有SQL 语句的跟踪功能。比如Oracle 中,可以为某个用户开启SQL 跟踪功能,根据条件把所执行的SQL 语句记录在服务器的日志。或者可从v$sql、v $sqltext、v$sqlarea 等视图中去查询所执行的SQL 语句。 利用数据库的SQL 功能需用特定于数据库的配置方法,好处就是不拘泥于某种编程语言。对于Java 程序我们介绍p6spy 组件,它可以拦截所有执行的SQL 语句,而不管你使用的是什么ORM 框架。对于PrepareStatement 那样带参数(?) 的语句,它会帮你代上相应的参数值。 p6spy 的主页是https://www.360docs.net/doc/c319044434.html,,它支持当前流行的应用服务器,如JBoss、Orion、Tomcat、WebLogic、WebSphere 等,在https://www.360docs.net/doc/c319044434.html,/documentation/i nstall.htm#install 介绍了p6spy 的安装。其实不用太在意p6spy 的安装说明,关键是要

sqlarea 字段说明

SQLArea是一个数据库管理系统,其字段说明如下: 1. 数据库字段: * `db_name`:数据库的名称。 * `db_id`:数据库的唯一标识符。 * `db_type`:数据库的类型。 * `db_version`:数据库的版本号。 * `db_size`:数据库的大小。 * `db_capacity`:数据库的容量限制。 * `db_status`:数据库的状态,例如正常、备份、故障等。2. 表格字段: * `table_name`:表格的名称。 * `table_id`:表格的唯一标识符。 * `table_type`:表格的类型,例如普通表、视图、临时表等。* `table_comment`:表格的注释信息。 * `table_rows`:表格中的行数。 * `table_size`:表格的大小。 3. 列字段:

* `column_name`:列的名称。 * `column_id`:列的唯一标识符。 * `column_type`:列的数据类型,例如整数、浮点数、字符串、日期等。 * `column_comment`:列的注释信息。 * `column_is_key`:列是否是主键或外键。 * `column_is_null`:列是否允许为空值。 * `column_is_index`:列是否被建立索引。 4. 数据类型字段: * `data_type`:数据类型,例如整数、浮点数、字符串、日期等。 * `data_length`:数据类型的长度。 * `data_precision`:数据类型的精度,例如小数点后的位数。* `data_scale`:数据类型的标度,例如小数点前的位数。 5. 索引字段: * `index_name`:索引的名称。

Oracle数据库测试方案

Oracle数据库测试方案

目录 1.测试背景 (3) 2.小机环境安装及配置 (3) 2.1.硬件需求 (3) 2.2.安装配置 (3) 2.3.补丁 (3) 3.安装Oracle及RAC (3) 3.1.Oracle版本 (3) 3.2.数据库参数 (3) 4.划分存储 (4) 5.迁移数据 (4) 6.Oracle数据库压力测试 (4) 6.1.查看执行最频繁的sql (4) 6.1.1.查看当前数据库执行次数最多的sql (4) 6.1.2.查看历史快照中执行次数最多的sql (5) 6.2.Jmeter配置 (5) 6.3.执行jmeter测试 (6) 7.变更字符集后数据库测试 (6) 7.1.数据库测试 (6) 7.1.1.查看当前数据库的字符集 (6) 7.1.2.数据测试 (6) 7.2.应用测试 (7) 7.2.1.综合统计系统 (7) 7.2.2.内主页 (8) 7.2.3.CMS (9)

1.测试背景 信息中心提供AIX环境,安装oracle 11g RAC,作为测试机进行测试,为数据库迁移提供评估信息;同时要将数据库字符集从ZHS16GBK变更为AL32UTF8,为字符集变更进行测试。 2.小机环境安装及配置 2.1.硬件需求 2.2.安装配置 2.3.补丁 3.安装Oracle及RAC 3.1.Oracle版本 3.2.数据库参数

4.划分存储 存储需求 5.迁移数据 6.Oracle数据库压力测试 基于生产库的数据基础,在测试机上对数据库性能进行压力测试,针对生产库的查询需求,以生产库中执行频繁的SQL为基础进行测试。 Oracle数据库压力测试采用jmeter对数据进行压力测试,测试sql采用生产数据库执行最频繁的TOP15 6.1.查看执行最频繁的sql 6.1.1.查看当前数据库执行次数最多的sql 通过查询V$SQLAREA或V$SQL的EXECUTIONS来查看SQL的执行次数,但是这个值的有效性需要结合FIRST_LOAD_TIME来判断。因为V$SQLAREA或V$SQL中不保存历史数据,具有一定的时效性,所以如果要查询很久以前的某个SQL执行次数是办不到的。

oracle锁表问题处理

oracle锁表问题处理 查询表的状况的对象:V$LOCK, V$LOCKED_OBJECT, V$SESSION, V$SQLAREA, V$PROCESS select * from v$locked_object select * from dba_objects 方法: 首先查看哪些表被锁住了 select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id; select https://www.360docs.net/doc/c319044434.html,ername,b.sid,b.serial#,logon_time from v$locked_object a,v$session b where a.session_id = b.sid order by b.logon_time; 杀进程中的会话 alter system kill session 'sid,serial#'; 例如: alter system kill session '29,5497'; 查询锁表的方法: SELECT S.SID SESSION_ID, https://www.360docs.net/doc/c319044434.html,ERNAME, s.SERIAL#, DECODE(LMODE, 0, 'None', 1, 'Null', 2, 'Row-S (SS)', 3, 'Row-X (SX)', 4, 'Share', 5, 'S/Row-X (SSX)', 6, 'Exclusive', TO_CHAR(LMODE)) MODE_HELD, DECODE(REQUEST, 0, 'None', 1, 'Null', 2, 'Row-S (SS)', 3, 'Row-X (SX)', 4, 'Share', 5, 'S/Row-X (SSX)', 6, 'Exclusive', TO_CHAR(REQUEST)) MODE_REQUESTED, O.OWNER||'.'||O.OBJECT_NAME||' ('||O.OBJECT_TYPE||')', S.TYPE LOCK_TYPE, L.ID1 LOCK_ID1, L.ID2 LOCK_ID2 FROM V$LOCK L, SYS.DBA_OBJECTS O, V$SESSION S WHERE L.SID = S.SID AND L.ID1 = O.OBJECT_ID ; 解锁方法: ALTER SYSTEM KILL SESSION 'SID,SERIR#' 0----------0-------- SQL> alter system kill session '1679,2456'; alter system kill session '1679,2456' * ERROR at line 1: ORA-01031: insufficient privileges

enq TX - index contention 等待

一、enq: TX - index contention Waits for TX in mode 4 also occur when a transaction inserting a row in an index has to wait for the end of an index block split being done by another transaction. This type of TX enqueue wait corresponds to the wait event enq: TX - index contention. 可以认为一个session在向一个索引块中执行插入时产生了索引块的split,而其它的session也要往该索引块中插入数据,此时,其它session必须要等待split完成,由此引发了该等待事件。 从抓取的ash报告来看,产生等待的是一条insert语句,而该sql要插入数据的表是一个每天需要进行频繁delete的表,该等待事件的产生与频繁的大批量delete是具有紧密联系的。厂商最后给出的建议是定期对该表进行rebuild,并加大索引的pctfree。 二、 事务队列等待(Tx Enqueue)深入分 析——ITL争用 作者:fuyuncat 来源:https://www.360docs.net/doc/c319044434.html, 我们知道,事务在对数据块中的记录加锁时,需要首先在数据块头部记录下该事务的相关信息,这样一个记录就是一条ITL槽(slot)。ITL TX等待发生在事务请求对数据块中记录加锁时,数据块上没有足够ITL槽。 导致发生ITL不足的原因有3种: ∙INITRANS太小,没有保留足够的ITL空间,当数据块被数据记录占满(或接近满)后,数据块上没有足够空间创建新的ITL槽位(尽管数据块上ITL数量没有达到MAXTRANS的限制),这时,新的事务向其申请加锁时,就会发生ITL争用等待。 注:尽管有PCTFREE为数据块预留了空间,但是,UPDATE操作可能会将其占用,导致空间不足。 注2:INITRANS不足的问题不会出现在索引数据块上,当发现没有足够空间分配ITL slot时,无论是枝点块还是叶子块,数据块会发生分裂(Index Block Split)。 ∙MAXTRANS不足。当受到MAXTRANS限制时,也会发生此类等待。MAXTRANS的默认值是255(10g以后则不能修改这一参数),但是其实际大小是受到块的大小的限制的。ITL Slot占用的空间不会超过块大小的50%(实际上,如数据块为2K,则ITL最多为41,4k数据块的ITL 最大数为83,8K数据块则为169)。 ∙索引块上的递归事务的ITL slot争用。这一类等待比较特殊。在索引的枝节点上,有且只有一个

彻底理解SQLPlus系统变量

彻底理解SQLPlus系统变量 彻底理解SQL*Plus 系统变量 1.APPI[NFO]{ON|OFF|text} 启用或禁止通过DBMS_APPLICATION_INFO包自动注册当前会话正在执行的模块(命令文件)的名称,或者手工注册模块名称。这可以使DBA能够监视每个模块的性能和资源使用情况。注册的模块的名称保存在V$SESSION视图相应会话的MODULE字段中。注册名称时实际是调用DBMS_APPLICATION_INFO.SET_MODULE存储过程。 [ON]:允许自动注册通过@、@@或START调用的命令文件的名称。 [OFF]:禁止自动注册通过@、@@或START调用的命令文件的名称。 [text]:用来手工设置当前会话正在执行的模块名称。 示例: SQL> set appinfo on SQL> @js2008.sql ---模块名将被自动注册 SQL> @jz.sql ---模块名将被自动注册 当APPINFO为ON时命令文件的名称是自动被注册的。可执行下面两条语句分别查看js2008.sql模块和jz.sql模块的执行情况:SQL> select * from v$sqlarea where module like '%js2008.sql'; SQL> select * from v$sqlarea where module like '%jz.sql'; 而当APPINFO为OFF时则不会自动注册命令文件的名称,我们可以手工注册。 SQL> set appinfo off SQL> set appinfo js2008 ---手工注册模块名 SQL> @js2008.sql SQL> set appinfo jz ---手工注册模块名 SQL> @jz.sql 然后执行下面两条语句分别查看js2008.sql模块和jz.sql模块的

相关主题
相关文档
最新文档