The Linux kernel, the core of the operating system, is responsible for controlling disk access by using kernel I/O scheduling. Red Hat Enterprise Linux 3 with a 2.4 kernel base uses a single, robust, general purpose I/O elevator. The 2.4 I/O scheduler has a reasonable number of tuning options by controlling the amount of time a request remains in an I/O queue before being serviced using the elvtune command. While Red Hat Enterprise Linux 3 offers most workloads excellent performance, it does not always provide the best I/O characteristics for the wide range of applications in use by Linux users these days. The I/O schedulers provided in Red Hat Enterprise Linux 4, embedded in the 2.6 kernel, have advanced the I/O capabilities of Linux significantly. With Red Hat Enterprise Linux 4, applications can now optimize the kernel I/O at boot time, by selecting one of four different I/O schedulers to accommodate different I/O usage patterns: (more…)
oracle RAC出问题时我们往往需要查看其log和trace文件,那么这些log及trace存在哪里呢?下图就是一个log目录结构示意图,较直观的显示了log存放的地方:
时间过得真快,不知不觉已经三十岁了:)
古人云:三十而立,通常是指三十岁时应该成家,安居,立业,有自己的人生目标与发展方向。
对比一下自己,“房子妻子孩子车子票子”,实现了前三,但还是典型的房奴。至于人生目标一直是很明确的,不高,只要求一家人平安顺利,不要求有多少钱,但起码是衣食无忧。而发展方向却还有点迷糊,在中国,IT(挨踢)真TM不是人混的:)
三十岁是个界,如果说三十岁之前你可以游戏人生的话,那么三十岁以后你得经营人生; (more…)
客户环境:Linux+ oracle 10.2.0.2+RAC
现象:客户端用sqlplus连接统一服务名时报ORA-12545错误。
-------------------------------------------
我们先看ORA-12545错误是什么:
[ oracle @orac1 udump]$ oerr ora 12545
12545, 00000, “Connect failed because target host or object does not exist”
// *Cause: The address specified is not valid, or the program being
// connected to does not exist.
// *Action: Ensure the ADDRESS parameters have been entered correctly; the
// most likely incorrect parameter is the node name. Ensure that the
// executable for the server exists (perhaps “ oracle ” is missing.)
// If the protocol is TCP/IP, edit the TNSNAMES.ORA file to change the
// host name to a numeric IP address and try again.
一个牛人司机驾车闯红灯,被交警拦下。
交警:”同志,你闯红灯了。”
司机四处张望,作无辜状:”红灯在哪里?”
交警手指向红灯。
司机:”靠,挂那么高,我能闯得上吗?”
交警语塞,牛人驱车溜走。
(more…)
像之前遇到的分布式事务报错的问题,我们可能很想知道这个transaction对应的sql及user是什么,那怎么办呢?
我们先看看transaction id的组成:
4.10.878948
其中:4 = rbs#(回滚段编号) ,10 = slot#(事务槽编号), 878948 = wrap#(序号)
原文:http://www.oracleblog.cn/working-case/how-to-deal-with-distributed-transaction/
作者:小荷
-------------------------------------------------
分布式事务,简单来说,是指一个事务在本地和远程执行,本地需要等待确认远程的事务结束后,进行下一步本地的操作。如通过dblink update远程数据库的一行记录,如果在执行过程中网络异常,或者其他事件导致本地数据库无法得知远程数据库的执行情况,此时就会发生in doublt的报错。此时需要dba介入,且需要分多种情况进行处理。
分布式事务在commit提交时候,会经历3个阶段:
1.PREPARE PHASE:
1.1 决定哪个数据库为commit point site。(注,参数文件中commit_point_strength值高的那个数据库为commit point site)
1.2 全局协调者(Global Coordinator)要求所有的点(除commit point site外)做好commit或者rollback的准备。此时,对分布式事务的表加锁。
1.3 所有分布式事务的节点将它的scn告知全局协调者。
1.4 全局协调者取各个点的最大的scn作为分布式事务的scn。(eygle在这篇文章中也测试过)
(more…)
一客户数据库alert log经常报如下错误:
Wed Dec 17 14:31:16 2008
Errors in file / oracle /admin/pnbrw/bdump/pnbrw1_reco_16950.trc:
ORA-03113: end-of-file on communication channel
Wed Dec 17 14:31:16 2008
Errors in file / oracle /admin/pnbrw/bdump/pnbrw1_reco_16950.trc:
ORA-02019: connection description for remote database not found
Wed Dec 17 14:36:06 2008
Thread 1 advanced to log sequence 236582
Current log# 2 seq# 236582 mem# 0: /PNBRW_D00/system/redo02.log
Wed Dec 17 14:38:46 2008
Errors in file / oracle /admin/pnbrw/bdump/pnbrw1_reco_16950.trc:
ORA-02019: connection description for remote database not found

Recent Comments: