ITPub博客

首页 > 数据库 > Oracle > 网络文件系统导致数据库实例hang死

网络文件系统导致数据库实例hang死

原创 Oracle 作者:gqh2789 时间:2017-06-02 15:59:45 0 删除 编辑
操作系统:aix unix 6.1
软件环境:HACMP Oracle 10g RAC
故障
两个问题:
1、nfs异常导致数据库hang死

操作系统无法调用新的进程
通过挂载二级目录规避这个bug

2、挂载二级目录后,问题一解决,出现新问题,无法识别的新路径的归档
通过设置10298事件规避挂载参数问题

alter system set events '10298 trace name context forever, level 32';
关闭10298事件
alter system set events '10298 trace name context off ' ;

AIX上的Oracle instance 有一个NFS 挂载点,该挂载点基于归档路径共享的目的。该挂载点mount时的选项如下:

rw,bg,hard,intr,proto=tcp,vers=3,rsize=65536,wsize=65536,timeo=600

当NFS Server 宕机时,Ooracle RDMBS 冻结,并且alert 日志中没有任何错误。当NFS Sserver 恢复后,database 也正常工作,没有任何问题。

This is an issue with the way in which the system call getcwd is implemented within AIX.

使用df 的 tusss跟踪,我们可以看到statx 命令在 /backup处挂起。

truss -o /tmp/trace.log df –h 进行跟踪。(strace)

AIX查看错误堆栈

oerr ora 27054

通过设置10298事件规避挂载参数问题
alter system set events '10298 trace name context forever, level 32';
关闭10298事件
alter system set events '10298 trace name context off ' ;

方法二(更改归档路径,需要停二节点)
1、备份归档日志
backup archivelog all format '/u01/nfs_%d_log_%T_%U';
2、创建相关目录
50服务器
mkdir –p /nfs/arch1
mkdir –p /nfs/arch2
更改权限
chown oracle:dba /nfs/arch1
chown oracle:dba /nfs/arch2
60服务器
mkdir –p /nfs/arch1
mkdir –p /nfs/arch2
chown oracle:dba /nfs/arch1
chown oracle:dba /nfs/arch2
3、停止ogg应用
4、停止60数据库实例
5、更改60归档盘的挂载点到/nfs/arch2
umount /arch2
mount ---挂载归档盘
7、60数据库实例启动到mount状态
更改60数据库的归档路径为/nfs/arch2
alter sysytem set log_archive_dest_1='/nfs/arch2';
8、重新注册归档日志
 catalog start with '/nfs/arch2';
9、通过网络文件系统把60的归档挂到50上--50上执行
mount -o rw,bg,hard,intr,proto=tcp,vers=3,rsize=65536,wsize=65536,timeo=600 sxtssadb2:/nfs/arch2 /nfs/arch2

cio,rw,bg,hard,nointr,rsize=32768,
wsize=32768,proto=tcp,noac,
vers=3,timeo=600
10、50上检测归档路径是否可以检查的到
rman target /
crosscheck archivelog all;
11、如果可以检查的到说明成功,打开60数据库
alter dataabase open;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31324783/viewspace-2140220/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle DBA

注册时间:2016-05-13

  • 博文量
    51
  • 访问量
    59865