当设置了DBMS_AUDIT_MGMT.init_cleanup之后,aud$的相关行为会发生一些变化。如原来设置了by session的审计,在进行初始化后,by session的记录变得像by access一样,或者更准确的说,变得像11g的行为一样。(详见下面的Q5) 在11g之前,by se […]
HP的进程优先级和cursor pin S
进程的优先级往往会不可思议的影响数据库的性能,在很多时候,可能突发性的(持续时间只有几秒钟到几分钟)、很难确认原因的latch,都和进程优先级有关。下面就是这样一个例子,在没有正确设置进程优先级的情况下,客户的系统常常时不时的出现高CPU的情况,持续时间几分钟,且伴随着cursor pin S的等待 […]
当scheduler超过时间窗口时停止job
要在scheduler的window结束的时候,也让job停止,需要对job加’stop_on_window_close’的属性。 测试如下: 1.建立测试表t1:
1 2 3 |
drop table t1; create table t1 as select 'First record at: '||to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as mycol from dual; |
2. 建立需要定期执行的存储过程: [cra […]
impdp时报错Ora-28031
今天一客户说在做impdp导入时,报错Ora-28031。我们看看ora-28031的报错是什么意思:
1 2 3 |
ORA-39083: Object type OBJECT_GRANT failed to create with error: ORA-31625: Schema SYS is needed to import this object, but is unaccessible ORA-28031: maximum of 148 enabled roles exceeded |
从报错信息看,是SYS用户的role超过148个,一开始,我们用
1 |
select count(*) from dba_role_privs where grantee = 'SYS'; |
[…]
runInstaller的debug
收到一个请求,客户说安装11.2.0.2 的RAC数据库的时候,到prerequisite check这一步报错PRVF-5300和PRVF-5434。 我们可以运行下面的命令来追踪:
1 |
./runInstaller -debug -logLevel finest >inst1.out 2>inst2.out |
运行debug后,我们还在OUI中操作,到了pr […]
谈谈死事务的回滚
死事务,一般是事务正在跑的时候,被kill掉了,或者数据库shutdown abort了,那么当数据库再次启动的时候,这些事务就需要做回滚。 可以通过下面的语句查到回滚的事务:
1 2 3 |
select * from v$fast_start_transactions; 或者 select * from x$ktuxe where KTUXECFL='DEAD' AND KTUXESTA!='INACTIVE' |
根据上面的语句,我们可以查到事务的undo的segmen […]
大量会话处于CSS initialization等待
接到一个问题,客户的某个系统突然CPU冲高,一个小时内CPU从5%冲到60%以上,在数据库中发现大量的会话在等待CSS initialization。 该系统是非RAC非ASM的系统,一般来说,不会出现CSS(cluster synchronization service)的等待,只有在访问voti […]
安装cluster时报错 PRVF-5636
之前写过一篇为rac建dns server的文章,今天在安装11.2.0.3的grid的时候报错 PRVF-5636 : The DNS response time for an unreachable node exceeded “15000” ms on followin […]
记一次cursor pin s wait on X的处理
今天遇到个问题,客户说某天的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-678b89893663c87905693 […]
密码保护:Exadata存储节点root用户密码重置
无法提供摘要。这是一篇受保护的文章。
关于scheduler的2个小问题
最近处理了几个关于scheduler和autotask的小问题,这里总结一下。 一、关于设置scheduler的window,有的时候会遇到设置了window,相关的job却没有跑。 查dba_scheduler_window_log也没看到对应的job跑起来。这个时候,很有可能就是遇到schedu […]