在oracle 12.2的优化器,相比12.1已经有一些细微的变化,当我们将数据库从12.1升级到12.2,或者从12.1之前的版本,升级到12.2.需要在优化器的一些参数上引起注意,因为这些参数已经发生了变化。 在12.1中,有个统领全局的,是否启用自适应优化器参数,optimizer_adapt […]
Oracle listener日志的解析利器
我们在处理数据库的问题的时候,有时在数据库端看不到异常的等待,但是应用却报连接异常。 这种情况,有可能是在压力还没有传递到数据库,在网络这层已经发生问题了。如连接风暴,此时的数据库listener的进程已经忙不过来,将连接丢弃。(在主机层面可以看到tcpListeneDrop增加)。 我们如果去看普 […]
mongdb学习笔记
学习数据库的最好方法,是从官方文档开始看起。mongodb的官方文档在这里,但是也有中文翻译的版本,可见这里(中文翻译貌似还没完全翻译完,还有不少段落是英文的。)。 mongodb目前最新的版本是3.4版本。注:3.4版本不在支持x86 32位的系统。 (1)安装: (1.1) 准备3台机器,分别是 […]
如何部署windows版本的oswatcher
windows上也有os watcher:OSWFW。 目前支持的windows版本是: Windows XP (x86 & x64) Windows 7 (x86 & x64) Windows 8 (x86 & x64) Windows 2003 R1 & […]
mongodb添加arbiter节点
创建mongodb的replica set的时候,只是做成了1主2从,没有做成1主1从1仲裁。这我们将一个几点从replica set中删除,再以仲裁节点的身份加入到replica set中: 1.初始状态:
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
shard1ReplSet:PRIMARY> rs.status();rs.status(); { "set" : "shard1ReplSet", "date" : ISODate("2017-02-21T07:48:03.058Z"), "myState" : 1, "term" : NumberLong(1), "heartbeatIntervalMillis" : NumberLong(2000), "optimes" : { "lastCommittedOpTime" : { "ts" : Timestamp(0, 0), "t" : NumberLong(-1) }, "appliedOpTime" : { "ts" : Timestamp(1487663274, 1), "t" : NumberLong(1) }, "durableOpTime" : { "ts" : Timestamp(1487587982, 1), "t" : NumberLong(-1) } }, "members" : [ { "_id" : 0, "name" : "10.13.0.130:22001", "health" : 1, "state" : 1, "stateStr" : "PRIMARY", "uptime" : 76672, "optime" : { "ts" : Timestamp(1487663274, 1), "t" : NumberLong(1) }, "optimeDate" : ISODate("2017-02-21T07:47:54Z"), "electionTime" : Timestamp(1487587993, 1), "electionDate" : ISODate("2017-02-20T10:53:13Z"), "configVersion" : 1, "self" : true }, { "_id" : 1, "name" : "10.13.0.131:22001", "health" : 1, "state" : 2, "stateStr" : "SECONDARY", "uptime" : 75300, "optime" : { "ts" : Timestamp(1487663274, 1), "t" : NumberLong(1) }, "optimeDurable" : { "ts" : Timestamp(1487587982, 1), "t" : NumberLong(-1) }, "optimeDate" : ISODate("2017-02-21T07:47:54Z"), "optimeDurableDate" : ISODate("2017-02-20T10:53:02Z"), "lastHeartbeat" : ISODate("2017-02-21T07:48:02.150Z"), "lastHeartbeatRecv" : ISODate("2017-02-21T07:48:02.215Z"), "pingMs" : NumberLong(0), "syncingTo" : "10.13.0.132:22001", "configVersion" : 1 }, { "_id" : 2, "name" : "10.13.0.132:22001", "health" : 1, "state" : 2, "stateStr" : "SECONDARY", "uptime" : 75300, "optime" : { "ts" : Timestamp(1487663274, 1), "t" : NumberLong(1) }, "optimeDurable" : { "ts" : Timestamp(1487587982, 1), "t" : NumberLong(-1) }, "optimeDate" : ISODate("2017-02-21T07:47:54Z"), "optimeDurableDate" : ISODate("2017-02-20T10:53:02Z"), "lastHeartbeat" : ISODate("2017-02-21T07:48:02.889Z"), "lastHeartbeatRecv" : ISODate("2017-02-21T07:48:01.503Z"), "pingMs" : NumberLong(0), "syncingTo" : "10.13.0.130:22001", "configVersion" : 1 } ], "ok" : 1 } shard1ReplSet:PRIMARY> shard1ReplSet:PRIMARY> shard1ReplSet:PRIMARY> shard1ReplSet:PRIMARY> |
2.删除节点: [cra […]
Oracle并发(CONCURREMT)收集统计信息
对于大表的统计信息收集,我们可以加degree参数,使得扫描大表的时候,进行并行扫描,加快扫描速度。 但是这在收集的时候,还是进行一个表一个表的扫描。并没有并发的扫描各个表。在oracle 11.2.0.2之后,就有了一个参数,可以并发扫描表(或者分区),这就是CONCURRENT参数。你可以通过 […]
关于物理Dataguard切换导致索引坏块的问题
在11.2.0.2之后,有一个非常重要的dataguard的patch。在使用物理dataguard环境(包括ADG),进行switchover之后,存在导致index block上的invalid SCNs的坏块问题。 国内已经好几个行业的大客户,都遇到了这个问题。 在index block中的失 […]
swap不足导致ora-4030
客户一个测试环境,一个主机上面运行了很多数据库,某库的程序会时不时报错ora-4030。 加大了pga,然后还检查了ulimit的 data 和 stack都是ulimit。还是报错。 进而检查/var/adm/messages,发现有报错swap不足的情况。 所以,解决方法是加大物理内存,或者加大 […]
闰秒(Leap Second)问题
2017年的第一天,因为闰秒的关系,加上时差的原因,我国将在北京时间2017年1月1日的7时59分59秒和全球同步进行闰秒调整,届时会出现7:59:60的特殊现象。(国家授时中心闰秒公告) 那么闰秒对数据库有什么影响? (一)具体的说: 可以参考:Information Center: Leap S […]
Huge page使用的一些问题
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 […]