
您说: 很简单的
您说: 特别是用了rman以后
catherine(在北京)说: 现在怎么做
您说: 先把standby的昨天晚上起来的那个数据库停了
catherine(在北京)说: ok
您说: 停了?
catherine(在北京)说: 还没完,怎么这么慢
您说: shutdown immediate?
catherine(在北京)说: 是的
您说: 还没停?
您说: 不管他了,shutdown abort好了
您说: 反正也不要这个库了
catherine(在北京)说: 停了
catherine(在北京)说: 现在呢
您说: 您是要把redo改为1m吗?
catherine(在北京)说: 是的
catherine(在北京)说: 怎么改?
您说: 您先作restore吧,待会儿再改
您说: 在standby上
您说: $oracle_home/bin/rman target /
catherine(在北京)说: 继续
您说: sorry
您说: 先要mount数据库
您说: 还是得先改redo
catherine(在北京)说: 是改主库的?
您说: 改redo要到primary上改
您说: 对
catherine(在北京)说: 怎么改,快点呀
您说: 您简单些用图像界面改吧
您说: 算了算了
您说: 还是命令行吧
您说: 等会儿
您说: 您先select * from v$log
catherine(在北京)说: 孙鹏的机器服务名都没配置,命令行吧
您说: select * from v$logfile;
您说: 看一下当前的group#和member
catherine(在北京)说: 当前group是8
您说: 是8,9,10三个是吧
您说: 行那就加1,2,3三组1m的
catherine(在北京)说: member: /global/oradata/ctsdb/redo08.log
您说: 等会儿,我告诉您sql
catherine(在北京)说: 是
您说: alter database add logfile group 1 (/global/oradata/ctsdb/redo01.log) size 1024k
您说: alter database add logfile group 2 (/global/oradata/ctsdb/redo02.log) size 1024k
您说: alter database add logfile group 3 (/global/oradata/ctsdb/redo03.log) size 1024k
您说: 这样就加了三组
catherine(在北京)说: 加好了
catherine(在北京)说: 然后呢
您说: 三组都加完了?
catherine(在北京)说: 是
您说: 然后作alter system archive log current;
您说: 要让新加的redo成为current的,才能够删除老的redo
您说: select group#,status from v$log;
您说: 能够看现在各个组的redo的状态
catherine(在北京)说: 8是active, 9,10 是inactive
您说: 再作一次archive
您说: 再看
catherine(在北京)说: 8,9.10都是inactive了
您说: ok
您说: 删掉这三组
您说: alter database drop logfile group 8;
您说: 应该是这样
您说: alter database drop logfile group 9;
您说: alter database drop logfile group 10;
catherine(在北京)说: 删除了
您说: 好,我们还要创建standby redo也改成1m
您说: 原来也是3m
catherine(在北京)说: 但v$logfile里有group4,5,6,7
您说: 呵呵,这个就是standby redo
catherine(在北京)说: 是什么
catherine(在北京)说: 哦
您说:primary端的是为了预备以后角色转换时候用的
catherine(在北京)说:啊,我要把,4,5.6.7都改成1m?
您说: 其实standby redo只需要在standby上有就能够了
catherine(在北京)说: o
您说: 这几个能够先删除再重新创建
catherine(在北京)说: 今天能够不处理吧?
您说: 不能够
您说: 反正standby那边也要用的啊
catherine(在北京)说: 那就先删除了?
您说: alter database drop standby logfile group 4;
您说: 语法里要加一个standby
catherine(在北京)说: 都删除了,然后怎么加
您说: alter database add standby logfile group 4 (/global/oradata/ctsdb/stdby_redo04.log) size 1024k;
您说: 相同的,也就是加一个standby关键字
您说: 对了,您还要先去/global/oradata/ctsdb/目录下删除物理的stdby_redo04.log文档
您说: 先把那四个文档从目录里面删掉,否则创建应该是会报文档亿存在的,因为drop redo的sql并不帮着删除物理文档
catherine(在北京)说: 幸亏我键盘敲的慢
您说: 敲得快也没事儿啊,最多报个错也无所谓嘛
catherine(在北京)说: 都加完了
catherine(在北京)说: 是否能够恢复了
您说: 没有
catherine(在北京)说: :(
您说: 现在生成standby controlfile
您说: alter database create standby controlfile as /tmp/s.ctl;
catherine(在北京)说: 然后呢
您说: 生成完了以后把这个/tmp/s.ctl文档ftp到standby上去
您说: 也能够ftp到tmp目录中,反正待会儿要改名子
您说: 同时还需要ftp的是新生成的那几个log文档
catherine(在北京)说: 是放到$oracle_home/
您说: 1,2,3,4,5,6,7
catherine(在北京)说: dbs下是吗
您说: 不用
您说: 能够全部放到/global/oradata/ctsdb/下面
您说: 还没好?
您说: 您能够趁着这个时间,先检查一下primary和standby上的监听
您说: 用lsnrctl status和lsnrctl status listener_dg
您说: 来检查,假如两边这两个监听都是启动的那就行了
catherine(在北京)说: 传完了
您说: 好
您说: 现在能够恢复了
您说: 先进standby的sqlplus
您说: 现在是不是standby的/global/oradata/ctsdb/目录下有您刚传过来的任何文档?
您说: 包括1,2,3,4,5,6,7这7组log,更有一个s,ctl
catherine(在北京)说: 是的
您说: 好,把s.ctl改名为正常的控制文档名,覆盖原来的
catherine(在北京)说: 演示时您不在不行啊
您说: 应该是control01.ctl,control02.ctl,control03.ctl
您说: 我一会儿过去
catherine(在北京)说: cp就能够吧
您说: 对
catherine(在北京)说: 好乐得
您说: 进sqlplus
您说: startup nomount;
您说: alter database mount standby database;
catherine(在北京)说: 没恢复呢?
您说: 是啊
您说: 先mount才能恢复啊
catherine(在北京)说: 好了
catherine(在北京)说: 现在能够恢复了?
您说: 进rman,就是最初的那条语句
您说: $oracle_home/bin/rman target /
您说: 然后执行restore database;
您说: 然后就等着吧
您说: 等到结束以后
您说: 在sqlplus中执行:alter database recover managed standby database parallel 4 disconnect from session;
您说: 其中parallel 4 能够省略
catherine(在北京)说: restore估计多长时间啊
您说: 然后在peimary端配置archive_lag_target参数值到60,就是一分钟归档一次了
您说: 20分钟差不多吧
您说: 因为这个备份是昨天传的,所以恢复完了以后,数据库还是昨天的状态
catherine(在北京)说: 那跟主库不一致了
您说: 这时候您用alertf监控standby的alertlog,能够看到他会自动到primary上取归档,然后作恢复,直到跟主库一致为止
catherine(在北京)说: 哦
您说: 这也是为什么昨天我说要建完再作初始化的原因,因为这个恢复总还是要时间的,象今天这样又在网络上传归档,那就可能时间还要长一些
|