mongodb分片物理搬迁方案
mongodb分片架构的物理搬迁方案mongodb分片整体迁移到另外一个集群,常规做法使用加减节点方式,如果有长时间维护窗口,采用物理拷贝的方式也可以,操作相对容易。但是mongodb的有些配置信息放在数据库中,如果需要修改的话,需要先使用standaalone方式启动,然后修改相关配置信息后再启动。下面是相关的步骤:1. 数据节点,修改mg.cnf,ip+port,1.1 关闭replicase
PostgreSQL执行计划变化
PostgreSQL执行计划变化,当PostgreSQL使用绑定变量时,由于优化器无法预估表达式返回的行数,就默认选择统计信息收集行数的5%,评估的行数会远远低于实际执行时返回的行数。在表关联时,这种评估会对关联方式产生影响,驱动表返回行数少,优化器更倾向于使用nested loop关联方式。
Direct Path Read IO 慢
1.IO使用率100%。2. 查看AWR报告(最小时间间隔)查看top 5等待事件,有direct path read。Direct path read是消耗IO资源的操作。3. 找出消耗IO的SQL3.1 查看这些SQL的具体情况。查看SQL的执行计划SELECT plan_table_output FROM T...
一条查询语句导致Oracle latch free session allocation wait 等待
问题描述:出现大量的latch free等待,系统严重阻塞。该latch为p2=4号session allocation等待。应用报错ORA-00018,无 法建立新的连接。问题分析:1) 查看OS相关资源指标,未发现异常。2) 比较14:51 以及14:52 Listener .log ,主要是以下机器连接进来, 也可以看出14:52连接数明显明大,可否找应...
Oracle 并发回滚
问题描述:数据库突然出现大量的回滚进程。问题分析:从v$session中看到操作的对象是TAB1及表上的索引。但是为什么会使用并发来回滚呢?查询视图v$fast_start_transactionsselect usn,slt,seq,state,undoblockstotal,undoblocksdone,xid,rcvservers from v$fast_start_transactions; &nb...
Oracle OJVM安全补丁
什么是OJVM PSU?CPU: Critical Patch UpdateOracle对于其产品每个季度发行一次的安全补丁包,通常是为了修复产品中的安全隐患。PSU: Patch Set UpdatesOracle对于其产品每个季度发行一次的补丁包,包含了bug的修复。Oracle选取被用户下载数量多的,并且被验证过具有较低风险的补丁放入到每个季度的PSU中。在每个P...
Redis db连接超时
问题描述:现象是redis db访问出现超时。问题分析:网络流量出现瓶颈,访问变慢。[machine1 ~]$ ping 192.168.10.66PING 192.168.10.66 (192.168.10.66) 56(84) bytes of data.64 bytes from 192.168.10.66: icmp_seq=1 ttl=64 time=17.7 ms64 bytes from 192.168.10.66: icmp_seq=2 ttl=64 time=17.2 ms...
Redis CPU高问题
问题描述:redis所在主机的OS cpu报警使用率超过90%。问题分析:根据zabbix视图看到从前一天19:00,redis的事务数开始增加,cpu使用率同步增高,并一直持续。查询慢日志slowlog get 10,没有异常的慢日志。查看当前的redis状态,内存使用率很低,只有20%,但是单个实例每秒的事务数达到了8万。查看mo...
Oracle SQL语句解析过长问题
问题描述:有一个SQL语句解析非常缓慢,但是没有解析出来。只是偶尔出现,当第一次解析不出来时,后续的语句都会在等待。期间大量的library cache等待。类似语句如下:其中视图中包含了非常复杂的join。导致解析时一直不能成功。SELECT * FROM PROD_VW WHERE PRD_ID = :1解决方法:将参数_optimizer_max...
ORA-04031内存不能分配
问题描述:数据库无法连接,ORA-04031: unable to allocate 32 bytes of shared memory问题分析:库shared pool报ORA-04031的错误是由于SQL 类似语句导致。这个语句关联了500个表,文本有192k。在数据库中一直在进行解析,并且没有执行解析成功。从ash视图中看到有5个会话并发执行类似语句,一直在进行解析。...
ORA-01000 超出打开游标的最大数
ORA-01000 超出打开游标的最大数.txt问题描述:Caused by: java.sql.SQLException: ORA-01000: 超出打开游标的最大数ORA-06512: 在 "PRD_OWNER1.PRD_PACKAGE1", line 810ORA-01000: 超出打开游标的最大数ORA-06512: 在 line 1machine1 > oerr ora 0402504025, 00000, "maximum allowed library object lock a...
Oracle常见应急性能问题分析思路
Oracle常见应急性能问题分析思路---------------------------------应急问题分析思路CPU高IO高内存高等待事件Latch FreeEnqueueCursor Pin S (X)Log File SyncDirect path read监听问题应急问题分析思路--------------------------------确认问题:常见问题CPU高,应用堵塞查看故障的前一天是否有...
Oracle Log File Sync问题分析
问题描述:数据库出现异常等待事件LOG FILE SYNC,BLOCKING SESSION是LGWR,LGWR等待enq:CF-contention,blocking session是ARC6进程,ARC6等待control file sequential read,当时伴有连接数满,影响应用短暂不可用。问题分析:在一般的情况下,control file sequential read发生在:Control file sequentia...
Oracle IO问题分析
问题描述:Oracle有83个会话在等待log file sync等待事件,系统发生堵塞。问题分析:log file sync一般是由于IO性能问题,或者系统业务大,commit提交次数过多导致。经过检查产生LOG量并不大,检查执行session当前没有执行SQL,而是在等待提交。快速查看当前会话是否有异常,其中有4个会话在执行dire...
Oracle热块问题分析
问题描述:Oracle有两百多个会话在等待latch free等待事件,系统发生堵塞。问题分析:当时等待会话中的latch地址是'00000010ECD379E8',在该地址上等待最多的对象是主键PK_PRD_TAB1。SQL> select /*+ RULE */ 2 x.tch, 3 &nbs...
Oracle主机down机问题分析
问题描述:Oracle主机突然down机,数据库后台报错如下,显示在OS的配置上存在一些不足,导致无法创建新进程。ORA-27300: OS system dependent operation:fork failed with status: 11ORA-27301: OS failure message: Resource temporarily unavailableORA-27302: failure occurred at: skgpspawn3问题描述...
Oracle临时表空间异常增长
问题描述:Oracle的临时表空间使用一直在缓慢增长,理论上临时表空间是重复使用的。但是从临时表空间使用率缓慢增长,临时表空间没有释放过。日期 临时表空间 当前大小(G)--------------------------------------2014/1/3 TEMP 852014/1/2 TEMP 742014/1/1&...
Oracle 监听优化
问题描述:在负载较高的业务数据库中,经常会遇到中间件的jdbc连不上数据库的情况。问题分析:一般遇到这种问题有两个因素:1. 有连接风暴,短时间内app连接暴增,导致监听进程处理不过来,app中间件报连接错误。2. 数据库有堵塞,系统响应时间变慢,后续的请求不断地连进来,导致数据库连接暴增。监听...
Oracle DB buffer cache优化
Oracle DB buffer cache优化:问题描述:有个oracle 9i的数据库,提高的是oltp服务,每秒事务数大概1000左右。主机CPU频繁地超过70%。数据库的大小大概是30T。经常性地出现latch,enqueue等待。根据AWR报告,top 5事件中,第一位总是数据块单块读,高峰期保持在130左右。占用的cpu也较高。由于业务量较大,数据库...
修改统计信息值恢复Oracle执行计划
经常会遇到由于日期字段统计信息的边界值不准确,导致Oracle SQL执行计划发生改变,通常是最大值没有及时更新或者最大值过大。下面是遇到的一个案例,SQL的执行计划突然改变,原先使用的是index range scan,突然变成了index full scan。select count(*) from prd_t1 where input_date>trunc(sysdate-1)and inpu...