巧用shell脚本统计磁盘使用情况
在系统环境中存在大量的文件时,统计磁盘空间的工作变得尤为重要。首先是传统的文件统计,通常使用-s选项,但是只能得到一个概要的信息,如果想定位哪些文件消耗的空间较大还是比较麻烦的。[ora11g@rac1 new_test]$ du -s .1296 .[ora11g@rac1 new_test]$ du -sh .1.3M .[ora11g@rac1 new_...
关于SQLRecoverableException问题的排查和分析
上周的时候在升级时候,客户反馈某个job报了下面的错误,想让我们查看一下是不是数据库这边有什么问题。报错的内容如下。Caused by: java.sql.SQLRecoverableException: No more data to read from socket at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1142) ...
强大的awr format
awr报告对于dba而言是工作中重要的一部分内容,有些时候感觉跟去医院看病的化验单一样,各种指标和参数。有些高了,有些低了都是需要注意的内容。之前打印了一份awr报告,竟然有将近40页的样子,但是阅读awr报告也只能按照一定的思路来看,如果通读,那确实是云里雾里。awr format 是在http://tylermuth.wordpress.com/这个...
通过shell定制dbms_advisor.quick_tune
在平时的调优工作中,在11g中的新特性sql monitor可以极大的简化性能监控的工作,对于执行时间超过5秒的sql语句都会记入v$sql_monitor中。但是如果某个sql语句还没有执行,或者执行时间已经是几天前了,等发现性能问题进行调优的话就会比较困难,采用dbms_advisor.quick_tune是一个不错的选择。如果sql语句比较庞大,比较迷...
通过执行计划中的CONCATENATION分析sql问题
昨天开发的一个同事找到我,说写了一条sql语句,但是执行了半个小时还没有执行完,想让我帮忙看看是怎么回事。他大体上给我讲了下逻辑,表bl1_rc_rates是千万级数据量的表,autsu_subscriber 是个临时表,里面只有三百多条数据,bl1_activity_history 表的数据量略小,是百万级的。 select distinct hist.ent...
完美的执行计划导致的性能问题
今天现场的开发同事反馈有一个job处理数据的速度很慢,从半夜2点开始运行,结果到了早上8点还没有运行完,最后无奈kill掉了进程。等我刚到公司,他们想让我查查倒底是什么原因导致的执行速度很慢。首先和他们简单沟通了下,问最近有什么新的变更吗,他们说没有,平时跑这个job的用户量不是很大,今天早晨调用job的时候用户...
ORA-600(504)(row cache objects)错误
客户数据库出现ORA-600(504)错误,其中第5个错误参数为row cache objects。以前碰到过一个sharedpool的相关latch:http://yangtingkun.itpub.net/post/468/526079 错误信息为:Wed ...
ORA-600(KSFD_DECAIOPC)和ORA-600(kfioReapIO00)错误
由于共享磁盘问题导致的两个ORA-600错误。 客户的10.2.0.4RAC for Linux X86-64,在告警日志中出现了大量的错误信息:Tue Apr 24 16:15:04 2012Errors in file /u01/admin/orcl/udum...
ORA-7445(lxsCntChar)错误
使用正则表达式导致的错误。 错误信息为:Fri Dec 16 15:37:51 2011Exception [type: SIGSEGV, Invalid permissions for mapped object][ADDR:0x2AFEA42A4000] [PC:0x9016222, lxsCn...
ORA-600(kauxs_do_jou:3)错误
客户9.2.0.6数据库出现ORA-600(kauxs_do_jou:3)错误。 错误信息为:Wed Mar 28 22:44:48 2012Errors in file /data/oracle/admin/orcl/udump/orcl_ora_19724.trc:ORA-00600: 内部错...
ORA-600(KSSADP1)错误
客户9.2.0.8 RAC for AIX环境出现ORA-600[KSSADP1]错误。 [@more@]错误信息为:Thu Apr 19 21:16:45 2012Errors in file /oracle/app/admin/orcl/udump/orcl1_ora_442896.trc:ORA-00600: internal error code, arguments: [KSSADP1], [], [], [], [], [], [], []Thu Apr 19 21:16:45 2012Errors in file /oracle/app/admin/orcl/udump/orcl1_ora_442896.trc:ORA-00600: internal error code, arguments: [KSSADP1], [], [], [], [], [], [], []Thu Apr 19 21:16:45 2012Trace dumping is performing id=[cdmp_
ORA-600(15419)和ORA-6544(2603)错误
客户9208 RAC环境出现ORA-600(15419)和ORA-6544(2603)错误。 [@more@]错误信息为:Sun Feb 5 15:58:52 2012Errors in file /oracle/app/admin/orcl/udump/orcl2_ora_250852.trc:ORA-00600: internal error code, arguments: [15419], [severe error during PL/SQL execution], [], [], [], [], [], []ORA-06544: PL/SQL: internal error, arguments: [2603], [], [], [], [], [], [], []ORA-06553: PLS-707: unsupported construct or internal error [2603]Sun Feb 5 15:58:53 2012Trace dumping is performing id=[c
ORA-7445(pevm_icd_call_common)错误
客户11.2 RAC环境出现ORA-7445[pevm_icd_call_common]错误。 [@more@]详细错误信息为:Mon Aug 20 17:31:49 2012Exception [type: SIGSEGV, Address not mapped to object] [ADDR:0xD8] [PC:0x93F1E34, pevm_icd_call_common()+754] [flags: 0x0, count: 1]Redo thread 1 internally disabled at seq 9 (SMON)Errors in file /oracle/diag/rdbms/orcl/orcl2/trace/orcl2_m003_21741.trc (incident=12433):ORA-07445: exception encountered: core dump [pevm_icd_call_common()+754] [SIGSEGV] [ADDR:0xD8] [P
ORA-7445(qsmmixComputeClusteringFactor)错误
Oracle 11.2.0.2上SQL TUNING的bug。 [@more@]数据库版本为11.2.0.2 RAC for Solaris,错误信息为:Thu Jul 05 22:00:01 2012Begin automatic SQL Tuning Advisor run for special tuning task "SYS_AUTO_SQL_TUNING_TASK"Thu Jul 05 22:28:35 2012Exception [type: SIGSEGV, Address not mapped to object] [ADDR:0x4] [PC:0x102B3CC08, qsmmixComputeClusteringFactor()+1640] [flags: 0x0, count: 1]Errors in file /opt/oracle/app/oracle/diag/rdbms/orcl/orcl1/trace/orcl1_j002_7688.trc (incident=
ORA-600(2801)错误
10.2.0.4 RAC环境关闭数据库时出现ORA-600[2801]错误。 [@more@]详细错误信息为:Mon Apr 11 22:44:24 2011alter database add supplemental log dataTue Apr 12 00:11:42 2011Thread 1 advanced to log sequence 3108 (LGWR switch) Current log# 1 seq# 3108 mem# 0: +DATA/orcl/onlinelog/group_1.307.727394923 Current log# 1 seq# 3108 mem# 1: +DATA/orcl/onlinelog/group_1.306.727394925Tue Apr 12 00:16:55 2011Thread 1 advanced to log sequence 3109 (LGWR switch) Current log# 2 seq# 3109 mem# 0: +
ORA-600(6033)错误
客户10.2.0.4 RAC for Linux X64环境,告警日志出现ORA-600(6033)错误。 [@more@]详细错误信息为:/opt/app/oracle/admin/orcl/udump/orcl1_ora_25075.trcOracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit ProductionWith the Partitioning, Real Application Clusters, OLAP, Data Miningand Real Application Testing optionsORACLE_HOME = /opt/app/oracle/product/10.2.0/db_1System name: LinuxNode name: hb1Release: 2.6.9-78.ELlargesmpVersion: #1 SMP Wed Jul 9 16:03:59 EDT 200
收集STATSPACK的级别
虽然AWR功能已经完全可以替代STATSPACK的功能,但是目前存在的9i的数据库还有不少,而且却是发现有不少人不了解如何更改STATSPACK的级别。 [@more@]STATSPACK默认是LEVEL 5收集,而LEVEL 5收集的数据是不包括执行计划的,因此对于关注SQL性能的情况,至少需要调整到LEVEL 6,下面是检查和调整STATSPACK收集等级的方法,比较简单,就不多解释了:SQL> exec statspack.snapPL/SQL procedure successfully completed.SQL> select snap_id, dbid, snap_level from stats$snapshot; SNAP_ID DBID SNAP_LEVEL---
TNSNAMES配置中空格导致的bug(二)
之前一直认为这是Oracle的一个bug,直到前一段时间通读网络服务参考手册时,才发现问题的真相。TNSNAMES配置中空格导致的bug:http://yangtingkun.itpub.net/post/468/487506 [@more@] 当时测试发现,只要在SERVICE_NAME下面的一行缺少空格,就会导致错误的产生: TEST08 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.13.229)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = test08) ) ) 替换下划线的版本为: TEST08 = __(DESCRIPTION = ____(ADD
ORA-7445(_kkdlavc)错误
客户10.2.0.1 for Windows出现ORA-7445错误。 [@more@]没有打过补丁的数据库出现问题的几率果然很大:Thu Mar 29 15:11:50 2012Errors in file c:oracleproduct10.2.0adminorcludumporcl_ora_880.trc:ORA-07445: 出现异常错误: 核心转储 [ACCESS_VIOLATION] [_kkdlavc+233] [PC:0x7F6661] [ADDR:0x0] [UNABLE_TO_READ] []这个问题是由于访问了一个不正常的视图所致,解决方法就是重建视图。关于这个bug的描述可以参考文档ORA-07445 [kkdlavc()+284] When Performing Query Against a View。
ORA-600(kkoljt1)错误
又是一个ANSI标准SQL导致的BUG。 [@more@]数据库版本10.2.0.1,错误信息为:Wed Nov 09 19:15:27 2011Errors in file c:oracleproduct10.2.0adminorcludumporcl_ora_784.trc:ORA-00600: 内部错误代码, 参数: [kkoljt1], [], [], [], [], [], [], []根据文档Bug 5864217 - OERI [kkoljt1] from ANSI query with join elimination [ID 5864217.8],在10.2.0.3以前版本中标准SQL如果出现了连接消除会导致ORA-600[kkoljt1]的错误。Oracle在11.1.0.6和10.2.0.4中解决了这个问题。除了升级外,避免标准SQL的写法是最好