利用10015诊断事件解决oracle crush down 一例
1、数据库crush,同时报ora600错误,第一个参数kteuPropTime-2,metalink上显示出现回滚段corrupt现象2、在init.ora中添加 _smu_debug_mode=1 (用来收集诊断信息 event="10015 trace name context forever, level 10" 10015事件就是 让oracle在启动时避免启动corrupt的回滚段3. 在跟踪文件中确定是那个回滚段corrupt4. 加入参数_corrupted_rollback_segments=(_SYSSMU1$)5. restart 数据库,ok、ref: http://carson.yculblog.com/post.1140421.html[@more@]
回滚段完蛋了的处理
背景: 用户修改一些配置,shutdown immediate,但是系统很久也没有关闭。等不及的用户 shutdown abort 数据库,然后startup。重新启动之后的数据库,在alert.log中不段出现类似的错误信息: SMON: about to recover undo segment 8 SMON: mark undo segment 8 as needs recovery 或者出现: smon: undo segment 46 is avaliable smon: need to recover undo segment 46 这些错误信息,由SMON 进程唤醒,所以一般是5分钟出现一次。 检查 dba_rollback_segs 发现这些回滚段的状
'db file sequential read' & 'db file scattered read' events
这两个等待事件,一般都是成对出现。在以前我对这两个事件的理解始终存在着误解,现在重新整理归纳如下: 这两个事件描述的是 blocks在内存中存储的情况,而不是从disk中读取的情况。也就是说,如果读取的blocks在内容中是连续存放的,那么就触发的是db file sequential read事件;如果在内容中存放的是离散的,那么就是db file scattered read 这两个事件是由unix中两个函数来对应:read() 和readv(); 其中,read()读取的是contiguous blocks 并且存放的也是contiguous area,这对应的就是db file sequential file; readv()读取的是con
俺也谈谈 library cache lock 等待事件
library cache lock等待事件的概述:library cache lock 是在争抢library cache中的资源而造成的资源等待,它有3个参数:p1 对象的地址;p2 锁的地址; p3 namespace等,确定是表、包、索引等。 对这个lock的等待,pmon是1秒,其它进程都是3秒 出现这个等待时,经常表现的症状是:我们无法进行一些查询,甚至不能desc table_name来查看某个內容。由于等待信息不出现在v$lock中,所以,我们根据v$lock不能够确定其中的原因 解决library cache lock的方法:analyze system state dump: 我们可以通过systemstate事件,来查看所有oracle 进
与日志有关系的几个等待事件的解析
log file switch(archiving needed) 日志切换的时候由于日志组循环使用了一圈但日志归档还没有完成,通常是io有严重问题, 可增大日志文件和增加日志组,调整log_archive_max_processes,如果发生(checkpoint incomplete) 错误信息,则说明当日志切换的时候由于日志组循环使用了一圈但将被使用的日志组中的checkpoint还没有完成造成, 通常是io有严重问题,可增大日志文件和增加日志组 log file sync(这个到可能是log_buffer太大的反作用) 当用户commit的时候通知lgwr写日志但lwgr正忙,造成的可能原因是commit太频繁或者lgwr一次写日志时
buffer busy wait 的深度剖析
buffer busy wait 与 free buffer wait 的区别在于:前者指的是多个session对于同一个block的读取竞争;后者指的是,在buffer cache中,LRU列表中已经没有了空闲buffer space来接纳新的block信息。一般而言,发生buffer busy wait是由于: 1. The block is being read into the buffer by another session, so the waiting session must wait for the block read to complete. 等待另外一个session读取动作的完成 2. Another session has the buffer block locked in a mode that is incompatible with the waiting s
latch free 中 cache buffer chain 的整理
在data buffer中,所有的块都在一个hash table 的 link list 中。每一个 hash chain 都由一个single child latch 保护着。一个latch必须要得到该latch 才能够扫描该 hash chain 以保证该hash chain 上的blocks 不被修改 引发 cache buffer chain latch 的竞争的原因大概由如下原因:1. buffer chain 太长了: 太长的意义是指:lots of blocks all hashing to the same list (eg: having hundreds of consistent read versions of the same block and having hundreds of blocks on a list can add up) 增加 DB_BLOCK_LRU_LATCHES 参数2.
oracle的等待事件
http://carson.yculblog.com/archive.109027.html[@more@]
Oracle的在线重定义表功能
在一个高可用系统中,如果需要改变一个表的定义是一件比较棘手的问题,尤其是对于7×24系统。Oracle提供的基本语法基本可以满足一般性修改,但是对于把普通堆表改为分区表,把索引组织表修改为堆表等操作就无法完成了。而且,对于被大量DML语句访问的表,幸运的是,Oracle从9i版本开始提供了在线重定义表功能,通过调用DBMS_REDEFINITION包,可以在修改表结构的同时允许DML操作。 在线重定义表具有以下功能: 修改表的存储参数; 可以将表转移到其他表空间; 增加并行查询选项; 增加或删除分区; 重建表以减少碎片; 将堆表改为索引组织表
db link泄露密码的处理
不过我上次提到的在10g的db link泄露密码的事情,大家可以参考。在Oracle 10g前,我们可以通过查看user_db_links视图,来查看到本用户下建立的db link的username和password.原因比较简单,可以认为是Oracle的一个安全漏洞。我们看看user_db_links的创建过程就明白了:create or replace view user_db_links(db_link, username, password, host, created)asselect l.name, l.userid, l.password, l.host, l.ctimefrom sys.link$ lwhere l.owner# = userenv('SCHEMAID')select * from link$user_db_links视图来源于sys.link$字典表,而在10g
RAC题目
Thomas Zhang的3节点RAC题目 SERVICE12(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = vip1)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST = vip2)(PORT = 1521))(LOAD_BALANCE = yes)(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = dbname)(FAILOVER_MODE =(TYPE = SELECT)(METHOD = BASIC))))SERVICE3(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = vip3)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = dbname)))SERVICEA =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = vip1)(PORT = 1521))
heartbeat下载地址
http://linux-ha.org/download/index.html[@more@]
imp到不同的表空间
Oracle并没有提供什么参数来指定要导入哪个表空间,数据默认将导入到原本导出时数据所在的表空间中,但是我们可以通过以下的方法来实现导入到不同的表空间。 1.在IMP时候使用INDEXFILE参数当给此参数指定了某一文件名,IMP的时候所有的index将不会直接导入到表空间中,而是在指定的文件中生成创建index的脚本。imp scott/tiger file=scott0419.dmp indexfile=scott.sql fromuser=scott touser=tiger然后用文本编辑器打开此文件,直接编辑脚本中的storage参数,修改为想要导入的表空间名称。然后重新执行IMP,使用INDEXS=n参数将除Index之
mysql升级
http://www.linuxgo.org/linux/database/mysql/070228/684.htmlhttp://wangbinblog.bokee.com/2185576.htmlhttp://www.me94me.com/blog/post/47.html (升级授权表的问题)http://xn--yetq15clg1a.com/bnsj/24252.html[@more@]
用了no_merge后返回结果很快!
select /*+ no_merge(v$lock) no_merge(v$session) */ username ,machine ,v$lock.sid ,v$session.serial#,trunc(id1/power(2,16)) rbs ,bitand(id1,to_number('ffff','xxxx'))+0 slot,id2 seq,lmode ,request ,program,'alter system kill session '||''''||v$lock.sid||','||v$session.serial#||''''from v$lock ,v$session where v$lock.sid = v$session.sid and v$lock.type = 'TX';------这个很快返回结果select username ,machine ,v$lock.sid ,v$session.serial#,trunc(id1/power(2,16)) rbs ,bitand(id1,to_number('ffff','xxxx')
liunx下查看内核是32位还是64位
getconf LONG_BIT 返回32就是32位的返回64就是64位的http://www.osplay.org/modules/article/view.article.php?17[@more@]
转载经典文章 buffer busy wait 等待事件说明
转载经典文章 buffer busy wait 等待事件说明 buffer busy wait 等待事件说明当会话想要访问缓冲存储器中的数据块,而该数据块正在被其它会话使用时产生buffer busywaits事件。其它会话可能正在从数据文件向缓冲区存储器度曲同样的数据块,或正在缓冲存储器中对其进行修改。 为了确保读取器会话拥有与获得所有更改或无更改的数据块一致的映像,正在修改该数据块的会话在其标题中标记一个标志,让其他会话知道有一个更改正在进行而等候更改的的完成。 视图v$waitstat不是OWI的组件,但其为没一类缓冲区提供了有用的等待统计。遭遇buf
bb今天2个月了
BB今天2个月了,很可爱,虽然不会说话,但总是"啊 啊"的叫,想来是想说话,呵呵. 希望bb早点说话,就等喊我"爸爸"的这个时刻了![@more@]
英语面试实战指南
英语面试实战指南 英语面试实战指南 I:Interviewer(面试者)A:Applicant(求职者) 介绍教育背景:简明扼要,实话实说 尽管你在简历中对自己的教育背景作了介绍,但在面试时,面试官还有可能就此方面提问。还是事先做点准备吧。 ①I?what is your major﹖ A?My major is Business Administration. I am especially interested in″Marketing″. (不仅回答了问题,还顺带一句介绍了自己较为感兴趣的方面,简明扼要。) ②I?Which university are you attending﹖ A?I am attending×××University.
用串口线连接,终端来安装aix
hehe cde的话··smitty install_bundle装个cde的包就ok了···25针对25针:2、3交叉,4、5交叉,6、8接对端20,7直连。9针对9针:2、3交叉,7、8交叉,1、6接对端4,5直连。 D9转D25的线序是:3 --- 22 --- 37 --- 48 --- 56 --- 65 --- 71 --- 84 --- 209 --- 22 you need 9-pin rs-232 cable and null modem connectorstep.1.connect cable to RS/60002.use 超級終端機 to connect ( default speed : p4 = 9600 , p5 = 19200 , it can be setup )3.use pos to power on (not press power button)4.put cd in cd-rom5.when boot to E1F