Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1437179
  • 博文数量: 317
  • 博客积分: 1860
  • 博客等级: 上尉
  • 技术积分: 3513
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-07 08:51
个人简介

偶尔有空上来看看

文章分类

全部博文(317)

文章存档

2021年(49)

2020年(115)

2019年(11)

2018年(9)

2017年(9)

2016年(17)

2015年(7)

2014年(4)

2013年(1)

2012年(11)

2011年(27)

2010年(35)

2009年(11)

2008年(11)

分类: Oracle

2020-12-28 21:38:31


本来是很简单的一个事情,缺得到了一个意外的结局。
业务繁忙,redo log有些不足,经确认后打算加三组,11g rac asm,老规矩,把要执行的操作先写出来:
alter database add logfile thread 1 group 11 'data' size 1g;
复制几个,改组号
alter database add logfile thread 1 group 12 'data' size 1g;
alter database add logfile thread 1 group 13 'data' size 1g;
alter database add logfile thread 2 group 21 'data' size 1g;
...
很完美,执行吧...

哎,执行第二行时怎么报redo成员已存在呢?
咋回事?

咋回事?

相了一会面,5秒钟后,明白了。
redo位置没有“+”,asm磁盘组都要前面带一个加号。

意外之处是,当时连到实例2上了,执行的添加实例1上redo命令,结果文件创建在实例2主机的$ORACLE_HOME/dbs/目录下了,文件名就是data,有趣的是实例1立即宕机。

当时发现加错了,第一反应是赶紧删掉,alter database drop logfile group 11;
唉?怎么死活报错找不到文件?select member from v$log明明指向dbs目录下的,意识到是不是该从实例1上发起删除?连接实例1时发现1已经宕机了,oracle自我保护机制蛮好的。

突发奇想,启动实例1到mount,将实例2主机上的data文件拷贝到实例1主机上,然后再执行删除就ok了,(如果不行的话就把实例1打开再删除),赶紧把加号填上,问题解决。

很基础的操作有时也会带来小插曲。

小插曲的尾声是,由于误操作导致生产库宕机,被投诉,年终奖取消。


阅读(96) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~