单机上创建物理DG(Oracle 10g单实例)


一 配置规划 

名 称 IP 监听 端 口 SID db_name db_unique_name service name  
主机

127.0.0.1

Listener1

1521 test1 test1 test1 test1  
备机

127.0.0.1

Listener12

1522 test2 test1 test1 test1  

二 具体步骤

1 主库操作

---确认主库在归档模式

Sql>archive log list

更改:

sql>startup mount

sql>Alter database archive log

---置为FORCE LOGGING 模式

Sql>alter database force logging;

---创建主库密码文件

orapwd file=’D:\Oracle\product\10.2.0\db_1\database\pwdtest1.ora’ password= entries=5

---创建从库控制文件

SQL> alter database create standby controlfile as ' D:\oracle\product\10.2.0\db_1\oradata\test2\control01.ctl ';

---创建主库二进制参数文件

Sql>create pfile=’d:\inittest1.ora’ from spfile;

---更改主库的二进制参数文件

添加

DB_NAME=test1

DB_UNIQUE_NAME=test1

LOG_ARCHIVE_CONFIG='DG_CONFIG=(test1,test2)'

*.compatible='10.2.0.1.0'

*.control_files='D:\oracle\product\10.2.0\oradata\test1\control01.ctl','D:\oracle\product\10.2.0\oradata\test1\control02.ctl','D:\oracle\product\10.2.0\oradata\test1\control03.ctl'

 

LOG_ARCHIVE_DEST_1='LOCATION=D:\oracle\product\10.2.0\oradata\test1\archive1 VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=test1'

#LOG_ARCHIVE_DEST_2='SERVICE=test2 LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=test2'

LOG_ARCHIVE_DEST_2='SERVICE=test2 DB_UNIQUE_NAME=test2'

LOG_ARCHIVE_DEST_STATE_1=ENABLE

LOG_ARCHIVE_DEST_STATE_2=ENABLE

REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE

LOG_ARCHIVE_FORMAT=%t_%s_%r.arc

#LOG_ARCHIVE_MAX_PROCESSES=30

FAL_SERVER=test2

FAL_CLIENT=test1

DB_FILE_NAME_CONVERT='D:\oracle\product\10.2.0\oradata\test2\','D:\oracle\product\10.2.0\oradata\test1\'

LOG_FILE_NAME_CONVERT='D:\oracle\product\10.2.0\oradata\test2\','D:\oracle\product\10.2.0\oradata\test1\'

STANDBY_FILE_MANAGEMENT=AUTO

---用inittest1.ora生成spfiletest1.ora

Sql>shutdown immediate

Sql>startup pfile=’d:\inittest1.ora’

Sql>create spfile=’D:\oracle\product\10.2.0\db_1\dbs\spfiletest1.ora’ from pfile 

2 从库操作

---创建服务

oradim -NEW -SID test2

--- 创建密码文件

orapwd file=‘D:\oracle\product\10.2.0\db_1\database\pwdtest2.ora password= entries=5

----拷贝相关文件

A $ORACLEBASE\oradata\test1\拷贝到$ORACLEBASE\oradata\test\2

日志文件,控制文件,归档文件除外

其中控制文件收主库操作中生成的文件复制成另外两个

B $ORACLEBASE\admin\test1\拷贝到$ORACLEBASE\admin\test2\

----COPY inittest1.ora inittest2.ora

----更改inittest2.ora

DB_NAME=test1

DB_UNIQUE_NAME=test2

LOG_ARCHIVE_CONFIG='DG_CONFIG=(test1,test2)'

*.compatible='10.2.0.1.0'

*.control_files='D:\oracle\product\10.2.0\oradata\test2\control01.ctl','D:\oracle\product\10.2.0\oradata\test2\control02.ctl','D:\oracle\product\10.2.0\oradata\test2\control03.ctl'

 

LOG_ARCHIVE_DEST_1='LOCATION=D:\oracle\product\10.2.0\oradata\test2\archive2 VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=test2'

#LOG_ARCHIVE_DEST_2='SERVICE=test2 LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=test1'

LOG_ARCHIVE_DEST_2='SERVICE=test1 DB_UNIQUE_NAME=test1'

LOG_ARCHIVE_DEST_STATE_1=ENABLE

LOG_ARCHIVE_DEST_STATE_2=ENABLE

REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE

LOG_ARCHIVE_FORMAT=%t_%s_%r.arc

#LOG_ARCHIVE_MAX_PROCESSES=30

FAL_SERVER=test1

FAL_CLIENT=test2

DB_FILE_NAME_CONVERT='D:\oracle\product\10.2.0\oradata\test1\','D:\oracle\product\10.2.0\oradata\test2\'

LOG_FILE_NAME_CONVERT='D:\oracle\product\10.2.0\oradata\test1\','D:\oracle\product\10.2.0\oradata\test2\'

STANDBY_FILE_MANAGEMENT=AUTO

 

3 配置主从监听

LISTENER2 =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.69)(PORT = 1522))

)

 

LISTENER1 =

(DESCRIPTION =

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

)

 

SID_LIST_LISTENER2 =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = test2)

(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)

(SID_NAME = test2)

)

)

 

SID_LIST_LISTENER1 =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = test1)

(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)

(SID_NAME = test1)

)

)

4 配置主从TNSNAMES.ORA

TEST1 =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = ltan.epoa.com)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = test1)

)

)

TEST2 =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = ltan.epoa.com)(PORT = 1522))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = test2)

)

)

 

5 启用redo应用

Sql>startup mount pfile=’d:\inittest2.ora’

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

 

相关内容