【dg】RMAN创建最大可用性datagard

RMAN创建最大可用性datagard

主库db_name为testdb,主库不设置db_unique_name,主库数据和online日志路径/orasoft/ora11g/oradata/testdb,备库数据文件路径/orasoft/ora11g/data,online路径/orasoft/ora11g/log,主备的归档日志路径都是/orasoft/ora11g/archivelog

1.  把主库的密码文件拷贝到备库

2.      确保主库force_logging值为yes和log_mod值为archivelog

alter database archivelog;

alter database force logging;

select name,log_mode,force_logging from v$database

3.  配置主备一样的tns文件

testdb =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.98.7.41)(PORT = 1521))

扫描二维码关注公众号,回复: 6524911 查看本文章

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = TESTDB)

     )

  )

testdg =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.98.7.39)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = slave)

    )

  )

4.  主库创建一个pfile文件给备库使用

create pfile='/orasoft/pfile.ora' from spfile;

5.  主库执行rman整库备份

backup database format '/orasoft/full_%U.bak';

6.      主库rman备份standby控制文件

backup current controlfile for standby format '/orasoft/control_%U';

7.      把主库的创建的pfile参数文件和控制文件备份和数据文件备份拷贝到备库,备库存放备份文件的路径和主库一样,都是/orasoft

8.      备库修改拷贝过来的pfile文件,增加下面几项

*.db_unique_name='slave'

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

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

*.remote_login_passwordfile='EXCLUSIVE'

*.fal_client='testdg'

*.fal_server='testdb'

*.db_file_name_convert='/orasoft/ora11g/oradata/testdb','/orasoft/ora11g/data'

*.log_file_name_convert='/orasoft/ora11g/oradata/testdb','/orasoft/ora11g/log'

*.STANDBY_FILE_MANAGEMENT='AUTO'

9.      备库通过修改后的pfile启动到nomount状态

startup  nomount pfile='/orasoft/pfile.ora'

10.  备库rman恢复standby controlfile

restore standby controlfile from '/orasoft/control_09ps9sla_1_1';

11.  备库启动到mount状态

alter database mount;

12.  备库rman恢复数据文件

restore database;

13.  备库创建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;

14.  主库参数调整

alter system set log_archive_dest_2='service=testdg lgwr sync affirm valid_for=(online_logfiles,primary_role) db_unique_name=slave'

alter system set log_archive_config='dg_config=(testdb,slave)'

15.  备库依次执行如下操作

select sequence#,applied from v$archived_log;查看是否主库的归档日志传输过来了

alter database recover managed standby database disconnect from session;应用归档日志

alter database recover managed standby database cancel;

alter database open read only;

alter database recover managed standby database disconnect from session;

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

17.主库调整为最大可用模式,依次执行如下

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

shutdown immediate

startup

18.备库依次执行如下

alter database recover managed standby database cancel;

alter database recover managed standby database disconnect from session;

alter database recover managed standby database cancel;

alter database recover managed standby database using current logfile disconnect from session;

猜你喜欢

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