一、Oracle DataGuard介绍
Oracle DataGuard是Oracle自带的数据同步功能,基本原理是将日志文件从原数据库传输到目标数据库,然后在目标数据库上应用这些日志文件,从而使目标数据库与源数据库保持同步,是一种数据库级别的高可用性方案。
二、Oracle DataGuard环境配置
两台服务器A和B、操作系统为Windows Server 2012 R2、数据库:Oracle 11g
主库设置:
主机名:A、实例名:orcl、数据库名:orcl、网络服务名:primary、主库ip:192.168.3.166
备库设置:
主机名:B、实例名:orcl、数据库名:orcl、网络服务名:standby、备库ip为192.168.3.188
oracle安装路径是C:\app\Administrator\product\11.2.0\dbhome_1\。
主库和备库服务器需要关闭防火墙或开放1521端口连接。
数据文件放在c:\app\Administrator \oradata\orcl文件夹下,
归档日志文件放在c:\app\Administrator \log文件夹下,log文件夹是新建的。
三、主库的配置
1.命令行CMD窗口下,在主库上启动数据库到mount模式,开启归档模式与force logging。
CMD>sqlplus / as sysdba
SQL>shutdown immediate;
SQL>startup mount;
SQL>alter database archivelog;
SQL>alter database force logging;
2.查看当前日志文件组
SQL>select * from v$logfile order by group#;
可以看到当前日志文件位置
3.为备库创建日志文件
alter database add standby logfile group 4 ('c:\app\ORACLE\oradata\orcl\redo04.log') size 50m;
alter database add standby logfile group 5 ('c:\app\ORACLE\oradata\orcl\redo05.log ') size 50m;
alter database add standby logfile group 6 ('c:\app\ORACLE\oradata\orcl\redo06.log ') size 50m;
再次查询v$logfile
SQL>select * from v$logfile order by group#;
会多出三组日志文件,这样备用日志就建好了
4.创建standby控制文件
alter database create standby controlfile as ‘c:\app\Administrator\pfile\standby.ctl’;
5.创建参数文件
create pfile=' C:\app\Administrator\pfile\initorcl.ora' from spfile;
6.编辑initorcl.ora参数文件
orcl.__db_cache_size=310378496
orcl.__java_pool_size=4194304
orcl.__large_pool_size=4194304
orcl.__oracle_base='c:\app\Administrator'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=310378496
orcl.__sga_target=528482304
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=201326592
orcl.__streams_pool_size=0
*.audit_file_dest='C:\app\Administrator\admin\orcl\adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='c:\app\Administrator\oradata\orcl\control01.ctl','c:\app\Administrator\flash_recovery_area\orcl\control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='orcl'
*.db_recovery_file_dest='c:\app\Administrator\flash_recovery_area'
*.db_recovery_file_dest_si