部署Oracle Data Guard


环境  
Oracle DB11.2.0.4
Linuxol6.5
主库PROD1
备库 PROD2


配置网络(两台都配置)

# vi /etc/hosts
192.168.56.10   prod1.us.oracle.com     prod1
192.168.56.11   prod2.us.oracle.com     prod2

配置监听:

主:

$ vi $ORACLE_HOME/network/admin/listener.ora
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = PROD1)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
      (SID_NAME = PROD1)
    )
  )


LISTENER =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = prod1.us.oracle.com)(PORT = 1521))
  )

$ vi $ORACLE_HOME/network/admin/tnsnames.ora
PROD2 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = prod2.us.oracle.com)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = PROD2)
    )
  )


PROD1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = prod1.us.oracle.com)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = PROD1)
    )
  )
备:
vi $ORACLE_HOME/network/admin/listener.ora
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = PROD2)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
      (SID_NAME = PROD2)
    )
  )

LISTENER =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = prod2.us.oracle.com)(PORT = 1521))
  )

$ORACLE_HOME/network/admin/tnsnames.ora
PROD2 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = prod2.us.oracle.com)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = PROD2)
    )
  )

PROD1 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = prod1.us.oracle.com)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = PROD1)
    )
  )

重启监听(主,备)

$ lsnrctl stop
$ lsnrctl start
$ lsnrctl status

开启归档(主)

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup mount;
ORACLE instance started.

Total System Global Area 1653518336 bytes
Fixed Size		    2253784 bytes
Variable Size		 1006636072 bytes
Database Buffers	  637534208 bytes
Redo Buffers		    7094272 bytes
Database mounted.

SQL> alter database archivelog;

Database altered.

SQL> alter database open;

Database altered.

SQL> archive log list


更改参数文件

SQL> create pfile from spfile;

File created.
增加以下内容(主)

$ vi $ORACLE_HOME/dbs/initPROD1.ora

DB_UNIQUE_NAME=PROD1
LOG_ARCHIVE_CONFIG='DG_CONFIG=(PROD1,PROD2)'
LOG_ARCHIVE_DEST_1=
 'LOCATION=/u01/app/oracle/fast_recovery_area
  VALID_FOR=(ALL_LOGFILES,ALL_ROLES)
  DB_UNIQUE_NAME=PROD1'
LOG_ARCHIVE_DEST_2=
 'SERVICE=PROD2 ASYNC
  VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
  DB_UNIQUE_NAME=PROD2'
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=PROD2
DB_FILE_NAME_CONVERT='PROD2','PROD1'
LOG_FILE_NAME_CONVERT='PROD2','PROD1'
STANDBY_FILE_MANAGEMENT=AUTO
传输参数文件和口令文件到备库并改名
$ scp initPROD1.ora , orapwPROD1 oracle@prod2:$ORACLE_HOME/dbs
oracle@prod2's password: 
initPROD1.ora                                 100% 1469     1.4KB/s   00:00    
,: No such file or directory
orapwPROD1                                    100% 1536     1.5KB/s   00:00    

$ mv initPROD1.ora initPROD2.ora 
$ mv orapwPROD1 orapwPROD2
更改备库参数文件 (备)(提示:添加一下内容并替换所有的PROD1为PROD2,PROD2替换为PROD1,但备库的db_name参数必须和主库的一致)
$ vi $ORACLE_HOME/dbs/initPROD2.ora

DB_UNIQUE_NAME=PROD2
LOG_ARCHIVE_CONFIG='DG_CONFIG=(PROD2,PROD1)'
LOG_ARCHIVE_DEST_1=
 'LOCATION=/u01/app/oracle/fast_recovery_area
  VALID_FOR=(ALL_LOGFILES,ALL_ROLES)
  DB_UNIQUE_NAME=PROD2'
LOG_ARCHIVE_DEST_2=
 'SERVICE=PROD1 ASYNC
  VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
  DB_UNIQUE_NAME=PROD1'
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=PROD1
DB_FILE_NAME_CONVERT='PROD1','PROD2'
LOG_FILE_NAME_CONVERT='PROD1','PROD2'
STANDBY_FILE_MANAGEMENT=AUTO
通过pfile创建spfile并切换到spfile登陆(自行切换不演示)

创建目录(备)

$ mkdir -p /u01/app/oracle/admin/PROD2/adump
$ mkdir -p  /u01/app/oracle/oradata/PROD2/
$ mkdir -p  /u01/app/oracle/fast_recovery_area/PROD2/
备库启到nomount
SQL> startup nomount
登陆rman(主)
$ rman target / auxiliary sys/oracle@PROD2

Recovery Manager: Release 11.2.0.4.0 - Production on Thu Jan 14 00:40:13 2016

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

connected to target database: PROD1 (DBID=2122389989)
connected to auxiliary database: PROD1 (not mounted)
开始复制数据库(主)
RMAN> duplicate target database for standby from active database;

最后,查看数据库状态

SQL> select instance_name,status from gv$instance;

INSTANCE_NAME	 STATUS
---------------- ------------
PROD1		 OPEN


SQL> select instance_name,status from gv$instance;

INSTANCE_NAME	 STATUS
---------------- ------------
PROD2		 MOUNTED









评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值