| 环境 | |
|---|---|
| Oracle DB | 11.2.0.4 |
| Linux | ol6.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/备库启到nomountSQL> 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
1618

被折叠的 条评论
为什么被折叠?



