- 博客(15)
- 资源 (1)
- 收藏
- 关注
转载 吕海波(Vage)- 漂泊的技术人生 - ITPUB访谈录
arron刘:大师您好,今天很高兴采访您,您先自我介绍一下? 分享一下您的职业经历? 您目前从事的工作?VAGE:我的ID VAGE,相信大家都知道了,经常发一些深奥、晦涩的文章,骗几篇精华赚赚人气。其实并不是我总是发晦涩的文章。Oracle基本的原理啊、运行机制啊等等,这些年来大家都讨论的差不多了。现在不是流行"产业升级"这一说吗,这么多年了,我们研究Oracle的方法,也要"与
2013-07-31 17:05:16 3006
原创 巧用分析函数解决ORA-06502--字符串缓冲区太小
现在有这么一个需求,业务单据上面有很多流程跟踪的信息,要显示在列表页面的一个字段中。可能出现一个问题,那就是如果合并的字段长度超过4000个字节,SQL语句会报错,ORA-06502 字符串缓冲区太小,即使你用substr()截取也是这样的错误。其实就是一个行转列的过程。那怎么解决这个问题,来做个试验:drop table test;create table test(track_i
2013-07-29 14:21:12 7564
转载 消除临时表空间暴涨的方法
关于消除temp ts暴涨的方法 经常有人问temp表空间暴涨的问题,以及如何回收临时表空间,由于版本的不同,方法显然也多种多样,但这些方法显示是治标不治本的办法,只有深刻理解temp表空间快速增加的原因,才能从根本上解决temp ts的问题。是什么操作在使用temp ts?- 索引创建或重创建. - ORDER BY or GROUP BY - DISTINCT 操作.
2013-07-23 15:57:28 3078
原创 10053事件的妙用
前些天有有一个奇怪的现象,一条SQL语句不加order by是可以查出10条数据,加了order by后一条数据都查不出来。 用的oracle版本是10.0.1。由于所用的表不能贴出来,所以只能跟大家讲讲思路。 看此条SQL比较复杂,多层嵌套,有肉眼真是看不出来是什么问题,但是我有思路。因为我知道Oracle会对SQL进行查询转换,如in(1,2)会改为or等。所以我决
2013-07-22 11:47:55 1148
转载 Data Pump Import速度问题之解决过程
平台:HP安腾2操作系统:Redhat Enterprise Linux 4数据库版本:Oracle 10.2.0.2架构:6节点RAC问题现象:用数据泵方法导出一个表的两个分区数据很快,而导入却很慢数据:用数据泵导出,速度为29万条/秒(37MB/秒)用数据泵导入,速度为300条/秒(39KB/秒)解决过程: 开始没有看到环境,个
2013-07-17 09:37:25 1489
原创 Blocked trying to get lock: weblogic.utils.classloaders.ChangeAwareClassLoader
最近weblogic应用服务器CPU时常飙高,系统突然会变得缓慢。从错误日志中可以看到stuck线程,还可以看到一个奇怪的错误: <[STUCK] ExecuteThread: '19' for queue: 'weblogic.kernel.Default (self-tuning)' has been busy for "616" seconds working on the req
2013-07-15 20:19:55 6727
原创 sqlplus连不上数据库--SP2-1503: Unable to initialize Oracle call interface
同事在win7 64位上装了一个32位的oracle 10g,运行正常。然后又装了一个64位的oracle 11g,发现不管10g 和11g的sqlplus都用不了。 cmd 运行 sqlplus 报错以下错误。 SP2-1503: Unable to initialize Oracle call interface SP2-0152: ORACLE ma
2013-07-15 19:53:13 3772
原创 空闲等待事件SQL*Net message from dblink等待时间长到底要不要管?
从7月3日开始某一系统总是产生大量等待事件SQL*Net message from dblink,以前都没有的。网上说是空闲等待事件,可以不用管。但是对于这个空闲等待这么大,我想必定是某一个功能出问题了。 通过对业务的了解,确定是两个数据库通过db link传送大量数据导致,一次有几万条,每个小时都会有大量SQL*Net message from dblink是有问题,每个小时同步
2013-07-15 12:39:40 6082
原创 oracle自动统计信息的收集原理及实验
从Oracle Database 10g开始,Oracle在建库后就默认创建了一个名为GATHER_STATS_JOB的定时任务,用于自动收集CBO的统计信息。这个自动任务默认情况下在工作日晚上10:00-6:00和周末全天开启。 调用DBMS_STATS.GATHER_DATABASE_STATS_JOB_PROC收集统计信息。该过程首先检测统计信息缺失和陈旧的对象。然后确定优先级
2013-07-12 18:15:22 2699
原创 SQL多层嵌套引起的ORA-00904
近期在开发环境上运行一条SQL是正常的,换到测试环境上就出问题了,报ORA-00904 invalid identifier 。查询程序先处理内层子查询,它并不知道外层表的别名。故报错。ORACLE认为是个BUG, 后来就改掉了。下面来做一个实验:C:\Documents and Settings\guogang>sqlplus test/test@10.10.15.110
2013-07-10 16:36:14 4681 1
原创 2013-07-03 做的一次数据库诊断
今天分析管理的一个数据库AWR报告,发现从6月28日0点到8点,数据库中有一条语句执行接近1亿2千万次,同时也非常耗资源,对生产环境系统性能影响极大。接着分析28日之后的报告,发现此SQL语句每个小时都执行超过千万次。通过排查已经确定是在06-27 08:30:17,某一个同事以xxxx的账号登录到正式环境上,用PL/SQL中执行SQL没有关闭,一直在执行。17:00我已经关闭此执行会话,18
2013-07-04 14:27:04 1393
原创 insert /*+append*/为什么会提高性能?
在上一篇的blog中 做了下使用,在归档和非归档下,做数据插入http://blog.csdn.net/guogang83/article/details/9219479。结论是在非归档模式下表设置为nologging用insert /*+append*/速度最快。那为什么快呢,原理是什么?下面我们来一起做一个实验: SQL> create or replace view m_undo
2013-07-04 12:07:48 15589
原创 使用bulk进行优化及优化原理
下面有一条需求,向一张表插入1百万的数据,用存储过程实现。下面来做一个实验,用一种实现用了30S,如果改为bulk实现,不到2s。SQL> drop table t purge;表已删除。SQL> set timing onSQL> create table t (x int);SQL> begin for i in 1.. 1000000 lo
2013-07-04 11:37:18 2300
原创 10053 trace文件没有生成解决方案
SQL> alter system flush shared_pool;先刷新shared pool,如果语句已经解析过,也就是已经在共享池中存在的话,10053是没有结果的,因为不在需要做解析了。
2013-07-02 09:44:38 1560
原创 insert /*+append*/ 和nologging在归档和非归档模式下redo测试
在归档模式和非归档模式下,设定表为logging和nologging,测量普通的insert 和insert /*+append*/生成redo大小。 模式普通insert下redo生成量(Byte)insert/*+append*/下redo生成量(Byte)非归档模式(表logging)570632488340
2013-07-01 20:24:52 4698 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人