使用RMAN异机建立Dataguard

来源:互联网 发布:山东邦和康欣淘宝网 编辑:程序博客网 时间:2024/06/08 02:15

1.建立相应目录(备库)

mkdir -p /u01/app/oracle/admin/rac1/adump

mkdir -p /u01/app/oracle/admin/rac1/bdump

mkdir -p /u01/app/oracle/admin/rac1/cdump

mkdir -p /u01/app/oracle/admin/rac1/udump

mkdir -p /u01/app/oracle/oradata/rac1/

mkdir -p /u01/app/oracle/oradata/archivelog/

 

2.创建密码文件(备库)

orapwd file=$ORACLE_HOME/dbs/orapwrac1 password=sysdba entries=10

 

3.创建pfile(备库)

  拷贝pfile到备库的相应目录下,并修正

增加

*.fal_client='standby'
*.fal_server='primary'

*.standby_archive_dest='/oradata/rac1/archivelog'
*.standby_management='AUTO'

*.service_names=rac1
*.local_listener='(ADDRESS_LIST=(Address=(Protocol=TCP)(Host=192.168.1.98)(Port=1521)) (Adress=(Protocol=IPC)(K
ey=rac1)))'

 

总的如下:

rac1.__db_cache_size=180355072
rac1.__java_pool_size=4194304
rac1.__large_pool_size=4194304
rac1.__shared_pool_size=92274688
rac1.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/rac1/adump'
*.background_dump_dest='/u01/app/oracle/admin/rac1/bdump'
*.compatible='10.2.0.1.0'
*.control_files='/u01/app/oracle/oradata/rac1/control01.ctl','/u01/app/oracle/oradata/rac1/control02.ctl','/u01/app/oracle/oradata/rac1/control03.ctl'
*.core_dump_dest='/u01/app/oracle/admin/rac1/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='rac1'
*.fal_client='standby'
*.fal_server='primary'
*.log_archive_dest_1='LOCATION=/u01/app/oracle/oradata/rac1/archive/'
*.log_archive_format='%t_%s_%r.dbf'
*.job_queue_processes=10
*.open_cursors=300
*.pga_aggregate_target=94371840
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=285212672
*.standby_archive_dest='/u01/app/oracle/oradata/rac1/archive'
*.standby_file_management='AUTO'
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/u01/app/oracle/admin/rac1/udump'
*.service_names=rac1
*.local_listener='(ADDRESS_LIST=(Address=(Protocol=TCP)(HOST=192.168.1.89)(Port=1521)) (Address=(Portocol=IPC)(Key=rac1)))'

 主库pfile

rac1.__db_cache_size=180355072
rac1.__java_pool_size=4194304
rac1.__large_pool_size=4194304
rac1.__shared_pool_size=92274688
rac1.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/rac1/adump'
*.background_dump_dest='/u01/app/oracle/admin/rac1/bdump'
*.compatible='10.2.0.1.0'
*.control_files='/u01/app/oracle/oradata/rac1/control01.ctl','/u01/app/oracle/oradata/rac1/control02.ctl','/u01/app/oracle/oradata/rac1/control03.ctl'
*.core_dump_dest='/u01/app/oracle/admin/rac1/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='rac1'
*.job_queue_processes=10
*.log_archive_dest_1='LOCATION=/u01/app/oracle/oradata/rac1/archive'
*.log_archive_dest_2='service=standby'
*.log_archive_format='%t_%s_%r.arc'
*.open_cursors=300
*.pga_aggregate_target=94371840
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=285212672
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/u01/app/oracle/admin/rac1/udump'

4.修改监听

主库 listener.ora


SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
      (PROGRAM = extproc)
    )
   (SID_DESC =
      (GLOBAL_DBNAME = rac1)
      (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
      (SID_NAME = rac1)
    )
   )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.88)(PORT = 1521))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
  )

 

主库tnsnames.ora


 

PRIMARY =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.88)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = rac1)
    )
  )

STANDBY =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.89)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = rac1)
    )
  )

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )

 

备库

listener.ora

SID_LIST_LISTENER =
 (SID_LIST =
  (SID_DESC =
   (SID_NAME = PLSExtProc)
   (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
   (PROGRAM = extproc)
  )
  (SID_DESC =
    (GLOBAL_DBNAME =rac1)
    (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
    (SID_NAME = rac1)
  )
 )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.89)(PORT = 1521))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
  )      

 

tnsnames.ora

standby =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.89)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = rac1)
    )
  )

primary =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.88)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = rac1)
    )
  )


5.利用RMAN备份主库数据库

RMAN> run {
2> allocate channel d1 device type disk;
3> backup as compressed backupset
4> incremental level=0
5> format='/u01/rmanbak/inc0_%d_%U'
6> tag='inc0'
7> channel=d1
8> database;
9> sql "alter system switch logfile";
10> backup as compressed backupset
11> format='/u01/rmanbak/arch_%d_%U'
12> tag='arch'
13> channel=d1
14> archivelog all delete input;
15> backup as compressed backupset
16> format='/u01/rmanbak/standby.ctl'
17> tag='standby'
18> channel=d1
19> current controlfile for standby reuse;
20> }

 

 6.启动备库到nomount状态

     创建spfile

 

7.利用rman连接备库

 

RMAN> connect auxiliary sys/oracle@standby

connected to auxiliary database: RAC1 (not mounted)

 

8.把主库rman备份拷贝到备库的相应目录

9.在主库上恢复数据库

RMAN> run {
2> allocate auxiliary channel d1 device type disk;
3> duplicate target database for standby nofilenamecheck;
4> }

 

10.在主库中进行日志切换,同时查看备库alert_rac1.log

SQL> alter system switch logfile;

 

11.在备库中进行验证

SQL> alter database recover managed standby database disconnect from session;  -----启动redo应用

SQL> alter database recover managed standby database cancel;------自动恢复传过来的log

SQL>recover managed standby database cancel; -----停止恢复


SQL> alter database open read only;

SQL> select * from t11;

 

12.恢复备库接收状态


SQL> startup nomount force;

SQL> alter database mount standby database;

SQL> alter database recover managed standby database disconnect from session;

 

13、简述命令

1、alter database recover managed standby database disconnect from session    -----启动redo应用

 

2、alter database recover managed standby database using current logfile disconnect from session -----启动实时应用

 

3、alter database recover managed standby database cancel    ------停止redo应用

 

 

 

 

 

 

 

 

 

 

 

 

 

 

原创粉丝点击