1 .主库在归档模式下
检查数据库日志模式:
archive log list;
show parameter archive ;

2在主库为备库添加4组日志组
alter database add standby logfile group 4 ‘D:\ORACLE\ORADATA\DBTEST\REDO04.LOG ‘ size 50m;

alter database add standby logfile group 5 ‘D:\ORACLE\ORADATA\DBTEST\REDO05.LOG ‘ size 50m;

alter database add standby logfile group 6 ‘D:\ORACLE\ORADATA\DBTEST\REDO06.LOG ‘ size 50m;

alter database add standby logfile group 7 ‘D:\ORACLE\ORADATA\DBTEST\REDO07.LOG ‘ size 50m;

3主备库配置网络监听
**tnsnames.ora相同

DBTEST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.14)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = DBTEST)
(SID = DBTEST)
)
)
DBTESTB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.12)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = DBTEST)
(SID = DBTESTB)
)
)

listener.ora主库
# listener.ora Network Configuration File: D:\oracle\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = DBTEST)
(ORACLE_HOME = D:\oracle\product\11.2.0\dbhome_1)
#(PROGRAM = extproc)
#(ENVS = “EXTPROC_DLLS=ONLY:D:\oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll”)
(SID_NAME = DBTEST)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
#(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.14)(PORT = 1521))
)
)
ADR_BASE_LISTENER = D:\oracle
**
istener.ora备库

listener.ora Network Configuration File: e:\oradata\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = DBTEST)
(ORACLE_HOME = e:\oradata\product\11.2.0\dbhome_1)
#(PROGRAM = extproc)
# (ENVS = “EXTPROC_DLLS=ONLY:D:\oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll”)
(SID_NAME = DBTESTB)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
#(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.12)(PORT = 1521))
)
)


#ADR_BASE_LISTENER = e:\oracle

使用tnsping检查监听及服务命名
lsnrctl
stop
start

**
4主备库创建相关目录

**5为主备库准备参数文件
**

alter system set log_checkpoints_to_alert=TRUE

alter system set log_archive_dest_1=’LOCATION=E:\oracle_DB_arch\arch valid_for=(online_logfiles,primary_role) db_unique_name=dbtest’;
alter system set log_archive_dest_2=’SERVICE=dbtestb lgwr async affirm valid_for=(online_logfiles,primary_role) db_unique_name=dbtestb’;
alter system set log_archive_dest_3=’LOCATION=E:\oracle_DB_arch\arch_std valid_for=(standby_logfiles,standby_role) db_unique_name=dbtest’;


alter system set fal_server=’DBTESTB’
alter system set fal_client=’DBTEST’
alter system set log_archive_config=’dg_config=(DBTEST,DBTESTB)’

—-数据文件转换
alter system set db_file_name_convert=’D:\oracle\oradata\DBTEST’,’E:\oradata\product\DBTESTB’ scope=spfile;
—重做日志文件转换
alter system set log_file_name_convert=’D:\oracle\oradata\DBTEST’,’E:\oradata\product\DBTESTB’ scope=spfile;

注意手工增加:
.log_archive_dest_state_1=enable
.log_archive_dest_state_2=enable
spfile文件准备
create pfile from spfile;

主库init文件initdbtest.ora

dbtest.db_cache_size=1526726656
dbtest.
java_pool_size=16777216
dbtest.large_pool_size=33554432
DBTEST.
oracle_base=’D:\oracle’#ORACLE_BASE set from environment
dbtest.pga_aggregate_target=1224736768
dbtest.
sga_target=2046820352
dbtest.shared_io_pool_size=0
dbtest.
shared_pool_size=436207616
dbtest.__streams_pool_size=0
._allow_resetlogs_corruption=true
.audit_file_dest=’D:\oracle\admin\DBTEST\adump’
.audit_trail=’db’
.compatible=’11.2.0.4.0’
.control_files=’D:\oracle\oradata\DBTEST\control01.ctl’,’D:\oracle\fast_recovery_area\DBTEST\control02.ctl’
.db_block_size=8192
*.db_domain=’’

.db_name=’DBTEST’
.db_recovery_file_dest=’D:\oracle\fast_recovery_area’
.db_recovery_file_dest_size=4385144832
.diagnostic_dest=’D:\oracle’
*.dispatchers=’(PROTOCOL=TCP) (SERVICE=ORCLXDB)’

.db_unique_name=’DBTEST’
.fal_server=’DBTESTB’
.fal_client=’DBTEST’
.log_archive_config=’dg_config=(DBTEST,DBTESTB)’

.log_archive_dest_1=’LOCATION=E:\oracle_DB_arch\arch valid_for=(online_logfiles,primary_role) db_unique_name=dbtest’
.log_archive_dest_2=’SERVICE=dbtestb lgwr async affirm valid_for=(online_logfiles,primary_role) db_unique_name=dbtestb’
.log_archive_dest_3=’LOCATION=E:\oracle_DB_arch\arch_std valid_for=(standby_logfiles,standby_role) db_unique_name=dbtest’
.log_checkpoints_to_alert=TRUE

