oracle 10g 创建 DATA GUARD
2010-04-21 20:27
381 查看
其实创建dg网络上的文档很多,我是看小布老师是视频学习的
用虚拟机做测试,弄了好几天,下面记录一下曾经做过印象比较深的地方
1.将Primary服务器处于归档模式和Force Logging模式
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE OPEN;
SQL>archive log list
SQL>alter database force logging
2.修改Primary服务器的参数文件
SQL>create pfile from spfile; #
修复生成的pfile文件添加以下内容(成功的例子)
DB_UNIQUE_NAME=uqn_node1
LOG_ARCHIVE_CONFIG='DG_CONFIG=(uqn_node1,uqn_node2)'
LOG_ARCHIVE_DEST_2='SERVICE=lsnode2 LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=uqn_node2'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
FAL_SERVER=lsnode2
FAL_CLIENT=lsnode1
DB_FILE_NAME_CONVERT='172.16.2.200:/u01/app/oracle/oradata/ict','172.16.2.201:/u01/app/oracle/oradata/ict'
LOG_FILE_NAME_CONVERT='172.16.2.200:/u01/app/oracle/oradata/ict','172.16.2.201:/u01/app/oracle/oradata/ict'
STANDBY_FILE_MANAGEMENT=AUTO
然后保存,
3.生成新的Primary服务器参数文件
SQL>stutdown immediate
SQL>create spfile form pfile='/u01/app/oracle/procuct/102/dbs/initict.ora' #执行前删除spfile文件
4.创建standby服务器的控制文件
SQL>startup
SQL>alter database create standby controfile as '/u01/app/oracle/standby.ctl'
5.关闭数据库,复制数据文件 创建的standby服务器的控制文件 Primary的参数文件(用来创建Standby的初始化参数文件) 口令文件(用dbca创建的数据库会自动生成口令文件如:orapwict ,在/u01/app/oracle/product/102/dbs目录下)到对应的目录
6.在Primary服务器和Standby服务器同时配置监听和网络服务名
/u01/app/oracle/product/102/network/admin/listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/102/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ict)
(ORACLE_HOME = /u01/app/oracle/product/102)
(SID_NAME = ict)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = node1)(PORT = 1521))
)
)
/u01/app/oracle/product/102/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/102/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
LSNODE1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.2.200)(PORT = 1521))
)
(CONNECT_DATA =
(SID = ict)
(SERVER = DEDICATED)
)
)
LSNODE2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.2.201)(PORT = 1521))
)
(CONNECT_DATA =
(SID = ict)
(SERVER = DEDICATED)
)
)
7.政策startup启动Primary服务器,下面是启动Standby服务器
SQL>startup mount
SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION #Start Redo Apply
SQL>SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
参考文档:http://download.oracle.com/docs/cd/B19306_01/server.102/b14239/create_ps.htm#i63561
遇到的问题:
1. 用注意/etc/hosts文件
/etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
172.16.2.200 node1
172.16.2.201 node2
并要用命令
shell>hostname
查看是否正确
2.都要启动监听文件
shell>lsnrctl start
正确启动会如下:
shell>lsnrctl status
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 21-APR-2010 00:38:18
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=node1)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 10.2.0.1.0 - Production
Start Date 20-APR-2010 23:56:04
Uptime 0 days 0 hr. 42 min. 13 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/102/network/admin/listener.ora
Listener Log File /u01/app/oracle/product/102/network/log/listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=node1)(PORT=1521)))
Services Summary...
Service "ict" has 1 instance(s).
Instance "ict", status UNKNOWN, has 1 handler(s) for this service...
Service "ictXDB" has 1 instance(s).
Instance "ict", status READY, has 1 handler(s) for this service...
Service "uqn_node1" has 1 instance(s).
Instance "ict", status READY, has 1 handler(s) for this service...
Service "uqn_node1_XPT" has 1 instance(s).
Instance "ict", status READY, has 1 handler(s) for this service...
The command completed successfully
用下面的命令测试彼此间的通信
shell>tnsping 172.16.2.201
tnslsnr tnslsnr0 tnsping tnsping0
[oracle@node1 ict]$ tnsping 172.16.2.201
TNS Ping Utility for Linux: Version 10.2.0.1.0 - Production on 21-APR-2010 00:39:09
Copyright (c) 1997, 2005, Oracle. All rights reserved.
Used parameter files:
Used HOSTNAME adapter to resolve the alias
Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=172.16.2.201))(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.2.201)(PORT=1521)))
OK (20 msec)
用虚拟机做测试,弄了好几天,下面记录一下曾经做过印象比较深的地方
1.将Primary服务器处于归档模式和Force Logging模式
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE OPEN;
SQL>archive log list
SQL>alter database force logging
2.修改Primary服务器的参数文件
SQL>create pfile from spfile; #
修复生成的pfile文件添加以下内容(成功的例子)
DB_UNIQUE_NAME=uqn_node1
LOG_ARCHIVE_CONFIG='DG_CONFIG=(uqn_node1,uqn_node2)'
LOG_ARCHIVE_DEST_2='SERVICE=lsnode2 LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=uqn_node2'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
FAL_SERVER=lsnode2
FAL_CLIENT=lsnode1
DB_FILE_NAME_CONVERT='172.16.2.200:/u01/app/oracle/oradata/ict','172.16.2.201:/u01/app/oracle/oradata/ict'
LOG_FILE_NAME_CONVERT='172.16.2.200:/u01/app/oracle/oradata/ict','172.16.2.201:/u01/app/oracle/oradata/ict'
STANDBY_FILE_MANAGEMENT=AUTO
然后保存,
3.生成新的Primary服务器参数文件
SQL>stutdown immediate
SQL>create spfile form pfile='/u01/app/oracle/procuct/102/dbs/initict.ora' #执行前删除spfile文件
4.创建standby服务器的控制文件
SQL>startup
SQL>alter database create standby controfile as '/u01/app/oracle/standby.ctl'
5.关闭数据库,复制数据文件 创建的standby服务器的控制文件 Primary的参数文件(用来创建Standby的初始化参数文件) 口令文件(用dbca创建的数据库会自动生成口令文件如:orapwict ,在/u01/app/oracle/product/102/dbs目录下)到对应的目录
6.在Primary服务器和Standby服务器同时配置监听和网络服务名
/u01/app/oracle/product/102/network/admin/listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/102/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ict)
(ORACLE_HOME = /u01/app/oracle/product/102)
(SID_NAME = ict)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = node1)(PORT = 1521))
)
)
/u01/app/oracle/product/102/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/102/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
LSNODE1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.2.200)(PORT = 1521))
)
(CONNECT_DATA =
(SID = ict)
(SERVER = DEDICATED)
)
)
LSNODE2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.2.201)(PORT = 1521))
)
(CONNECT_DATA =
(SID = ict)
(SERVER = DEDICATED)
)
)
7.政策startup启动Primary服务器,下面是启动Standby服务器
SQL>startup mount
SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION #Start Redo Apply
在备用数据库,查询V $ ARCHIVED_LOG视图,以确定在现有的归档重做日志文件。
SQL>SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
备用数据库,查询V $ ARCHIVED_LOG视图核实归档重做日志文件的应用
SQL> SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
参考文档:http://download.oracle.com/docs/cd/B19306_01/server.102/b14239/create_ps.htm#i63561
遇到的问题:
1. 用注意/etc/hosts文件
/etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
172.16.2.200 node1
172.16.2.201 node2
并要用命令
shell>hostname
查看是否正确
2.都要启动监听文件
shell>lsnrctl start
正确启动会如下:
shell>lsnrctl status
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 21-APR-2010 00:38:18
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=node1)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 10.2.0.1.0 - Production
Start Date 20-APR-2010 23:56:04
Uptime 0 days 0 hr. 42 min. 13 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/102/network/admin/listener.ora
Listener Log File /u01/app/oracle/product/102/network/log/listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=node1)(PORT=1521)))
Services Summary...
Service "ict" has 1 instance(s).
Instance "ict", status UNKNOWN, has 1 handler(s) for this service...
Service "ictXDB" has 1 instance(s).
Instance "ict", status READY, has 1 handler(s) for this service...
Service "uqn_node1" has 1 instance(s).
Instance "ict", status READY, has 1 handler(s) for this service...
Service "uqn_node1_XPT" has 1 instance(s).
Instance "ict", status READY, has 1 handler(s) for this service...
The command completed successfully
用下面的命令测试彼此间的通信
shell>tnsping 172.16.2.201
tnslsnr tnslsnr0 tnsping tnsping0
[oracle@node1 ict]$ tnsping 172.16.2.201
TNS Ping Utility for Linux: Version 10.2.0.1.0 - Production on 21-APR-2010 00:39:09
Copyright (c) 1997, 2005, Oracle. All rights reserved.
Used parameter files:
Used HOSTNAME adapter to resolve the alias
Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=172.16.2.201))(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.2.201)(PORT=1521)))
OK (20 msec)
相关文章推荐
- oracle 10g 数据库RMAN创建 Data Guard方法
- Oracle 10g创建数据库 用户等基本操作
- Oracle 11g Data Guard 使用duplicate from active database 创建 standby database
- redhat 5配置xmanager(XDM)与oracle 10G for redhat5 创建数据库(dbca)
- ORACLE 10G创建表空间
- Windows Oracle 10G手工创建数据库
- ORACLE 10G创建表空间和创建用户
- oracle 10g 创建HR用户步骤
- Oracle 10g创建表空间,用户,授权,导入导出
- oracle 10g 手动创建scott(tiger)
- 在oracle 10g中创建、删除表空间
- Oracle 10g创建DBLink接连11g问题
- Oracle 10g Admin: Create EM (创建EM)
- oracle 10g 创建和删出表空间,用户,表
- 在 RHEL3 上配置 Oracle 10g Data Guard
- Oracle 10g创建分区表及索引化表
- oracle 10g 数据库与客户端冲突导致实例创建无监听问题
- Oracle 10g 数据库手动创建步骤
- Oracle 10G手工创建数据库(Helloblock写作)
- Oracle 11g Data Guard 使用duplicate from active database 创建 standby database