12c的数据库在安装的时候,有一个检查项目,叫做Maximum locked memory check。 这是要求设置/etc/security/limits.conf中的memlock的值,官方文档在11g要求是设置比物理内存稍小的一个值,在12c中要求至少为90%的物理内存。 而memlock的 […]
一次dataguard坏块的修复
客户有个11g的active dataguard库,mrp进程停了,看alertlog,可以看到有关ora-7445[kdxlin]的报错:
| 1 2 3 4 5 6 7 8 9 10 11 12 | cat alert*.log .... Exception [type:SIGSEOV,Address not mapped to object] [ADDR:0xC] |PC:0x96504C7,kdxlin()+4153][flags: 0x0,count:1] Errors in le /aabb/app/oracle/rdbms/diag/rdbms/rmydbsid/mydbsid/trace/partsm_pr18_21343.trc (incident=70353): ORA-07445: exception encountered: core dump (kdxlin()+4153) [SIGSEGV] [ADDR:0xC] |PC:0x96504C7][Address not mapped to object][] Incident details in: /aabb/app/oracle/rdbms/diag/rdbms/rmydbsid/mydbsid/incident/incdir_70353/mydbsid_pr18_21343_i70353.trc Use ADRCI or Support Workbench to package the incident. Exception [type: SIGSEGV, Address not mapped to object] [ADDR:0xC][PC:0x96504C7,kdxlin()+4153][flags:0XO,count:1] Incidenl 70353 created, dump file/aabb/app/oracle/rdbms/diag/rdbms/rmydbsid/mydbsid/incident/incdir_70353/mydbsid_pr18_21343_i70353.trc ORA-07445: exception encountered: core dump (kdxlin()+4153) [SIGSEGV] [ADDR:0xC] |PC:0x96504C7][Address not mapped to object][] ... | 
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | cat /aabb/app/oracle/rdbms/diag/rdbms/rmydbsid/mydbsid/incident/incdir_70353/mydbsid_pr18_21343_i70353.trc ... Error 607 in redo applicalion callback Dump of change vector Typ:2 CLS:1 APN:5 DBA0x2598d645 OBJ:3S3792 SCN:0x0960.99d2655e SEQ:1 OP:10.2 ENC:0 RBL:0 index redo(kdxlin):insert leaf row KTB Redo op:0x01 ver:0x01 compat bit:4(post-11) padding:1 op:F xid:0x0001.01a.010d8f34 uba:0x00dc8e3.6bf5.20 REDO: SINGLE/NONKEY/-- itl:3, sno:255, row size 23 insert key:(14):05 c4 02 4e 31 4f 07 78 74 0b 09 11 27 29 nonkey (length: 5): fb: --H-FL-- lb:0x0 cc:1 (2).01 80 Block after image is corrupt: buffer tsn: 5 rdba:0x2598d645(1024/630773317) scn:0x960.99d10d33 seq:0x01 flg:0x04 tail:0x0d330601 frmt:0x02 chkval:0xa1ae type:0x06=trans data Hex dump of currupt header 3=CHKVAL ... | 
从trace中,我们可以看 […]
LGWR不工作在实时优先级
在solaris环境,在11.2.0.4之后(或者Patch 16387058 on top of 11.2.0.3.5),Oracle自动把LGWR进程放到_high_priority_processes中,(不管是单实例还是RAC)。在这之前,需要手工运行priocntl -s FX -m 60 […]
SQL Plan Directives与过量的动态采样
在12c中,优化器进行了较大的改变,推出了Adaptive query optimization,从整体上说,Adaptive query optimization可以看作如下两部分: 一部分是自适应执行计划,一部分是自适应统计信息。 这里注意一下, • Adaptive Plans – 是在第一次 […]
12c的GI下cvu目录满
12c的GI中,/oracle_grid/app/oracle/crsdata/@global/cvu/baseline/cvures这个目录下的文件占用空间巨大。某生产环境中,目录已经到了32G以上。 这可能和如下3个bug有关:
| 1 2 3 | Unpublished Bug 18143707 CVU NEED TO DO CVU BASELINE REPORT CLEAN TO AVOID DISK FULL  will limit .txt files to 5 Unpublished Bug 19703199 CVU NEED TO DO CVU BASELINE REPORT CLEAN TO AVOID DISK FULL  will limit .xml files to 5 Unpublished Bug 20177779 BIGBH U01 SPACE CONSUMPTION BY CVUCHECKREPORT.XML will purge the files on remote nodes | 
[…]
论OMF管理文件的重要性
很多人不喜欢omf,包括我。但是我给大家讲个故事,在这个故事中,我们可以看到使用omf的重要性。因为在使用omf的情况下,也就不会发生下面的场景。 在一个夜黑风高的夜晚,客户的生产库某个数据文件在晚上突然之间消失了,数据库crash。 数据文件是在asm的+DATA diskgroup上,在数据库和 […]
Sysdate from dual does not match first_time from v$log
故事最开始的起因,是监控发现v$log中的first_time时间,显示的是昨天的时间。而登录数据库检查sysdate是正常的时间。 我们可以模拟出来下面的故障: session 1,用 TZ=EST5EDT起库,此时,可以看到v$log中的FIRST_TIME是12小时之前的。 [crayon-6 […]
减少rman备份对OLTP系统的影响
rman的备份,我们平时总是希望越快越好。 但是有时候,rman的备份会撑爆HBA卡的流量,严重影响生产系统。在一个大的cluster中,有17个db,当13个db发起rman备份的时候,主机上的HBA卡流量几乎被撑爆了,几乎所有的IO操作都不可进行了。 所以,我们要想办法让rman“慢”一些,减少 […]
Listener中rate_limit参数的一些说明
(一)参数说明: (1). rate_limit参数从9.2.0.8引入,可以用来控制连接风暴。rate_limit后面跟的参数是允许每秒连接的个数,配置完成后,需要stop/start listener生效。如下:
| 1 2 3 4 5 6 7 8 9 | LISTENER =    (DESCRIPTION_LIST =      (DESCRIPTION =        (ADDRESS = (PROTOCOL = TCP)(HOST = host.sample.com)(PORT = 1521)(RATE_LIMIT=5))      )      (DESCRIPTION =        (ADDRESS = (PROTOCOL = TCP)(HOST = host.sample.com)(PORT = 1522))      )     )  | 
上面的配置表示1 […]
Bigfile tablepsace+pre-allocation cause issue
很多新特性,在设计之初是好的,但是在实际使用的过程中,往往会遇到各种问题。如在11g中的pre-allocation的新特性,有SMCO进程swap出Wnnn进程,来对空间进行预分配。 在这里有2个隐含参数:
| 1 2 | 1. _enable_space_preallocation 在11g中默认值是3,它可以使表空间在接近100%进行扩展,。 2. _kttext_warning 默认值为5。表示扩展的大小为当时表空间大小的5% | 
但是,当预分配的特性遇到 […]
审计ORACLE程序文件是否被修改
最近在迎接安全审计,其中有一条需求是: 文件完整性检测对应数据库为安装的程序文件、配置文件(排除数据文件、日志文件) 也就是需要定期对数据库软件的重要文件做内容校验,避免重要文件被篡改。 整体思路是: 1. 由于oracle的文件太多,我们假设重要的可执行文件目录为$ORACLE_HOME/bin和 […]
Direct IO+asm引起css initialization
某数据库升级到12c后(应用代码也升级了),出现了大量css initialization的等待:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 | SQL> select event,sql_id,count(*) from  v$session  where event='CSS initialization' group by event,sql_id; EVENT                  SQL_ID          COUNT(*) ---------------------- ------------- ---------- CSS initialization     1qkdw0dtyjydf       5 CSS initialization     2g9g4as2nasad       1 CSS initialization     5r5mwAS0m4mxq       1 CSS initialization     712df0y5u236f     529 CSS initialization     aasd9k80jrvax     342 CSS initialization     a4uvs112123q6       1 CSS initialization     c5ax6wp98nam4       1 CSS initialization     fsadasd6asd12       4 | 
怀疑是否是12c的新特性导致。 CSS initialization 说明: 在RAC(或使用ASM的单实例)数据库环境下,当前台进程 […]