在rhel5上配置Oracle 10g Data Guard(3)


9. 在主数据库创建备用服务器控制文件

  alter database create standby controlfile as '/home/oracle/standby.ctl';

  创建后将控制文件cp(rcp or scp)到备用数据库所在的控制文件目录下。

  scp standby.ctl 192.168.200.109:/oracle/oradata/ddd/

  cp /oracle/oradata/ddd/standby.ctl /oracle/oradata/ddd/control02.ctl

  cp /oracle/oradata/ddd/standby.ctl /oracle/oradata/ddd/control02.ctl

  cp /oracle/oradata/ddd/standby.ctl /oracle/oradata/ddd/control03.ctl

  10. 启动备用数据库

  sqlplus / as sysdba

  create spfile from pfile;

  startup mount;

  恢复数据库:

  RMAN> connect target;

  RMAN> restore database;

  RMAN> restore archivelog all;

  RMAN> recover database;

  进入到后台管理恢复状态

  SQL>alter database recover managed standby database disconnect from session;

  三、采用Lgwr进程传递联日志机的最大性能模式

  1. 在备用数据库上创建备用日志

  alter database recover managed standby database cancel;

  alter database add standby LOGFILE GROUP 5 ('/oracle/oradata/ddd/stdy_redo05.log') size 10m;

  alter database add standby LOGFILE GROUP 6 ('/oracle/oradata/ddd/stdy_redo06.log') size 10m;

  alter database add standby LOGFILE GROUP 7 ('/oracle/oradata/ddd/stdy_redo07.log') size 10m;

  alter database add standby LOGFILE GROUP 8 ('/oracle/oradata/ddd/stdy_redo08.log') size 10m;

  alter database recover managed standby database disconnect from session;

  2. 修改主库的归档路径

  alter system set LOG_ARCHIVE_DEST_2='SERVICE=dddsby1 LGWR' scope=both;

  另外,如果考虑到以后该库可能被切换到备用数据库,也可以创建同样的备用日志

  组:

  alter database add standby LOGFILE GROUP 5 ('/oracle/oradata/ddd/stdy_redo05.log') size 10m;

  alter database add standby LOGFILE GROUP 6 ('/oracle/oradata/ddd/stdy_redo06.log') size 10m;

  alter database add standby LOGFILE GROUP 7 ('/oracle/oradata/ddd/stdy_redo07.log') size 10m;

  alter database add standby LOGFILE GROUP 8 ('/oracle/oradata/ddd/stdy_redo08.log') size 10m;
四、验证备用服务器是否工作

  在主库中执行

  alter system switch logfile;

  在备库中查看日志是否被传送过来

  SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME, APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;

  在主库上:

  sqlplus / as sysdba

  create user test identified by test;

  grant connect,resource to test;

  conn test/test@primary;

  create table test(name varchar2(20));

  insert into test values('Data Guard');

  commit;

  conn / as sysdba;

  alter system switch logfile;

  查看从库日志

  以只读方式打开从库查看 insert into test values(Data Guard'); 已经生效。

  sqlplus / as sysdba;

  alter database recover managed standby database cancel;

  alter database open read only;

  conn test/test

  select * from test;

  再次设置从库在恢复模式:

  alter database recover managed standby database disconnect from session;

  五、日常管理

  1. 备用服务器的管理模式与只读模式

  (1)启动到管理模式

  SQL>shutdown immediate;

  SQL>startup nomount;

  SQL>alter database mount standby database;

  SQL>alter database recover managed standby database disconnect from session;

  (2)启动到只读方式

  SQL>shutdown immediate;

  SQL>startup nomount;

  SQL>alter database mount standby database;

  SQL>alter database open read only;

  (3)如果在管理恢复模式下到只读模式

  SQL>recover managed standby database cancel;

  SQL>alter database open read only;

  这个时候,可以给数据库增加临时数据文件(这个在热备份的时候是没有备份过来的)

  如

  alter tablespace temp add tempfile '/oracle/oradata/ddd/temp01.dbf' size 100M;

  (4)从只读方式到管理恢复方式

  SQL>recover managed standby database disconnect from session;


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3