数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
DataGuard - MSN教程

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

你说:
很简单的

你说:
特别是用了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(在北京)说:

你说:
这也是为什么昨天我说要建完再作初始化的原因,因为这个恢复总还是要时间的,象今天这样又在网络上传归档,那就可能时间还要长一些




相关文章

相关软件