Oracle 连接因式分解(Join Factorization)
连接因式分解(Join Factorization)是优化器处理带union all的目标SQL的一种优化手段,它是指优化器在处理以union all连接的目标SQL的各个分支时,不再原封不动地分别重复执行每个分支,而是会把各个分支中公共的部分提出来作为一个单独的结果集,然后再和原union all中剩下的部分做表连接。连接因式分解在Oracle 11gr2...
对union集合操作理解不足造成的巨大的灾难
朋友和我说发现了oracle union操作的一个bug,他的查询语句如下:SQL> select sum(a1) a1,sum(a2) a2 2 from ( 3 select 1 a1,0 a2 from dual 4 union 5 select 0 a2, 1 a1 from dual 6 ) 7 ; &nb...
Oracle RAC修改public,private,vip scan IP
oracle rac修改IP涉及到OCR,在执行修改前要进行一个备份,这样即使修改失败,也能还原回来,如何备份可以参考oracle-rac-ocr-和-votingdisk-的备份与恢复/实验环境:redhat 5.4 oracle 10g rac ,oracle 11g rac原来两节点rac IP设置如下:192.168.56.11 jy1192.168.56.12 jy2192.168.56.13 jy1-priv192.168.56.14 jy2...
Oracle RAC OCR 和 VotingDisk 的备份与恢复
一:Voting DiskVoting Disk 这个文件主要用于记录节点成员状态,在出现脑裂时,决定那个Partion获得控制权,其他的Partion必须从集群中剔除。Voting disk使用的是一种“多数可用算法”,如果有多个Voting disk,则必须一半以上的Votedisk同时使用,Clusterware才能正常使用。 比如配置了4个Votedisk,坏一个Vo...
Linux rac root.sh Failed to upgrade Oracle Cluster Registry configuration
因为oracle 10g版权被全省买断,11g没有买版权所以朋友要在Red hat Linux 5.4下使用裸设备来安装oracle 10g rac数据库。但在安装过程出现了一些错误 到节点2上用root用户身份执行/u01/app/oracle/product/10.2.0/crs下的root.sh:/u01/app/product/10.2.0/crs/jdk/jre//bin/java: error while loading shared libraries:...
hp rx6600两台oracle双机互备服务器其中一台经常自动关机的故障诊断
hp rx6600两台oracle数据库双机互备服务器其中一台经常自动关机,刚好在做巡检时遇到了就顺便检查一下原因.检查经常出故障的一台小机日志信息如下:rx6600-1:[/]#cat /var/adm/syslog/syslog.logNov 6 10:40:35 rx6600-1 syslogd: restartNov 6 10:40:35 rx6600-1 vmunix: Found adjacent data tr. Growing size. ...
hp-ux利用rman将数据库跨平台迁移到aix平台上
这次因为要迁移的数据库大小并不大但也不是只有几十G所以选择使用rman将生产数据库从hp-ux迁移到aix上,数据库是10.2.0.41.操作环境1.1 源生产环境数据库名 CAIWU实例名 CAIWUDBID 338270341数据库 HP-UX 10.2.0.4.0 - 64bit Production数据文件目录 /cwjc_data/CAIWU文本初始化参数文件:/oracle/product/10.2...
查询执行hash join出现ora-040300 (QERHJ hash-joi,kllcqas:kllsltba)的诊断案例
某公安系统开发人员在plsql中执行查询时报ORA-04030: 在尝试分配 123416 字节 (QERHJ hash-joi,kllcqas:kllsltba) 时进程内存不足。数据库是aix上的rac 11.2.0.4。当时朋友找到我,我当时给他的建议是直接把报错的查询直接在数据库服务器上执行看是否报错,因为在服务器上用sqlplus来执行是没有经过监听程序的,但后面给...
使用SQLT来构建Oracle测试用例
在进行性能优化尤其是SQL优化时不能在生产环境进行测试,或者在升级时对SQL语句性能进行测试时,构建一个测试环境很重要,这篇文章介绍使用SQLT工具来快速简单的构建测试用例的方法。其实要使用SQLT来构建一个测试用例不需要额外执行SQLT报告。运行SQLTXTRACT或SQLTXECUTE就能为测试用例创建足够的信息。例...
oracle 11gr2中使用dbms_sqldiag.dump_trace来获得10053跟踪文件
从Oracle 11gr2开始在不执行SQL语句的情况下可以使用dbms_sqldiag.dump_trace来生成10053跟踪文件。它的操作步骤如下:1.先执行sql语句SQL> column slq_text format a30SQL> select sysdate from dual;SYSDATE------------15-AUG-142.通过sql语句的文本来搜索v$sql找到该语句相应的sql_id.SQL> select sq...
Oracle SQL Tuning with Oracle SQLTXPAIN 第一章
Oracle SQL Tuning with Oracle SQLTXPLAIN - 第一章.pdf我有一个习惯在看英文次数时喜欢将它翻译成中文,我觉得这是一本介绍SQLTXPLAIN工具的好书,使用SQLTXPLAIN来进行sql优化真的很方便。由于我的水平有限翻译的不好,请大家指正。
使用SQL Profile进行SQL优化案例
一个社保系统的自助查询系统查询个人医疗费用明细的查询语句要用一分多钟还没查询出来,语句如下:select * from v_zzzd_ylbx_ylfymxcx where aac002='430703198202280017'从上面的语句可知是从视图 v_zzzd_ylbx_ylfymxcx中查询数据。v_zzzd_ylbx_ylfymxcx视图的创建语句如下:create or replace view v_zzzd_yl...
weblogic 10.3.3 java.lang.IllegalArgumentException异常终止服务故障
weblogic 10.3.3异常终止服务了检查日志文件发现如下错误信息:<2014-7-12 下午02时20分45秒 CST> <Info> <JDBC> <sx-weblogic31> <AdminServer> <Thread-1> <<WLS Kernel>> <> <> <1405146045970> <BEA-001514> <Destroying Data Source tyzj.> <2014-7-12 下午02时20分45秒 CST> <Info> <JDBC> <sx-weblogic31> <Ad...
oracle IO性能问题故障诊断案例
一业务系统在白天业务时间出现了严重了IO性能问题,下面是下午业务高峰时间(3-5)的awr报告从等待事件来看主要都是与IO相关从上面可以看到除了几个语句的逻辑读很高,其实物理不是很高,每秒产生的重做日志以及物理读也不高.检查磁盘IOrx6600-1:[/]#sar -d 1 10HP-UX rx6600-1 B.11.23 ...
WLS 10.3.0 更新发布应用异常终止处理一例
单位上新上一应用在weblogic控制台进行应用程序更新发布出现java.lang.IllegalArgumentException Registered more than one instance异常,然后weblogic就异常退出.查看AdminServer.log日志可以看到如下信息:####<2014-7-10 下午04时28分11秒 CST> <Info> <J2EE Deployment SPI> <sx-weblogic31> <AdminServer> <[...
TNS-01190故障的处理
由于监听程序原来是使用的是端口1532.现在修改成1521,结果不能启动说监听已经启动了.于是停止监听报错TNS-01190: The user is not authorized to execute the requested listener command[oracle@jyrac1 admin]$ lsnrctl startLSNRCTL for Linux: Version 11.2.0.1.0 - Production on 03-JUL-2014 11:23:07Copyrig...
配置静态听sid_name大小写造成无法登录
配置静态监听时SID_NAME名字大小写造成的远程登录失败.对于oracle数据库来说同样的名字不一样的大小写表示完全不同的数据库实例。一旦静态监听的实例名字与对应的数据库实例不一致时,便会出现无法连接数据库的问题。由于原来的1521端口要给另一个实例使用,现在的这个实例要使用另外的端口客户的就使用静态监听在设置完...
oracle 11g使用DML Error Logging来避免bulk insert故障
使用DML Error Logging来避免bulk insert故障当使用带有子查询的insert语句来加载数据时如果出现错误.系统会终止该语句并回滚整个操作.这是非常消耗时间和资源的操作.如果insert这样的语句可以使用DML Error Logging功能来避免这种情况.为了使用DML error logging功能需要增加一个子句来指定error logging表名来记录...
insert语句造成latch:library cache,latch:shared pool争用的问题
某社保系统在业务高峰期间系统响应缓慢.下面出现在这个征状时的awr报告 在16时分钟的运行时间内DB Time;到了300分钟.服务器是2颗(2核的)CPU 共享池的大小为9808M,每秒解析次数183次,每秒硬解析43 等待事件中latch:library cache,latch:shared pool,latch free是主要的等待事件.这些是与解析相关的. ...
oracle 11g health monitor健康监控
health monitor健康监控从oracle 11g开始,oracle数据库包含对数据库运行诊断检查的健康监控框架health check健康检查是对数据库的各层和组件乾地检查.健康检查会检测文件错误,物理和逻辑块错误,undo和redo错误,数据字典错误等等.健康检查会生成一个检查报告在许多情况下包含了问题解决的建议.健康检查有两种运行方式...