1.主库与备库除了db_name一样,其他name都不一样
2.备库上面export ORACLE_SID=orcldg
3.lisitener添加静态监听
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=orcldg) ---对应SERVICE_NAME(show parameter service)
(SID_NAME=orcldg) ---对应export ORACLE_SID=orcldg
(ORACLE_HOME=/u01/oracle/product/11.2.0.4)
)
)
tns:
ORCLDG =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.13)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcldg)
)
)
4.口令文件,如果从主库拷贝过去有问题, 可以给备库创建一个
orapw file=orapworcl password=xmly#2024
orapw file=orapworcldg password=xmly#2024
sqlplus sys/xmly#2024@orcl as sysdba
sqlplus sys/xmly#2024@orcldg as sysdba
rman target sys/xmly#2024@orcl
rman target sys/xmly#2024@orcldg
先测试是否可以正常连接
5.duplicate 会把standby redo也拷贝过去
rman target sys/orcl@primary auxiliary sys/orcl@standby nocatalog
duplicate target database for standby from active database nofilenamecheck dorecover;
alter database recover managed standby database cancel;
alter database recover managed standby database using current logfile disconnect from session;
select * from v$logfile;
alter database drop standby logfile group 21;
alter database drop standby logfile group 22;
alter database drop standby logfile group 23;
alter database drop standby logfile group 24;
alter database drop standby logfile group 25;
alter database drop standby logfile group 26;
alter database drop standby logfile group 27;
alter database drop standby logfile group 28;
alter database add standby logfile group 21 '/data/app/oracle/sredo21' size 1024m;
增加standby redo log比redolog多一个
select name from v$datafile;
select name from v$datafile_header;
备库通过服务名拉取主库的数据:
restore standby controlfile from service 'orcl';
alter database mount;
restore database from service 'orcl';
recover database from service 'orcl' noredo;
dataguard两边的db_name是一样的,只有db_unique_name不一致
在备库上面创建完数据库,将.dbf和redo日志删掉,然后再恢复主库的数据。
查看gap:
select name,value,time_computed from v$dataguard_stats where name like '%lag%'
standby redo必须和redo大小一致才行,否则会报ora-01110
SELECT GROUP#, BYTES/1024/1024 M FROM V$LOG;
SELECT GROUP#, BYTES/1024/1024 M FROM V$STANDBY_LOG;
alter database drop standby logfile group 4;
alter database drop standby logfile group 5;
alter database drop standby logfile group 6;
alter database drop standby logfile group 7;
ALTER DATABASE ADD STANDBY LOGFILE ('xxxxxxx') SIZE 500M;
standby redo:
增加standby redo log比redolog多一个
standby redo,备库在应用日志的时候,它会读取standby
redo里面的内容,然后在数据库里面应用。主库创建standby redo只是创建了,它其实没有用,只有备库才会用。除非主备切换了,主库角色发生变化了才会用。
当standby redo和redo log大小不一致时,将主备库的standby删掉,然后创建新的(物理的standby redo需要自己删掉),然后备库上面,将mrp进程关掉,重新recover database from service 'orcl'; 然后再将mrp进程打开
alter system set log_archive_dest_state_2=defer;
alter system set log_archive_dest_state_2=enable;
主备切换:
1.primary:
select switchover_status from v$database;
2.primary shutdown node2 and start database to mount
3.priamry to standby
alter database commit to switchover to physical standby with session shutdown wait;
4.standby:
select switchover_status from v$database;
5.standby to primary:
alter database commit to switchover to primary;
6.alter database open;
7.primary start recive log
recover managed standby database disconnect from session using current logfile;
主库pfile文件:
orcl.__data_transfer_cache_size=0
orcl.__db_cache_size=33017561088
orcl.__inmemory_ext_roarea=0
orcl.__inmemory_ext_rwarea=0
orcl.__java_pool_size=1879048192
orcl.__large_pool_size=4563402752
orcl.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=15837691904
orcl.__sga_target=47513075712
orcl.__shared_io_pool_size=536870912
orcl.__shared_pool_size=6710886400
orcl.__streams_pool_size=536870912
*._b_tree_bitmap_plans=FALSE
*._optimizer_cartesian_enabled=FALSE
*._optimizer_group_by_placement=FALSE
*.optimizer_skip_scan_enabled=FALSE
*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'
*.audit_trail='NONE'
*.compatible='12.2.0'
*.control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/oradata/orcl/control02.ctl'
*.db_block_size=8192
*.db_file_name_convert='/u01/app/oracle/oradata/orcl','/u01/app/oracle/oradata/orcl'
*.db_name='orcl'
*.db_unique_name='oracle_p'
*.deferred_segment_creation=FALSE
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.enable_ddl_logging=TRUE
*.event='10949 trace name context forever, level 1'
*.fal_client='oracle_p'
*.fal_server='oracle_s'
*.local_listener='LISTENER_ORCL'
*.log_archive_config='dg_config=(oracle_p,oracle_s)'
*.log_archive_dest_1='location=/u01/arch valid_for=(all_logfiles,all_roles) db_unique_name=oracle_p'
*.log_archive_dest_2='service=oracle_s LGWR affirm SYNC valid_for=(online_logfiles, primary_role) db_unique_name=oracle_s'
*.log_archive_dest_state_1='enable'
*.log_archive_dest_state_2='ENABLE'
*.log_archive_format='%%ORACLE_SID%%T%TS%S%R.ARC'
*.log_file_name_convert='/u01/app/oracle/oradata/orcl','/u01/app/oracle/oradata/orcl'
*.nls_language='SIMPLIFIED CHINESE'
*.nls_territory='CHINA'
*.open_cursors=300
*.optimizer_adaptive_plans=FALSE
*.optimizer_adaptive_statistics=FALSE
*.optimizer_dynamic_sampling=2
*.pga_aggregate_target=15104m
*.processes=6000
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_max_size=75161927680
*.sga_target=45309m
*.standby_file_management='auto'
*.temp_undo_enabled=TRUE
*.undo_retention=10800
*.undo_tablespace='UNDOTBS1'
从库pfile文件:
orcl.__data_transfer_cache_size=0
orcl.__db_cache_size=37849399296
orcl.__inmemory_ext_roarea=0
orcl.__inmemory_ext_rwarea=0
orcl.__java_pool_size=939524096
orcl.__large_pool_size=4429185024
orcl.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=15971909632
orcl.__sga_target=47915728896
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=4563402752
orcl._streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'
*.audit_trail='db'
*.compatible='12.2.0'
*.control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/oradata/orcl/control02.ctl'#Restore Controlfile
*.db_block_size=8192
*.db_file_name_convert='/u01/app/oracle/oradata/orcl','/u01/app/oracle/oradata/orcl'
*.db_name='orcl'
*.db_unique_name='oracle_s'
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.fal_client='oracle_s'
*.fal_server='oracle_p'
*.local_listener='LISTENER_ORCL'
*.log_archive_config='dg_config=(oracle_p,oracle_s)'
*.log_archive_dest_1='location=/u01/arch valid_for=(all_logfiles,all_roles) db_unique_name=oracle_s'
*.log_archive_dest_2='service=oracle_p LGWR affirm SYNC valid_for=(online_logfiles, primary_role) db_unique_name=oracle_p'
*.log_archive_dest_state_1='enable'
*.log_archive_dest_state_2='enable'
*.log_archive_format='%%ORACLE_SID%%T%TS%S%R.ARC'
*.log_file_name_convert='/u01/app/oracle/oradata/orcl','/u01/app/oracle/oradata/orcl'
*.nls_language='SIMPLIFIED CHINESE'
*.nls_territory='CHINA'
*.open_cursors=300
*.pga_aggregate_target=15208m
*.processes=5120
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=45622m
*.standby_file_management='AUTO'
*.undo_tablespace='UNDOTBS1'