今天遇到个问题,客户说某天的11:45开始,系统遇到了大量的cursor pin s wait on X,经历一个小时后自动消失,需要查找原因。 这报错一般是某个会话需要申请S模式的mutex,而mutex被其他会话以X模式占有了。查holder也很容易,11g版本前看p2raw的前8位,将16进制 […]
在异常捕获时显示全部的堆栈信息
今天收到一个请求,问如何才能看到异常时所有的信息,其实我们可以测试一把:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
CREATE OR REPLACE PROCEDURE proc1 IS BEGIN DBMS_OUTPUT.put_line ('running proc1'); RAISE NO_DATA_FOUND; END; / CREATE OR REPLACE PROCEDURE proc2 IS l_str VARCHAR2 (30) := 'calling proc1'; BEGIN DBMS_OUTPUT.put_line (l_str); proc1; END; / CREATE OR REPLACE PROCEDURE proc3_a IS BEGIN DBMS_OUTPUT.put_line ('calling proc2'); proc2; EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.put_line ('Error stack at top level:'); DBMS_OUTPUT.put_line (DBMS_UTILITY.format_error_backtrace); END; / |
通过DBMS_UTILITY.format_error_backtrace,我们可以看到出错的行号, [crayon-69067dcb1629b77373425 […]
密码保护:Exadata存储节点root用户密码重置
无法提供摘要。这是一篇受保护的文章。
关于scheduler的2个小问题
最近处理了几个关于scheduler和autotask的小问题,这里总结一下。 一、关于设置scheduler的window,有的时候会遇到设置了window,相关的job却没有跑。 查dba_scheduler_window_log也没看到对应的job跑起来。这个时候,很有可能就是遇到schedu […]
增量备份无法使用section size参数
11g的rman备份有使用section size的参数,利用这个参数,你可以针对单个大文件的数据文件(如big file tablespace)采用并发的方式进行备份。可惜很遗憾,这个新特性的参数不能和增量备份一起使用。演示如下: 非增量备份的情况下: [crayon-69067dcb197118 […]
11g的ohasd无法随机启动
在Oracle Linux Server release 6.2下安装11.2.0.1的grid,安装的时候,顺利完成(可能最后执行root.sh的时候有报错,但是没注意到),等安装完重启主机,发现crs起不来。因此,后续的安装RAC也无法正常进行下去。 重启主机,一开始还能看到crs和ohas的进 […]
给10gRAC加第二个public网络
在11g中,如果我们要给RAC加第二个public的网卡,在oracle有官方的文档给出如何增加第二个VIP:How to Configure A Second Listener on a Separate Network in 11.2 Grid Infrastructure [ID 106357 […]
批量重建DB link
在做EBS迁移的时候,我们往往要停掉JOB和重建DBlink。而这2种对象由于在常规模式下,不能用sys删除其他用户下的job或dblink,我们通常需要登录到某用户下,停掉该用户下的job和删掉该用户下的DBlink,在迁移时,对于大型系统,里面有很多用户,很多用户甚至不知道密码,无法登陆,那么上 […]
导回awr报告中的历史执行计划
我们在awr report中,往往能看到多个版本的执行计划,用不同的PLAN_HASH_VALUE表示。那么。有时候,我们发现sql生产了一个新的执行计划,如何让在不改变sql,不加hint的情况下,使用老的执行计划呢? 我们知道spm可以实现这样的功能,spm除了可以设置optimizer_cap […]
细节:utl_file_dir错误设置导致ORA-29280
今天同事来问我一个问题,在一个新部署的9208的环境中,开发人员用UTL_FILE.fopen(file_Location, file_name, ‘W’)总是报错:
|
1 |
ORA-29280: invalid directory path |
UTL_FILE.fopen后面可以跟2种 […]
配合EBS数据库手工升级
关于数据库的升级,我们已经了解到了数据库各个版本的升级路线,见此文(或Note 730365.1 Oracle Database Upgrade Path Reference List)。 下面我们介绍配合EBS升级的2个版本的数据库手工升级的步骤。 (一)8.1.7.3升级至9.2.0.8 [cr […]
执行计划杂记
在oracle 11g中,dbms_xplan包已经增加了不少内容,不再像9i一般只局限于display。在这里小记一把和执行计划相关的内容。 (1) gather_plan_statistics 和dbms_xplan.display_cursor连用,如: [crayon-69067dcb27c […]