Oracle 11.2.0.4 RAC 安全停库

Oracle 11.2.0.4 RAC 安全停库

  作为一名数据库管理员,难免有一些机器的停机检修,主机网络资源的调整,最基本的一个动作就是停库,一般看来数据库停库不就是shutdown ? 非也,要做到数据库的安全停库,一系列的操作和检查是非常有必要的。下文详细列举了oracle11g RAC的安全停库操作步骤。


第一步: 检查主机状态,查看集群状态

hostname  查看主机,避免误操作。
id       查看当前用户,确保是oracle 或者 grid。 

查看crs集群状态,确保所有的集群资源都在正确的主机上,没有发生任何迁移。
crsctl stat res -t 


第二步: 处理监听,只能停单节点监听

停单节点监听(只能停单节点)
su - grid 
lsnrctl stop

检查该节点的监听是否正常停止。

crsctl stat res -t 


第三步:开始安全停库

安全停库前,建议多开几个CRT窗口,实时监控alert.log日志。以防发生异常,需要做处理

3.1 杀会话,查杀该节点所有的LOCAL=NO的会话

ps -ef|grep LOCAL=NO|awk '{print $2}'|xargs kill -9

3.2 查看是否有大事物回滚,如存在需等待回滚完毕,下面两条语句执行后查询为空就代表当前没有事物需要回滚。

select * from v$FAST_START_TRANSACTIONS where UNDOBLOCKSDONE <> UNDOBLOCKSTOTAL;  

select undoblocksdone,undoblockstotal from v$fast_start_transactions where state<>'RECOVERED';  

3.3 切换日志文件,执行checkpoint,循环多次执行以下两条语句

alter system switch logfile;

alter system checkpoint;

3.4 执行shutdown

 shutdown immediate;
     exit;

查看alert 日志有无异常报错信息


第三步:停集群资源

使用root用户, 执行 crsctl stop crs;


第四步: 检查是否还有oracle的进程

ps -ef  |  grep  d.bin

ps -ef  | grep oracle

ps -ef  |  grep grid


最后,需要确认, alert.log 有无异常报错, crs日志有无异常报错, 如果都没有。至此,方可确认数据库已经安全停止。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值