.memory_target=3263168512
.nls_language=’SIMPLIFIED CHINESE’
.nls_territory=’CHINA’
.open_cursors=300
.processes=150
.remote_login_passwordfile=’EXCLUSIVE’
.undo_tablespace=’UNDOTBS1’
.log_archive_dest_state_1=enable
.log_archive_dest_state_2=enable
.log_archive_dest_state_3=’enable’
.standby_file_management=auto
.log_file_name_convert=’E:\oradata\product\DBTESTB’,’D:\oradata\DBTEST’
*.db_file_name_convert=’E:\oradata\product\DBTESTB’,’D:\oradata\DBTEST’

备库init文件initdbtestb.ora

dbtestB.db_cache_size=1526726656
dbtestB.
java_pool_size=16777216
dbtestB.large_pool_size=33554432
DBTESTB.
oracle_base=’D:\oradata’#ORACLE_BASE set from environment
dbtestB.pga_aggregate_target=1224736768
dbtestB.
sga_target=2046820352
dbtestB.shared_io_pool_size=0
dbtestB.
shared_pool_size=436207616
dbtestB.__streams_pool_size=0
._allow_resetlogs_corruption=true
.audit_file_dest=’D:\oracle\admin\DBTESTB\adump’
.audit_trail=’db’
.compatible=’11.2.0.4.0’
.control_files=’D:\oracle\oradata\DBTESTB\control01.ctl’,’D:\oracle\fast_recovery_area\DBTESTB\control02.ctl’
.db_block_size=8192
.db_domain=’’
.db_file_name_convert=’D:\oradata\DBTEST’,’E:\oradata\product\DBTESTB’
.db_name=’DBTEST’
.db_recovery_file_dest=’D:\oracle\fast_recovery_area’
.db_recovery_file_dest_size=4385144832
.db_unique_name=’DBTESTB’
.diagnostic_dest=’D:\oracle’
.dispatchers=’(PROTOCOL=TCP) (SERVICE=ORCLXDB)’
.fal_client=’DBTESTB’
.fal_server=’DBTEST’
.log_archive_config=’dg_config=(DBTESTB,DBTEST)’
.log_archive_dest_1=’LOCATION=E:\oracleDB\arch valid_for=(online_logfiles,primary_role) db_unique_name=dbtestb’
.log_archive_dest_2=’SERVICE=dbtest lgwr async affirm valid_for=(online_logfiles,primary_role) db_unique_name=dbtest’
.log_archive_dest_3=’LOCATION=E:\oracleDB\arch_std valid_for=(standby_logfiles,standby_role) db_unique_name=dbtestb’
.log_archive_dest_state_1=’enable’
.log_archive_dest_state_2=’enable’
.log_archive_dest_state_3=’enable’
.log_checkpoints_to_alert=TRUE
.log_file_name_convert=’D:\oradata\DBTEST’,’E:\oradata\product\DBTESTB’
.memory_target=3263168512
.nls_language=’SIMPLIFIED CHINESE’
.nls_territory=’CHINA’
.open_cursors=300
.processes=150
.remote_login_passwordfile=’EXCLUSIVE’
.standby_file_management=’auto’
*.undo_tablespace=’UNDOTBS1’


6创建密码文件
orapwd file=D:\oracle\product\11.2.0\dbhome_1\database\PWDdbtest.ORA password=oracle entries=5 ignorecase=y

7创建备库实例phy

C:\Users\Administrator>oradim -new -sid dbtestb

8主备库的启动
主库:
(1)登录sqlplus在mount状态下创建参数文件

Sqlplus / as sysdba
Sql>shutdown immediate;
Sql>startup mount;

create spfile from pfile;

备库启动
set ORACLE_SID=dbtestb

sqlplus sys/czjlgk2014yz@dbtestb as sysdba

startup nomount pfile=’E:\oradata\product\11.2.0\dbhome_1\database\INITdbtestb.ora’

备库:
(1)登录sqlplus创建参数文件
create spfile from pfile;
(2)将数据库启动到nomount(必须是nomount状态)
startup nomount

—-扩大闪回区 注意一定要扩大 原只有4G *
alter system set db_recovery_file_dest_size=40G scope=both;
shutdown immediate;
startup nomount;

9使用rman连接主备库
(由于执行记录较长,因此复制执行过程代码,而不是截图)
在主库执行:
C:\Users\Administrator>

rman target sys/sys@dbtest auxiliary sys/sys@dbtestb nocatalog (注:使用rman登录主备库)

RMAN>backup current controlfile for standby database; (注:为备库备份参数文件)

RMAN>duplicate target database for standby from active database;(注:将主库数据库复制到备库)

如果主库和目标库路径一样,加在复制语句中,加上 notfilenamecheck即可.
修改后,如下:

RMAN> duplicate target database for standby from active database nofilenamecheck;

10将备库设置为接受日志模式
**说明:此时,主库为open状态,备库为mounted
在备库执行以下语句,将备库修改为接收应用主库归档的模式

select open_mode from v$database;
alter database recover managed standby database disconnect from session;

设置主库的归档频率
如果要强制Primary一分种归档一次,那么设置Primary的初始化参数ARCHIVE_LAG_TARGET:
SQL> alter system set ARCHIVE_LAG_TARGET=60 scope=both;

DG检查
—查看主备库
select name,open_mode,database_role,db_unique_name from v$database;