【dg】LGWR SYNC配置最大性能dataguard(不需要在备库创建standby redo log)

LGWR SYNC配置最大性能dataguard(不需要在备库创建standby redo log

主库确保强制归档

alter database archivelog;

alter database force logging;

select name,log_mode,force_logging from v$database

1:主库创建主备的pfile

create pfile='XX.主’ from spfile;

create pfile='XX.备’ from spfile;

主pfile配置增加下面五项,缺一不可(DG_CONFIG谁在逗号前面,谁在逗号后面不影响,DG_CONFIG值是db_unique_name,service值是tns别名)

*.db_unique_name='master'

*.log_archive_config='DG_CONFIG=(master,slave)'

*.log_archive_dest_1='location=/orasoft/ora11g/archivelog'

*.log_archive_dest_2='service=testdg lgwr sync affirm VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)db_unique_name=slave'

*.remote_login_passwordfile='EXCLUSIVE'

备pfile配置增加下面七项,缺一不可(DG_CONFIG谁在逗号前面,谁在逗号后面不影响,DG_CONFIG值是db_unique_name,service值是tns别名,fal_client和fal_server值是tns别名)

*.db_unique_name='slave'

*.log_archive_config='DG_CONFIG=(master,slave)'

*.log_archive_dest_1='location=/orasoft/ora11g/archivelog'

*.remote_login_passwordfile='EXCLUSIVE'

*.fal_client='testdg'

*.fal_server='testdb'

*.STANDBY_FILE_MANAGEMENT='AUTO'    //缺少这个参数的话,主库新建data_file后备库会报错ORA-01274

2:主库在mount状态下创建备库的crontrol

alter database create standby controlfile as ‘XX’

3:关闭主库,把主库数据文件、密码文件,备库crontrol拷贝到备库(不用从主库拷贝online redo log,因为备库启动的时候会自动创建online redo log)

4:主库pfile启动

5:备库pfile启动到nomount状态,再依次执行下面三条语句

alter database mount standby database;

alter database open read only;

alter database recover managed standby database disconnect from session;

6:备库执行create spfile from pfile   //备库虽然是read only,但是也可以创建

在上面的基础上升级到最大可用模式

1:主库执行alter database set standby database to maximize availability; //之后备库应用完归档日志后也自动变成maximize availability,主库宕机后备库还是maximize availability状态

2:主库执行shutdown immediate并startup

3:备库执行alter database recover managed standby database cancel;

4:备库创建standby redo log

先在主库查询有多少组redo log,有N组redo log就建立N+1组standby log,redo log多大,standby log也建立多大

alter database add standby logfile group 4 '/orasoft/ora11g/log/standby_redo04.log' size 50M,group 5 '/orasoft/ora11g/log/standby_redo05.log' size 50M,group 6 '/orasoft/ora11g/log/standby_redo06.log' size 50M,group 7 '/orasoft/ora11g/log/standby_redo07.log' size 50M;

5:备库执行alter database recover managed standby database disconnect from session;(再应用主库重启时产生的归档日志,主库那刻产生的归档日志可能因为主库重启或备库执行alter database recover managed standby database cancel没有应用到)

6:备库执行alter database recover managed standby database cancel;

7:备库执行alter database recover managed standby database using current logfile disconnect from session;

猜你喜欢

转载自blog.csdn.net/viviliving/article/details/91867514