oracle定时任务执行报错并自动导致数据库关闭
2018-06-01 13:40
274 查看
问题描述:
编写shell脚本在Linux服务器中通过cron服务定时执行自动备份,每次备份完成后在结尾操作中数据库报错,服务被关闭。shell脚本单独执行备份没有问题。查看alert日志发现以下错误信息:
原因定位:
在rhel7在rhel7.2中,systemd-logind服务引入了一个新特性:在一个user完全退出OS后会remove掉所有的IPC对象。
该特性由/etc/systemd/logind.conf参数文件中RemoveIPC选项来控制。详细请看man logind.conf(5)。
在rhel7.2中,RemoveIPC的默认值是yes
因此,当最后一个oracle或者grid用户退出时,操作系统会remove掉这个user的shared memory segments和semaphores
而Oracle ASM和database的SGA需要使用 shared memory segments,因此remove shared memory segments将会crash掉Oracle ASM和database instances。
请参考Redhat bug 1264533 - https://bugzilla.redhat.com/show_bug.cgi?id=1264533
这个问题会影响使用shared memory segments和semaphores的所有应用,因此,Oracle ASM 实例和Oracle Database 实例均受到影响。
oel7.2为了避免这个问题,在/etc/systemd/logind.conf配置文件中明确设置RemoveIPC为no。
1).设置/etc/systemd/logind.conf中RemoveIPC=no
2).重启服务器或者重启systemd-logind
重启systemd-logind:
# systemctl daemon-reload
# systemctl restart systemd-logind
阅读更多
编写shell脚本在Linux服务器中通过cron服务定时执行自动备份,每次备份完成后在结尾操作中数据库报错,服务被关闭。shell脚本单独执行备份没有问题。查看alert日志发现以下错误信息:
Errors in file /d12/app/oracle/diag/rdbms/rac12c/rac12c2/trace/rac12c2_j000_21047.trc: ORA-27157: OS post/wait facility removed ORA-27300: OS system dependent operation:semop failed with status: 43 ORA-27301: OS failure message: Identifier removed ORA-27302: failure occurred at: sskgpwwait1
原因定位:
在rhel7在rhel7.2中,systemd-logind服务引入了一个新特性:在一个user完全退出OS后会remove掉所有的IPC对象。
该特性由/etc/systemd/logind.conf参数文件中RemoveIPC选项来控制。详细请看man logind.conf(5)。
在rhel7.2中,RemoveIPC的默认值是yes
因此,当最后一个oracle或者grid用户退出时,操作系统会remove掉这个user的shared memory segments和semaphores
而Oracle ASM和database的SGA需要使用 shared memory segments,因此remove shared memory segments将会crash掉Oracle ASM和database instances。
请参考Redhat bug 1264533 - https://bugzilla.redhat.com/show_bug.cgi?id=1264533
这个问题会影响使用shared memory segments和semaphores的所有应用,因此,Oracle ASM 实例和Oracle Database 实例均受到影响。
oel7.2为了避免这个问题,在/etc/systemd/logind.conf配置文件中明确设置RemoveIPC为no。
1).设置/etc/systemd/logind.conf中RemoveIPC=no
2).重启服务器或者重启systemd-logind
重启systemd-logind:
# systemctl daemon-reload
# systemctl restart systemd-logind
阅读更多
相关文章推荐
- 局域网中将备份数据库拷贝到其他服务器中(可以设置成任务,定时自动执行)
- php自动刷新与关闭页面后继续执行,定时任务的实现方式
- Oracle_批处理+任务计划实现数据库自动定时备份
- Linux下的crontab定时、执行任务命令详解 oracle 自动备份
- Oracle_批处理+任务计划实现数据库自动定时备份
- 利用CRONTAB自动定时执行任务(ARM-LINUX)
- oracle客户端监听器不能自动启动,导致连接数据库失败
- Oracle定时执行计划任务
- 数据库作业[定时执行任务]的创建(转)
- oracle怎么实现每天定时执行一个计划任务
- [转]oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务。
- Mysql计划任务自动定时备份数据库方法-for windows
- window平台下使用任务计划定时执行php进行数据库处理
- Oracle定时执行计划任务
- bat定时自动关机,bat自动结束任务关闭程序,dos自动结束程序后关机
- 【Oracle】记一次数据库连接没有关闭导致数据库宕机的排查过程
- CentOS下mysql自动备份数据库 crontab定时任务
- 在ORACLE中实现后台自动执行的定时操作
- crontab创建定时任务执行mapreduce,并将输出Load到数据库
- Oracle JOB的建立,定时执行任务