2006年04月28日
metlaink上曾经有一篇文章上大致列举了job不能运行的可能的十多种原因,包括sga变量kkjsre为0;uptime超过497天(solarisd 系统上的bug 3427424);JOB_QUEUE_PROCESSES为0;_SYSTEM_TRIG_ENABLED 为false等等,还有些人为的原因
这里仅仅想讨论一下如何简单的broke系统中所有用户的job,或者如何使用sys用户remove其他用户的job.
oracle有一个undocument的函数DBMS_IJOB,可以让sysdba改变其他用户job的状态
阅读全文>
发表于 @ 2006年04月28日 11:57:00|评论(loading...)|编辑
2006年04月18日
对于技术问题的研究,或许就是需要大家不断的探索,不断的测试,能提出问题当然是第一步,然后就是不断的测试,大家会逐步从中得出更为妥当的结论,谢谢eygle :)阅读全文>
发表于 @ 2006年04月18日 16:39:00|评论(loading...)|编辑
在归档数据库中,一般碰到类似下面的错误:
ORA-00354: corrupt redo log block header
ORA-00353: log corruption near block 3740 change 0 time 04/11/2006 13:49:56
ORA-00312: online log 1 thread 1: '/oracle/oradata/TSMISC02/redo01.log'
不管是哪种原因引起的(包括这里的这个隐含参数,也包扩其他导致日志文件损坏的情况),
我们一般都是采取下面的措施。。。
阅读全文>
发表于 @ 2006年04月18日 15:26:00|评论(loading...)|编辑
在归档数据库下,如果设置了 _disable_logging=true,那么数据库就会将所有的online redo logfile标记为corrput,从而在归档数据库下不能够正常的归档了,因此,每次需要当数据库中所有的日志组归档状态都为“NO”,且STATUS列的值出现n-1个“INACTIVE”和一个“CURRENT”时,即,除了当前日志外,其余所有的日志都是不活动且没有归档的时候,对数据库的所有操作(只要产生的日志超过current日志的可用大小的时候,也就是需要发生日志切换的时候)就会hang。阅读全文>
发表于 @ 2006年04月18日 15:23:00|评论(loading...)|编辑
不管是非归档模式还是归档模式,_disable_logging=true都不一定会使数据库的数据加载操作的速度增加(我猜想oracle说到的提高数据加载速度可能是在某些特殊条件下的)。
根据eygle的测试,基本上可以推测出这个参数对于批量加载的真面作用(详细请参考eygle的网站)。
但是,要想使用_disable_logging提高数据加载的速度,那么需要设置这个参数后重启数据库,注意,eygle的数据库是9204,刚好不会触发Bug 3868748,因此,他可以得到一些测试的良好效果(仍然有一点不能解释的就是,为什么一个可以scopy=both的参数非要到重启数据库才能起作用)。阅读全文>
发表于 @ 2006年04月18日 15:20:00|评论(loading...)|编辑
在非归档模式的数据库下,不论_disable_logging是false还是true,数据库都可以继续操作,而不受该参数的影响。阅读全文>
发表于 @ 2006年04月18日 15:03:00|评论(loading...)|编辑
不管是归档数据库,还是非归档数据库,只要设置了_disable_logging=true参数,那么在数据库的启动过程中都会因为ORA-07445 core dump [kcrfwcint()+1625]而异常终止的。
从metalink可以找到这个问题主要是由于bug 3868748引起的:
When attempting to run Oracle with redo logs disabled (ie: with "_disable_logging"=true) the instance crasheswith SIGFPE (integer divided by zero exception) in kcrfwcint.
** NOTE:
Oracle does *NOT* support the use of _disable_logging=true but this parameter is sometimes used for bulk load operations. No customer system should be running with t阅读全文>
发表于 @ 2006年04月18日 14:51:00|评论(loading...)|编辑
2006年04月14日
一个rebuild分区索引的小bug
ORA-14185: incorrect physical attribute specified for this index partition
阅读全文>
发表于 @ 2006年04月14日 13:29:00|评论(loading...)|编辑
2006年04月13日
metalin上随便看点东西,记得以前在哪里(ITPUB?)讲过其中文版。阅读全文>
发表于 @ 2006年04月13日 13:58:00|评论(loading...)|编辑
2006年04月06日
将undo改变成手工管理的,
然后设置隐含参数 _ALLOW_RESETLOGS_CORRUPTION = TRUE 和 _corrupted_rollback_segments ,因为redo损坏的时候,undo数据也大都不一致了。
2,open resetlogs之前,先使用recover database using backup controlfile until cancel;命令
如果此时又遇到600错误,就使用ADJUST_SCN事件来调整当前的SCN,如果SCN相差不多,可以通过多次重起数据库解决。
(这个level 1批的是每次打开不行的话将scn推进1百万,可以根据trace中的信息, 将level调高一些.)
alter session set events '10015 trace name adjust_scn level 1';
如果SCN相差比较多,可以设置level 2,。。。level 10等 (level 1是每次打开时将将scn推进1百万)阅读全文>
发表于 @ 2006年04月06日 14:56:00|评论(loading...)|编辑
很多时候,在系统出现性能问题的时候,大都和不良SQL有关,当然调整系统参数有一些情况下是必须的(是指系统参数明显存在问题的时候),这里将陆续总结一点近期的调整案例来说明一些典型的问题。阅读全文>
发表于 @ 2006年04月06日 09:00:00|评论(loading...)|编辑
2006年04月05日
我们这里所有的都使用HP DP 或者EMC 的legato来备份数据库和文件系统的,因此,对于他们的维护也就是必须的工作内容了,尽管我很不喜欢做类似的工作,但是工作毕竟不都是如人所愿的啊,呵呵。
这里就HP DP中最常出现的POOL满了又不能自动回收的情况给出一点方法。。。
阅读全文>
发表于 @ 2006年04月05日 08:43:00|评论(loading...)|编辑
2006年03月16日
针对回滚段中的活动事务,首先备份必要的数据,然后在根据从最小的影响到最坏的可能性。。。
下周一处理后,我会将处理过程作为这个问题的一个收尾。阅读全文>
发表于 @ 2006年03月16日 08:55:00|评论(loading...)|编辑
2006年03月01日
用tom的方法,我们可以容易的发现,不使用bind vars的影响。。。。。。阅读全文>
发表于 @ 2006年03月01日 12:04:00|评论(loading...)|编辑
有时候应用应用莫名其妙的拥堵,一查,总是由lock,再仔细看看,原来是bitmap的问题,呵呵 。。。阅读全文>
发表于 @ 2006年03月01日 11:59:00|评论(loading...)|编辑
2006年02月24日
如果设置了 _disable_logging=true,那么数据库会因为下面的错误而crash:
Thu Dec 1 09:31:32 2005
Errors in file /oracle/admin/TSMISC02/bdump/tsmisc02_lgwr_3103.trc:
ORA-07445: exception encountered: core dump [kcrfwcint()+1625] [SIGFPE] [Integer divide by zero] [0x828739D] [] []
Thu Dec 1 09:31:34 2005
Errors in file /oracle/admin/TSMISC02/bdump/tsmisc02_pmon_3099.trc:
ORA-00470: LGWR process terminated with error
Thu Dec 1 09:31:34 2005
PMON: terminating instance due to error 470
Instance terminated by PMO阅读全文>
发表于 @ 2006年02月24日 07:57:00|评论(loading...)|编辑
在归档模式的数据库中,如果设置"_disable_logging"=true,
那么,数据库就不能做任何和归档有关的操作,如果数据需要归档,那么数据库就会因为不能归档而挂起。阅读全文>
发表于 @ 2006年02月24日 07:56:00|评论(loading...)|编辑
ORACLE 的隐含参数_disable_logging主要用于禁用日志生成(一般建议在oracle support的指导下用于非生产环境下),不难想象,如果禁止日志生成,那么必然导致事务的不可恢复性。
这里对于这个参数的一些破坏作用做了一些测试。
阅读全文>
发表于 @ 2006年02月24日 07:54:00|评论(loading...)|编辑
今天在使用TOM的经典工具show_space时发现了如下错误:
SQL> exec show_space('bbed','auto');
BEGIN show_space('bbed','auto'); END;
*
ERROR at line 1:
ORA-18008: cannot find OUTLN schema
ORA-06512: at "SYS.STANDARD", line 264
ORA-06512: at line 1
Elapsed: 00:00:00.02
SQL>
。。。。。。阅读全文>
发表于 @ 2006年02月24日 07:46:00|评论(loading...)|编辑