对于“IPC Send timeout”:
1) 通过Oracle自带的CHM (Cluster Health Monitor)的输出来检查当时的资源、网络使用情况。CHM只在某些平台和版本上存在,关于CHM,请参考文章11gR2
新特性:Oracle Cluster Health Monitor(CHM)简介。
2) 如果没有CHM,请安装OSWBB来监控网络和主机资源。
3) 检查网络上是否有UDP或者IP包丢失的情况、网络上是否有错误。
4) 检查所有节点的网络设置是否正确。比如,所有节点MTU的设置必须是一致的,如果Jumbo Frame被使用的话,需要保证交换机可以支持MTU为9000
5) 检查服务器是否有CPU使用率高或者内存不足的情况。
6) 检查实例被驱逐之前是否有数据库hang或者严重的性能问题。
可以考虑使用在线建索引的工具,或者中间表方式进行更改,下面就两种方法分别做一下说明。
一 pt-online-schema-change在线建索引
下载安装pt-toolkit工具包,里面包含此工具。
安装完成后使用命令在线加索引
pt-online-schema-change -h127001 -P 3307 -uroot -p123 --charset=utf8 --alter='ADD INDEX `idxname` (`a`, `b`, `c`) USING BTREE' --execute D=dbname,t=tablename
上面命令主要做了以下工作:
基于原表表结构创建一个临时表
原表创建3个触发器,分别对应insert、update、delete *** 作
将原表数据拷贝到临时表,如期间有数据更新,通过第二步创建的触发器对临时表也进行更新,保证数据一致。
rename原表tablename为tablename_old;然后将临时表rename成tablename
完成在线加索引 *** 作。
注意事项:如表中有外键关联,则命令必须加上--alter-foreign-keys-method参数,否则命令不能执行;执行命令前,原表不能有触发器。
比较熟悉的到这里应该可以看出来了,此工具使用的其实是中间表的方式,如果不想装工具,或者没有安装工具的条件,那么也可以用手动建中间表方式实现软件功能。
二 中间表方式
假设现在要对表tb1增加索引:
创建tb1的中间表tb1_new
create table tb1_new like tb1;
将原表数据导入中间表
insert into tb1_new select from tb1;
注意,这里如果表非常大的话,如问题里提到的上亿数据,会非常耗时,很消耗服务器资源,如果服务器配置不高的话,有可能导致系统hang住,这时可考虑使用多次执行分段导入的方式缓解压力:
insert into tb1_new select from tb1 where id between 0 and 100000;
insert into tb1_new select from tb1 where id between 100001 and 200000;
insert into tb1_new select from tb1 where id between 99900001 and 100000000;
rename原表和中间表
rename tb1 tb1_old; rename tb1_new tb1;
总结:以上无论是使用在线更改工具还是中间表方式,在修改上亿级大表时都有可能对服务器造成较大压力,导致系统运行缓慢甚至hang住的情况,所以要尽量放在业务非繁忙期窗口进行分段式 *** 作。
闲置十分钟就会 hang 机
你有否设定screen saver 或 blank screen 等 闲置十分钟就hang
虽然你无说明其他
似乎就系进阶电源管理 (APM / ACPI) 部份有问题 有部份主板 ACPI 设定为 S1 (Suspend to RAM) 就会出现你所指情形
转为S3 (Suspend to Disk) 就会正常
一般我都会设定为 S3
以防止这可能性 另外
主板CMOS 资料有误
令APM / ACPI讯号出现问题都会有此可能
最简便方法就是Clear CMOS
再设定一次 BIOS
再看看 多数 Clear CMOS 就能解决以上问题
但仍然不可以的话
经验得知
就是主板爆 BUS
一般都系有零件老化
太多杂讯而出现的问题
本人就不熟电子
不知道多数是什么零件出问题了 另有极小数可能性
就是 IDE CABLE 杂讯(CABLE老化)
都会令 system bus 唔稳定 use
用于 unix 系统上的一种网络服务
现时已较少使用
但仍可从老旧的大型 unix 系统上仍在使用中
通过 ceph daemon osd64 dump_historic_ops 查看这个osd上所有client的op的时延duration,确实存在处理时间较高的情况
通过 smartctl -a /dev/sdi 查看硬盘的寿命,确认ssd盘寿命已不足
执行 ceph osd pool set ssd min_size 1 调整为1
2调整osd reweight,让pg不再分配读写到这个osd
ceph osd reweight 64 0
3等待集群最终恢复 health: HEALTH_OK
[1]osd_pool_default_min_size配置( >
以上就是关于如何诊断RAC数据库上的“IPC Send timeout”问题全部的内容,包括:如何诊断RAC数据库上的“IPC Send timeout”问题、数据库索引问题、电脑idle十分钟左右就hang机,what's up等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)