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;