单实例RMAN 创建DG

环境rhel5.5  主服务器  备服务器
 IP          192.168.80.123  192.168.80.123
 实例名  ENMOEDU  ADMIN
 netname  ENMOEDU   ADMIN
 DB_UNIQUE_NAME  ENMOEDU  ADMIN

 

搭建过程
1.在备用服务器装好oracle软件,不创建数据库
2.在主备服务器/etc/hosts中配置好机器名
3.在主库和备库端都配置好监听,并使用tnsping测试连通性
4.在主库和备库服务器上修改tnsname.ora文件,添加以下内容(两台机器都要配)

ENMOEDU =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ENMOEDU )(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ENMOEDU)
    )
  ) 
 
ADMIN =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST =ADMIN )(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ADMIN )
    )
  )

5、没有配置数据库的机器上一定要设置环境变量 .bash_profile
6.将主库启动open状态,创建standby log 文件 (日志组的个数和member要对应  并且组数要比redo的多一组)
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database add standby logfile 
      
group 4('/u01/app/oracle/oradata/ENMOEDU/redo04a.log','/u01/app/oracle/oradata/ENMOEDU/redo04b.log','/u01/app/oracle/oradata/ENMOEDU/redo04c.log') size 50m,
        group 5('/u01/app/oracle/oradata/ENMOEDU/redo05a.log','/u01/app/oracle/oradata/ENMOEDU/redo05b.log','/u01/app/oracle/oradata/ENMOEDU/redo05c.log') size 50m,       
       group 6('/u01/app/oracle/oradata/ENMOEDU/redo06a.log','/u01/app/oracle/oradata/ENMOEDU/redo06b.log','/u01/app/oracle/oradata/ENMOEDU/redo06c.log') size 50m,
        group 7('/u01/app/oracle/oradata/ENMOEDU/redo04a.log','/u01/app/oracle/oradata/ENMOEDU/redo04b.log','/u01/app/oracle/oradata/ENMOEDU/redo04c.log') size 50m;
7、改变主备库参数文件(本例中显示的参数文件只是主库的,做修改时一定要注意文件路径是否真实存在)
ENMOEDU.__db_cache_size=293601280
ENMOEDU.__java_pool_size=4194304
ENMOEDU.__large_pool_size=25165824
ENMOEDU.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
ENMOEDU.__pga_aggregate_target=293601280
ENMOEDU.__sga_target=549453824
ENMOEDU.__shared_io_pool_size=0
ENMOEDU.__shared_pool_size=209715200
ENMOEDU.__streams_pool_size=4194304
*.audit_file_dest='/u01/app/oracle/admin/ENMOEDU/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/u01/app/oracle/oradata/ENMOEDU/control01.ctl','/u01/app/oracle/fast_recovery_area/ENMOEDU/control02.ctl','/u01/app/oracle/oradata/ENMOEDU/control03.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_files=500
*.db_name='ENMOEDU'
*.db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=4322230272
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (dispatchers=3)(session=100)'
*.job_queue_processes=500
*.max_dispatchers=5
*.max_shared_servers=10
*.open_cursors=300
*.processes=500
*.remote_login_passwordfile='EXCLUSIVE'
*.shared_servers=5
*.undo_tablespace='UNDOTBS1'

DB_NAME=ENMOEDU
DB_UNIQUE_NAME=ENMOEDU
LOG_ARCHIVE_CONFIG='DG_CONFIG=(ENMOEDU,ADMIN)'
LOG_ARCHIVE_DEST_1=
 'LOCATION=USE_DB_RECOVERY_FILE_DEST
  VALID_FOR=(ALL_LOGFILES,ALL_ROLES)
  DB_UNIQUE_NAME=ENMOEDU'
LOG_ARCHIVE_DEST_2=
 'SERVICE=ADMIN ASYNC
  VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
  DB_UNIQUE_NAME=ADMIN'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
LOG_ARCHIVE_FORMAT=%t_%s_%r.arc


FAL_SERVER=ADMIN
DB_FILE_NAME_CONVERT='ADMIN','ENMOEDU'
LOG_FILE_NAME_CONVERT='ADMIN','ENMOEDU'
STANDBY_FILE_MANAGEMENT=AUTO

8、把主库的口令文件通过scp命令传到备库中并改成备库的实例名字
9、在备库用修改的参数文件启动备库到nomount
 create spfile from pfile
在备库上执行

rman target sys/oracle@ENMOEDU auxiliary sys/oracle@ADMIN

DUPLICATE TARGET DATABASE FOR STANDBY   FROM  active database   dorecover   nofilenamecheck;
10、 Duplicate  完成后Stan dby库已经处于正常的Mount状态.应打开Recover
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

11、在主库端执行归档命令
SQL> alter system archive log current;
完整备份至DUPLICATE期间产生的archive log  只要没有删除,在dg配好以后
主库端第一次归档时,将会把这期间产生的archive log 一并生成到备库端
 
12.分别在主备库上看当前已归档日志以及日志应用情况
SQL> select sequence#,first_time,next_time,applied from v$archived_log order by sequence#;
 
13.在备库创建standby log 文件
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
以上方法需要重启数据库

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
使用RMAN可以不需要重启数据库 只需把主库添加参数的时候改用在SQLPLUS中用alter命令就可以实现:更改命令如下
用alter system set 改下列参数 并且scope=spfile

DB_NAME=ENMOEDU
DB_UNIQUE_NAME=ENMOEDU
LOG_ARCHIVE_CONFIG='DG_CONFIG=(ENMOEDU,ADMIN)'
LOG_ARCHIVE_DEST_1=
 'LOCATION=USE_DB_RECOVERY_FILE_DEST
  VALID_FOR=(ALL_LOGFILES,ALL_ROLES)
  DB_UNIQUE_NAME=ENMOEDU'
LOG_ARCHIVE_DEST_2=
 'SERVICE=ADMIN ASYNC
  VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
  DB_UNIQUE_NAME=ADMIN'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
LOG_ARCHIVE_FORMAT=%t_%s_%r.arc


FAL_SERVER=ADMIN
STANDBY_FILE_MANAGEMENT=AUTO
在备库上启动RMAN

rman target sys/oracle@ENMOEDU auxiliary sys/oracle@ADMIN

DUPLICATE TARGET DATABASE
FOR STANDBY  
FROM  active database  
dorecover  
nofilenamecheck;

ALTER DATABASE RECOVER MANAGED STAND

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30166976/viewspace-1697839/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30166976/viewspace-1697839/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值