Archives for Database

我们需要监控什么?

今天一个很偶然的时间里,我想看看我们的系统有没有异常,其中某个检查点是通过下面这个SQL进行的: SQL> SELECT local_tran_id, 2 state, 3 fail_time 4 FROM dba_2pc_pending 5 / LOCAL_TRAN_ID STATE FAIL_TIME ———————- —————- ——— 31.16.528671 collecting 25-FEB-10 通常情况下,我关注更多地是业务数据异常,很少动手检查此类底层的问题,也不会发现任何异常,但是这次,它来了。当然,在我发现下面这个错误之前,它丝毫不是个问题: SQL> commit force ’31.16.528671′; commit force ’31.16.528671′ * ERROR at line 1: ORA-02058: no prepared transaction found with ID 31.16.528671 SQL> exec dbms_transaction.purge_lost_db_entry(”); BEGIN dbms_transaction.purge_lost_db_entry(”); END; * ERROR at line 1: ORA-30019: [...]

关于10.2.0.5 agent无法连接9i (9.2.0.6)的问题

升级GC到10.2.0.5后,在给9i(9.2.0.6)数据库配置Agent时,主机监控可以顺利配置,但数据库连接总是无法配置成功。查看agent日志显示: ERROR vpxoci: ORA-03113: end-of-file on communication channel WARN vpxoci: Login 0x27fa600 failed, error=ORA-03113: end-of-file on communication channel 事实上,不论是test connection,还是在服务器上用sqlplus做测试,都是没有问题的。那么,估计会是个agent的程序bug。翻遍Metalink[ID 828464.1]才最终发现这样一个补丁信息:升级RDBMS到9.2.0.8,或者应用agent补丁到10.2.0.5.2。 就像选数据库,总是倾向于最新主版本号的上一个版本,因为相对稳定,GC也是如此。Bug不可免,立此存照,以备后用。

关于RepositoryPatchUpgrade失败

在打Patch的过程中,最不痛快的就是在过程中出现一些莫名其妙的错误了。今天将OMS版本从10.2.0.2.1升级到10.2.0.5,在进行到Repository Upgrade一步时报错了。 按提示检查cfgtoollogs/configToolFailedCommands文件,有以下内容: rem 版权所有 (c) 1999, 2009, Oracle。保留所有权利。 oracle.sysman.emcp.oms.RepositoryPatchUpgrade -verbose oracle.sysman.emcp.oms.OmsPatchUpgrade -configureOms oracle.sysman.emcp.aggregates.ConfigPlugIn oracle.sysman.emcp.oms.StartOMS -configureOms oracle.sysman.emcp.oms.EMCLISetup oracle.sysman.ccr.configCCR.ConfigCCRPlugIn oracle.sysman.ccr.configCCR.ConfigRepeaterPlugIn 这部分更新应当是执行一系列SQL出现异常。检查sysman/log目录下的emrepmgr.log.10.2.0.5.0日志,里面最后部分内容是: SQL> 从 Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 – Production With the Partitioning, OLAP, Data Mining and Real Application Testing options 断开 [13-05-2010 08:50:23] Checking repository version.. [13-05-2010 08:50:23] Running setSchemaStatus: BEGIN EMD_MAINTENANCE.SET_VERSION(‘_UPGRADE_’,’0′,’0′,’SYSTEM’,EMD_MAINTENANCE.G_STATUS_UPGRADING);END; [13-05-2010 [...]

APEX Listener 增设管理界面

最新版的APEX Listener修复了很多bug,并且提供了一个非常管用的新特性。 使用Listener最大的好处就是它支持各种主流应用服务器,比如WebLogic或Apache Tomcat,可以启用WEB服务器的压缩功能(HTTP Compress)。早先的版本对中文的支持很差,可以正常展示,但是一旦保存就会乱码,这导致我曾在一段时间内,开发和管理使用数据库内置XDB服务,普通用户则通过Listener访问,并且不提供中文字符的保存。这个版本完美解决了乱码问题。 此外,该版本最醒目的新特性是提供了一个管理界面: 以Tomcat为例,配置好后会在temp/apex 目录下生成 apex-config.xml 配置文件。该配置界面只在第一次使用时有效,如果之后需要修改参数,则需要先配置好WEB服务器的用户权限(admin role)。编辑tomcat-users.xml 文件: <tomcat-users> <role rolename=”Admin” /> <user username=”admin” password=”admin” roles=”Admin” /> </tomcat-users> Listener 参数修改后会立即生效。 基本上,APEX Listener 测试版已经相对完善了,希望下一个版本可以改进会话管理功能,省得时间久了一堆死进程非得重启才能清理干净。 P.S: 如果已经存在apex-config.xml,又需要登录管理界面,则请访问 http://host/apex/listenerAdmin

案例:主物料界面性能问题

案例: 物料查询主界面(Master Item Screen)更新速度极慢,有时候需要数分钟才能保存。 诊断: 做Form Trace,诊断日志中可以发现下面一段SQL执行效率很低: Trace file: /……/udump/test_ora_16779_XZB.trc Sort options: fchela ******************************************************************************** count = number of times OCI procedure was executed cpu = cpu time in seconds executing elapsed = elapsed time in seconds executing disk = number of physical reads of buffers from disk query = number of buffers gotten for consistent [...]