
Oracle
曾燕辉
高级开发、高级软件工程师
展开
-
Oracle AWR报告生成和性能分析
一、AWE报告生成步骤对于SQL调优,局部SQL,我们可以直接使用执行计划等直接调优,而对于整个系统来说?这时候就可以用Oracle系统自带的报告对系统进行整体分析了,Oracle提供好几种性能分析的报告,比如AWR、ASH、ADDM等等这篇博客主要介绍AWRAWR全称Automatic Workload Repository,自动负载信息库,是Oracle 10g版本后推出的一种性能收...转载 2019-11-10 17:41:34 · 1049 阅读 · 0 评论 -
ORACLE锁表解决
查询发生阻塞的SQL:select * from v$lock l2where (l2.TYPE,l2.ID1,l2.ID2) in (select type,id1,id2 from v$lockwhere block = 1);从上述执行结果可以看出,发生了行锁,会话143阻塞了会话138!查询锁住的对象:SELECT * FROM DBA_OBJECTS W...原创 2019-10-21 18:01:35 · 334 阅读 · 0 评论 -
v$lock视图详解
V$LOCK视图上重要的列如下:SID 正在拥有或请求会话的ID。若LMODE>0时,表示正在拥有锁的会话;REQUEST>0时,表示正在请求锁的会话。 TYPE Enqueue锁资源类型(例:TM、TX、UL、US、CI、TC...) ID1 资源ID1 ID2 资源ID2,<TYPE-ID1-ID2>成为锁保护的资源标识符 L...原创 2019-10-08 22:06:53 · 995 阅读 · 0 评论 -
dbms_rowid.rowid_block_number(rowid) 获取该行数据所在的块no
select id,dbms_rowid.rowid_block_number(rowid) from tx_itl_test;原创 2019-10-08 21:26:39 · 943 阅读 · 0 评论 -
通过Oracle EM管理工具分析性能问题
Oracle EM包含数据库诊断包、数据库优化数据包、配置管理包等高级功能。以修改特定行的锁争用为例子:先锁定行select * from t_user where username = 'aa' for update;再在另一个会话,更新改行的数据 update t_user set username = 'tt' where username = 'aa';...原创 2019-08-12 22:28:14 · 1315 阅读 · 0 评论 -
Oracle10g em启动报此网站的安全证书有问题的解决方案
Oracle10g重新配置了EM之后,登录https://yhzeng-PC:5500/em提示安全证书有问题,无法打开网页,就算设置了可信任站点也无效果!解决方案:首先,查看EM的状态,可以看到是正常的,否则要重新配置了(如果再重新安装的时候,提示写D:\oracle10\product\10.2.0\db_1\sysman\emd\targets.xml失败,那么就编辑这个文件...原创 2019-08-12 21:46:25 · 422 阅读 · 0 评论 -
Oracle查看等待事件
--查询等待的会话ID , 阻塞的等待时间类型、事件ID 、 SQLID 等等信息select * from v$active_session_history hwhere sample_time > trunc(sysdate) and session_state = 'WAITING' and exists( select 1 from v$sql s...原创 2018-12-04 23:17:07 · 8749 阅读 · 3 评论 -
oracle–v$lock type字段详解
转载自:《oracle–v$lock type字段详解》 Name Description AD ASM Disk AU Lock AF Advisor Framework AG Analytic Workspace Generation AK GES Deadlock Test AO MultiWriter Object Acces...转载 2018-12-04 22:45:26 · 3082 阅读 · 0 评论 -
Oracle hint详解
转载自:《hint详解》 一、提示(Hint)概述1为什么引入Hint?Hint是Oracle数据库中很有特色的一个功能,是很多DBA优化中经常采用的一个手段。那为什么Oracle会考虑引入优化器呢?基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻DBA的负担。但有时它也聪明反被聪明误,选择了很差的执行计划,使某个语句的执行变得奇慢无比。此时就需要DB...转载 2018-10-31 00:24:36 · 18883 阅读 · 1 评论 -
ORACLE主键ID的生成
一般常用的方法有两种,使用Sequence和使用SYS_GUID(); 方法一 使用序列号:创建序列号create sequence SEQ_T_USERstart with 1increment by 1nocache;再使用序列号 <insert id="save" parameterType="edu.mvcdemo.entity.User">...原创 2018-10-28 20:29:08 · 10936 阅读 · 0 评论 -
看懂Oracle执行计划
转载自:《看懂Oracle执行计划》 最近一直在跟Oracle打交道,从最初的一脸懵逼到现在的略有所知,也来总结一下自己最近所学,不定时更新ing… 一:什么是Oracle执行计划?执行计划是一条查询语句在Oracle中的执行过程或访问路径的描述 二:怎样查看Oracle执行计划?因为我一直用的PLSQL远程连接的公司数据库,所以这里以PLSQL为例:①:...转载 2018-10-25 21:38:38 · 404 阅读 · 0 评论 -
10046事件详解
转载自:《10046事件详解》一、 10046事件概述10046是一个Oracle的内部事件(event),通过设置这个事件可以得到Oracle内部执行系统解析、调用、等待、绑定变量等详细的trace信息,即帮助我们解析一条/多条SQL、PL/SQL语句的运行状态,这些状态包括:Parse/Fetch/Execute三个阶段中遇到的等待事件、消耗的物理和逻辑读、CPU时间、执行计...转载 2018-10-21 17:52:55 · 1736 阅读 · 0 评论 -
Oracle常用诊断事件清单
转载自:《Oracle常用诊断事件清单》个人分类: oracle基础 事件 说明 例子 Event 10013 – Monitor Transaction Recovery 在Startup时跟踪事务恢复 ALTER SESSION SET EVENTS ’10013 ...转载 2018-10-21 10:46:33 · 438 阅读 · 0 评论 -
tkprof用法
转载自:《tkprof用法》作用:格式化跟踪文件,例如格式化sql trace,10046产生的输出文件。1)TKPROF的参数:不输入任何参数,直接输入tkprof,回车,可以获得一个完整的参数列表.C:\>tkprofUsage: tkprof tracefile outputfile [explain= ] [table= ] [print= ] [...转载 2018-10-21 10:17:21 · 344 阅读 · 0 评论 -
oracle自定义异常处理
declare -- 自定义异常名称 NO_CONFIG_EXCEPTION exception; v_sqlcode varchar2(20); -- 错误码 v_sqlerrm varchar2(300); -- 错误信息 -- 告诉编译器将异常名 与 ORACLE 错误码结合起来 pragma exception_init(NO_CONFIG_EXCEPTION,...原创 2018-09-29 22:28:08 · 3358 阅读 · 0 评论 -
Oracle如何使用 connect by递归查询数据
查询深圳分公司以及它的下级部门select * from dept_info where is_valid = 'Y' start with dept_no = '10'connect by prior dept_no = parent_dept_no; 查询深圳分公司以及它的上级部门select * from dept_info where is_vali...原创 2018-09-26 22:32:04 · 889 阅读 · 0 评论 -
Oracle如何限制表的某些字段不能update
CREATE OR REPLACE TRIGGER TR_U_T_STUDY_VIDEO before update ON t_study_viedoFOR EACH ROWBEGIN :new.update_date := sysdate; if updating('VIDEO_CONTENT') then raise_application_error(-2000...原创 2018-08-24 13:12:26 · 4313 阅读 · 0 评论 -
alter system set ... scope=... 中的scope的含义是什么?
scope就是这个参数修改的SQL的影响的范围,总共有三个值:both、memory,spfile。1.scope=memory修改后当前就起作用,重启数据库不起作用2.scope=spfile修改后当前不起作用,下次重启数据库才起作用3.scope=both修改后当前起作用,下次重启数据库也起作用...原创 2018-07-10 09:25:02 · 2208 阅读 · 1 评论 -
startup,startup mount,startup nomount之间的区别
转载自:https://blog.csdn.net/wangshuai6707/article/details/40423437startup,startup mount,startup nomount之间的区别 startup nomount选项:(读初始化参数文件,启动实例)startup nomount选项启动实例,但不安装数据库。当数据库以这个模式启动时,参数文件被读取;后台进程和内存结构...转载 2018-07-02 15:49:44 · 2615 阅读 · 0 评论 -
Oracle官方参考资料
https://docs.oracle.com/cd/E18283_01/index.htm转载 2018-06-22 09:36:57 · 856 阅读 · 0 评论 -
Oracle中的rowid
转载自:https://www.cnblogs.com/xqzt/p/4449184.htmlOracle中的rowidROWID是ORACLE中的一个重要的概念。用于定位数据库中一条记录的一个相对唯一地址值。通常情况下,该值在该行数据插入到数据库表时即被确定且唯一。ROWID它是一个伪列,它并不实际存在于表中。它是ORACLE在读取表中数据行时,根据每一行数据的物理地址信息编码而成的一个伪列。所...转载 2018-04-05 09:48:36 · 552 阅读 · 0 评论 -
DBA技术论坛推荐
在网上看到的较牛的论坛,记录下来(怕忘了):中国DBA社区转载 2018-01-21 14:20:12 · 1941 阅读 · 0 评论 -
Oracle Rowid 介绍
转载自博客:Oracle Rowid 介绍一. 官网说明 owid的定义:A globally unique address for a row in a database. rowid 分为extended rowid 和 restricted rowied. 1.1 Restricted ROWID Internally,转载 2018-01-21 14:16:24 · 366 阅读 · 0 评论 -
Oracle arraysize 和 fetch size 参数 与 性能优化 说明
转载自博客:Oracle arraysize 和 fetch size 参数 与 性能优化 说明一. 参数说明1.1 arraysize 参数 Oracle sqlplus 有很多设置,这个在我之前的blog有说明: Oracle sqlplus 常用命令总结 http://www.cndba.cn/Dav转载 2018-01-21 14:10:59 · 1359 阅读 · 0 评论 -
ORACLE 物理读 逻辑读 一致性读 当前模式读总结浅析
转载自博客:ORACLE 物理读 逻辑读 一致性读 当前模式读总结浅析在ORACLE数据库中有物理读(Physical Reads)、逻辑读(Logical Reads)、一致性读(Consistant Get)、当前模式读(DB Block Gets)等诸多概念,如果不理解或混淆这些概念的话,对你深入理解一些知识无疑是一个障碍,但是这些概念确实挺让让人犯晕的。下面我们总结、学习一下这方面转载 2018-01-21 13:43:50 · 617 阅读 · 0 评论 -
ORACLE如何让SQL PLUS尽量一行显示而不是一列显示就换行
解决方案:首先,扩大一行可以显示的字符数量,通过下面命令设置一行最多显示4000字符,超过则换行显示:set line 4000或set linesize 4000如果,还是存在问题,那就是可能一列显示的宽度太大了导致的,就可以使用col format命令设置特定列的宽度。以设置 id 列 的宽度为40字符为例子:col id format a40原创 2018-01-06 22:54:08 · 17304 阅读 · 0 评论 -
oracle通过v$sql视图查询sql的平均执行时间
SELECT SQL_TEXT,EXECUTIONS 总执行次数,ELAPSED_TIME/1000 总耗时(秒), ELAPSED_TIME/nvl(EXECUTIONS,1)/1000 平均耗时(秒), PARSE_CALLS 硬解析次数,DISK_READS 物理读次数,BUFFER_GETS 读缓存区次数FROM v$SQL WHERE SQL_TEXT LIKE '%SE原创 2018-01-01 19:26:16 · 9974 阅读 · 0 评论 -
Oracle如何调试package、procedures、Function?
以存储过程为例子:1)右键要调试的存储过程,选择"添加调试信息"2)右键,选择“”测试”,再点击“调试”按钮进行调试(或按下F9)原创 2017-12-23 23:26:24 · 7435 阅读 · 0 评论 -
Java如何抓取ORACLE中调用函数接口的SQL
Oracle中查询调用函数接口,会存在各种性能问题。很多时候,公司经理或领导都要求我们对这些调接口函数的SQL进行优化,那么要怎么找出这些SQL呢?因为我们公司的业务都是写在package,最少几千行的代码,几百个package,自己用肉眼去看是非常费劲的,所以自己用JAVA写了个小程序,将这些SQL抓取出来。FindFuncSQL.java:package utils.orac原创 2017-10-14 21:10:42 · 777 阅读 · 0 评论 -
oracle connect by用法篇
1.基本语法select * from table [start with condition1] connect by [prior] id=parentid1一般用来查找存在父子关系的数据,也就是树形结构的数据;其返还的数据也能够明确的区分出每一层的数据。start with condition1 是用来限制第一层的数据,或者叫根节点数据;以这部分数据为基础来查原创 2017-10-02 19:56:08 · 1105 阅读 · 0 评论 -
Oracle 删除表中记录 如何释放表及表空间大小
转载自:http://blog.csdn.net/xixi_666/article/details/481798651.查看一个表所占的空间大小:SELECT bytes/1024/1024 ||'MB' TABLE_SIZE ,u.* FROM USER_SEGMENTS U WHERE U.SEGMENT_NAME='JK_TEST';2.查看一个表空间所占的实际大小:SELE转载 2017-10-02 19:31:51 · 1318 阅读 · 0 评论 -
oracle分区表详解
转载自:http://blog.csdn.net/hijiankang/article/details/9173877/一. 分区表理论知识Oracle提供了分区技术以支持VLDB(Very Large DataBase)。分区表通过对分区列的判断,把分区列不同的记录,放到不同的分区中。分区完全对应用透明。Oracle的分区表可以包括多个分区,每个分区都是一个独立的段(SEGMEN转载 2017-10-02 11:27:53 · 435 阅读 · 0 评论 -
Oracle的Package的作用及用法
转载自:http://blog.csdn.net/seelye/article/details/8509030Oracle的Package的作用简化应用设计、提高应用性能、实现信息隐藏、子程序重载。1.Oracle的Package除 了把存储过程放到一堆儿以外还有没有其他的作用(好处)? 你不觉得把存储过程分门别类是很重要的么,而且不同的package的存储过程可以重转载 2017-10-02 11:16:41 · 13362 阅读 · 1 评论 -
数据库SQL优化大总结之 百万级数据库优化方案
转载自:http://database.51cto.com/art/201407/445934.htm网上关于SQL优化的教程很多,但是比较杂乱。近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充。这篇文章我花费了大量的时间查找资料、修改、排版,希望大家阅读之后,感觉好的话推荐给更多的人,让更多的人看到、纠正以及补充。1.对查询进行优化,要尽量避免全表扫转载 2017-09-02 13:16:38 · 354 阅读 · 0 评论 -
ORACLE中%TYPE和%ROWTYPE的使用
转载自:http://blog.csdn.net/liangweiwei130/article/details/381178471 %TYPE说明为了使一个变量的数据类型与另一个已经定义了的变量(尤其是表的某一列)的数据类型相一致,Oracle提供了%TYPE定义方式。当被参照的那个变量的数据类型改变了之后,这个新定义的变量的数据类型会自动跟随其改变,容易保持一致,也不用修转载 2017-09-01 23:22:26 · 408 阅读 · 0 评论 -
Oracle创建用户、表空间、导入导出等
1、创建表空间CREATE TABLESPACE testLOGGINGDATAFILE 'E:\oradata\test.DBF' SIZE 32M AUTOEXTEND ON NEXT 1M EXTENT MANAGEMENT LOCAL;原创 2017-08-01 17:28:53 · 473 阅读 · 0 评论 -
Oracle如何查看SQL的解释计划
explain plan for select * from testselect * from table(dbms_xplan.display);原创 2017-08-01 16:37:48 · 1638 阅读 · 0 评论 -
dbms_xplan常用的函数
转载 2017-08-01 16:32:44 · 465 阅读 · 0 评论 -
Oracle如何查看SQL实际执行计划
select /*recentsql*/s.SQL_ID,s.CHILD_NUMBER,s.HASH_VALUE,s.ADDRESS,s.EXECUTIONS,s.SQL_TEXT from v$sql swhere s.PARSING_USER_ID = ( select u.user_id from all_users u where u.username =原创 2017-08-01 16:14:19 · 6318 阅读 · 0 评论 -
dbms_xplan.display_cursor的用法
转载 2017-08-01 15:53:47 · 1496 阅读 · 0 评论