生产中由于归档丢失,导致DG失效,所以搭建一套单机对单机用于测试
一、主备安装数据库软件(略)
二、配置网络,在主备分配配置listener.ora、tnsnames.ora文件,保证主备网络互通
主:
listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.103)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
ADR_BASE_LISTENER = /opt/oracle
tnsnams.ora
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.103)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
standby =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.101)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = standby)
)
)
备机
listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = standby)
(ORACLE_HOME = /opt/oracle/product/11.2/db_1)
(SID_NAME = standby)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.101)(PORT = 1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
ADR_BASE_LISTENER = /opt/oracle
tnsnames.ora
STANDBY =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.101)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = standby)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.103)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
在主备分别用tnsping命令测试是否成功
三、配置参数
1、主库参数文件修改
orcl.__db_cache_size=297795584
orcl.__java_pool_size=4194304
orcl.__large_pool_size=8388608
orcl.__oracle_base='/opt/oracle'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=293601280
orcl.__sga_target=440401920
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=117440512
orcl.__streams_pool_size=4194304
*.audit_file_dest='/opt/oracle/admin/orcl/adump'
*.audit_trail='db'
*.compatible='11.2.0.4.0'
*.control_files='/opt/oracle/oradata/orcl/control01.ctl','/opt/oracle/fast_recovery_area/orcl/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='orcl'
*.db_recovery_file_dest='/opt/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=4385144832
*.diagnostic_dest='/opt/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.log_archive_format='%t_%s_%r.dbf'
*.memory_target=730857472
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
*.db_file_name_convert='/opt/oracle/oradata/standby','/opt/oracle/oradata/orcl'
*.log_file_name_convert='/opt/oracle/oradata/standby','/opt/oracle/oradata/orcl'
*.log_archive_config='dg_config=(orcl,standby)'
*.log_archive_dest_1='location=/opt/oracle/archlog valid_for=(all_logfiles,all_roles) db_unique_name=orcl'
*.log_archive_dest_2='service=standby lgwr sync valid_for=(online_logfiles,primary_role) db_unique_name=standby'
*.fal_server=standy
*.fal_client=orcl
*.log_archive_dest_state_1=enable
*.log_archive_dest_state_2=enable
注:主库参数文件配置完成后重启一下数据库
2、创建备库日志文件
alter database add standby logfile '/opt/oracle/oradata/orcl/redo01_sty.log' size 500m;
alter database add standby logfile '/opt/oracle/oradata/orcl/redo02_sty.log' size 500m;
alter database add standby logfile '/opt/oracle/oradata/orcl/redo03_sty.log' size 500m;
alter database add standby logfile '/opt/oracle/oradata/orcl/redo04_sty.log' size 500m;
3、拷贝主库密码文件、参数文件到主库
4、修改备库参数文件
[oracle@standby dbs]$ cat initstandby.ora
standby.__db_cache_size=297795584
standby.__java_pool_size=4194304
standby.__large_pool_size=8388608
standby.__oracle_base='/opt/oracle'#ORACLE_BASE set from environment
standby.__pga_aggregate_target=293601280
standby.__sga_target=440401920
standby.__shared_io_pool_size=0
standby.__shared_pool_size=117440512
standby.__streams_pool_size=4194304
*.audit_file_dest='/opt/oracle/admin/standby/adump'
*.audit_trail='db'
*.compatible='11.2.0.4.0'
*.control_files='/opt/oracle/oradata/standby/control01.ctl','/opt/oracle/fast_recovery_area/standby/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='orcl'
*.db_recovery_file_dest='/opt/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=4385144832
*.diagnostic_dest='/opt/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=standbyXDB)'
*.log_archive_format='%t_%s_%r.dbf'
*.memory_target=730857472
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
*.db_unique_name='standby'
*.db_file_name_convert='/opt/oracle/oradata/orcl','/opt/oracle/oradata/standby'
*.log_file_name_convert='/opt/oracle/oradata/orcl','/opt/oracle/oradata/standby'
*.log_archive_config='dg_config=(orcl,standby)'
*.log_archive_dest_1='location=/opt/oracle/archlog valid_for=(all_logfiles,all_roles) db_unique_name=standby'
*.log_archive_dest_2='service=orcl lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=orcl'
*.log_archive_dest_state_1=enable
*.log_archive_dest_state_2=enable
*.log_archive_max_processes=10
*.fal_server=orcl
*.fal_client=standby
*.standby_file_management=auto
5、在备库创建相应的目录
mkdir -p /opt/oracle/oradata/standby
mkdir -p /opt/oracle/fast_recovery_area/standby/
mkdir -p /opt/oracle/admin/standby/adump
6、备库启动到nomount状态
四、复制主库做备库
rman target sys/123@orcl auxiliary sys/123@standby nocatalog;
duplicate target database for standby from active database nofilenamecheck;
五、将备库切换到mount状态,并设置为standby
alter database mount;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
六、验证DG是否搭建成功
SQL> SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
1、备库查询存在的归档
SEQUENCE# FIRST_TIM NEXT_TIME
---------- --------- ---------
7 04-MAY-17 04-MAY-17
8 04-MAY-17 04-MAY-17
9 04-MAY-17 04-MAY-17
10 04-MAY-17 04-MAY-17
11 04-MAY-17 04-MAY-17
12 04-MAY-17 04-MAY-17
13 04-MAY-17 04-MAY-17
14 04-MAY-17 04-MAY-17
15 04-MAY-17 04-MAY-17
16 04-MAY-17 04-MAY-17
17 04-MAY-17 04-MAY-17
SEQUENCE# FIRST_TIM NEXT_TIME
---------- --------- ---------
18 04-MAY-17 04-MAY-17
12 rows selected.
2、在主库切换日志
alter system switch logfile
3、在备库再次查询归档日志
SQL> r
1* SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#
SEQUENCE# FIRST_TIM NEXT_TIME
---------- --------- ---------
7 04-MAY-17 04-MAY-17
8 04-MAY-17 04-MAY-17
9 04-MAY-17 04-MAY-17
10 04-MAY-17 04-MAY-17
11 04-MAY-17 04-MAY-17
12 04-MAY-17 04-MAY-17
13 04-MAY-17 04-MAY-17
14 04-MAY-17 04-MAY-17
15 04-MAY-17 04-MAY-17
16 04-MAY-17 04-MAY-17
17 04-MAY-17 04-MAY-17
SEQUENCE# FIRST_TIM NEXT_TIME
---------- --------- ---------
18 04-MAY-17 04-MAY-17
19 04-MAY-17 04-MAY-17
20 04-MAY-17 04-MAY-17
21 04-MAY-17 04-MAY-17
一、主备安装数据库软件(略)
二、配置网络,在主备分配配置listener.ora、tnsnames.ora文件,保证主备网络互通
主:
listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.103)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
ADR_BASE_LISTENER = /opt/oracle
tnsnams.ora
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.103)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
standby =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.101)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = standby)
)
)
备机
listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = standby)
(ORACLE_HOME = /opt/oracle/product/11.2/db_1)
(SID_NAME = standby)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.101)(PORT = 1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
ADR_BASE_LISTENER = /opt/oracle
tnsnames.ora
STANDBY =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.101)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = standby)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.103)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
在主备分别用tnsping命令测试是否成功
三、配置参数
1、主库参数文件修改
orcl.__db_cache_size=297795584
orcl.__java_pool_size=4194304
orcl.__large_pool_size=8388608
orcl.__oracle_base='/opt/oracle'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=293601280
orcl.__sga_target=440401920
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=117440512
orcl.__streams_pool_size=4194304
*.audit_file_dest='/opt/oracle/admin/orcl/adump'
*.audit_trail='db'
*.compatible='11.2.0.4.0'
*.control_files='/opt/oracle/oradata/orcl/control01.ctl','/opt/oracle/fast_recovery_area/orcl/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='orcl'
*.db_recovery_file_dest='/opt/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=4385144832
*.diagnostic_dest='/opt/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.log_archive_format='%t_%s_%r.dbf'
*.memory_target=730857472
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
*.db_file_name_convert='/opt/oracle/oradata/standby','/opt/oracle/oradata/orcl'
*.log_file_name_convert='/opt/oracle/oradata/standby','/opt/oracle/oradata/orcl'
*.log_archive_config='dg_config=(orcl,standby)'
*.log_archive_dest_1='location=/opt/oracle/archlog valid_for=(all_logfiles,all_roles) db_unique_name=orcl'
*.log_archive_dest_2='service=standby lgwr sync valid_for=(online_logfiles,primary_role) db_unique_name=standby'
*.fal_server=standy
*.fal_client=orcl
*.log_archive_dest_state_1=enable
*.log_archive_dest_state_2=enable
注:主库参数文件配置完成后重启一下数据库
2、创建备库日志文件
alter database add standby logfile '/opt/oracle/oradata/orcl/redo01_sty.log' size 500m;
alter database add standby logfile '/opt/oracle/oradata/orcl/redo02_sty.log' size 500m;
alter database add standby logfile '/opt/oracle/oradata/orcl/redo03_sty.log' size 500m;
alter database add standby logfile '/opt/oracle/oradata/orcl/redo04_sty.log' size 500m;
3、拷贝主库密码文件、参数文件到主库
4、修改备库参数文件
[oracle@standby dbs]$ cat initstandby.ora
standby.__db_cache_size=297795584
standby.__java_pool_size=4194304
standby.__large_pool_size=8388608
standby.__oracle_base='/opt/oracle'#ORACLE_BASE set from environment
standby.__pga_aggregate_target=293601280
standby.__sga_target=440401920
standby.__shared_io_pool_size=0
standby.__shared_pool_size=117440512
standby.__streams_pool_size=4194304
*.audit_file_dest='/opt/oracle/admin/standby/adump'
*.audit_trail='db'
*.compatible='11.2.0.4.0'
*.control_files='/opt/oracle/oradata/standby/control01.ctl','/opt/oracle/fast_recovery_area/standby/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='orcl'
*.db_recovery_file_dest='/opt/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=4385144832
*.diagnostic_dest='/opt/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=standbyXDB)'
*.log_archive_format='%t_%s_%r.dbf'
*.memory_target=730857472
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
*.db_unique_name='standby'
*.db_file_name_convert='/opt/oracle/oradata/orcl','/opt/oracle/oradata/standby'
*.log_file_name_convert='/opt/oracle/oradata/orcl','/opt/oracle/oradata/standby'
*.log_archive_config='dg_config=(orcl,standby)'
*.log_archive_dest_1='location=/opt/oracle/archlog valid_for=(all_logfiles,all_roles) db_unique_name=standby'
*.log_archive_dest_2='service=orcl lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=orcl'
*.log_archive_dest_state_1=enable
*.log_archive_dest_state_2=enable
*.log_archive_max_processes=10
*.fal_server=orcl
*.fal_client=standby
*.standby_file_management=auto
5、在备库创建相应的目录
mkdir -p /opt/oracle/oradata/standby
mkdir -p /opt/oracle/fast_recovery_area/standby/
mkdir -p /opt/oracle/admin/standby/adump
6、备库启动到nomount状态
四、复制主库做备库
rman target sys/123@orcl auxiliary sys/123@standby nocatalog;
duplicate target database for standby from active database nofilenamecheck;
五、将备库切换到mount状态,并设置为standby
alter database mount;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
六、验证DG是否搭建成功
SQL> SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
1、备库查询存在的归档
SEQUENCE# FIRST_TIM NEXT_TIME
---------- --------- ---------
7 04-MAY-17 04-MAY-17
8 04-MAY-17 04-MAY-17
9 04-MAY-17 04-MAY-17
10 04-MAY-17 04-MAY-17
11 04-MAY-17 04-MAY-17
12 04-MAY-17 04-MAY-17
13 04-MAY-17 04-MAY-17
14 04-MAY-17 04-MAY-17
15 04-MAY-17 04-MAY-17
16 04-MAY-17 04-MAY-17
17 04-MAY-17 04-MAY-17
SEQUENCE# FIRST_TIM NEXT_TIME
---------- --------- ---------
18 04-MAY-17 04-MAY-17
12 rows selected.
2、在主库切换日志
alter system switch logfile
3、在备库再次查询归档日志
SQL> r
1* SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#
SEQUENCE# FIRST_TIM NEXT_TIME
---------- --------- ---------
7 04-MAY-17 04-MAY-17
8 04-MAY-17 04-MAY-17
9 04-MAY-17 04-MAY-17
10 04-MAY-17 04-MAY-17
11 04-MAY-17 04-MAY-17
12 04-MAY-17 04-MAY-17
13 04-MAY-17 04-MAY-17
14 04-MAY-17 04-MAY-17
15 04-MAY-17 04-MAY-17
16 04-MAY-17 04-MAY-17
17 04-MAY-17 04-MAY-17
SEQUENCE# FIRST_TIM NEXT_TIME
---------- --------- ---------
18 04-MAY-17 04-MAY-17
19 04-MAY-17 04-MAY-17
20 04-MAY-17 04-MAY-17
21 04-MAY-17 04-MAY-17
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29108856/viewspace-2138914/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29108856/viewspace-2138914/