oracle11gr2 active data guard,Oracle 11gR2 Active DataGuard配置Step By Step(二)

上篇我们进行了Oracle Dataguard基础配置部分。同RAC相同,Oracle DG很大一部分工作都是真正执行前的准备过程。本篇继续讨论配置项目。

3、Oracle NET配置

Oracle DG是建立在两个核心技术Redo Transfer和Redo Apply的基础上。Redo Transfer是将日志在Primary和Standby传输的技术,其基础就是Oracle Net配置。

Oracle Net三大配置文件:sqlnet.ora、listener.ora和tnsnames.ora分别起到不同的作用。Tnsnames.ora负责记录本地连接名,从primary到standby,从standby到primary,连接都是从tnsnames.ora进行配置。

所以在Primary和Standby端,都要进行互联配置。

[oracle@SimpleLinux admin]$ ls -l

total 24

-rw-r--r--. 1 oracle oinstall345 Apr 13 12:59 listener14041312PM5921.bak

-rw-r--r--. 1 oracle oinstall345 Apr1 13:19 listener.ora

-rw-r--r--. 1 oracle oinstall345 Apr1 13:10 listener.ora.bk

drwxr-xr-x. 2 oracle oinstall 4096 Apr1 12:27 samples

-rw-r--r--. 1 oracle oinstall381 Dec 172012 shrept.lst

-rw-r--r--. 1 oracle oinstall502 Apr 13 13:00 tnsnames.ora

[oracle@SimpleLinux admin]$ cat tnsnames.ora

# tnsnames.ora Network Configuration File: /u01/app/oracle/network/admin/tnsnames.ora

# Generated by Oracle configuration tools.

ORA11GSY=

(DESCRIPTION =

(ADDRESS_LIST =

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

)

(CONNECT_DATA =

(SERVICE_NAME = ora11gsy)

)

)

ORA11G=

(DESCRIPTION =

(ADDRESS_LIST =

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

)

(CONNECT_DATA =

(SERVICE_NAME = ora11g)

)

)

之后,listener.ora是负责监听器行为的。监听器动作分为动态注册和静态注册两种方式,理论上只要实例启动(Pmon出现),动态注册动作就会出现。我们就可以在监听器状态中查看到注册信息。

但是,有一个问题需要注意,我们进行duplicate和Redo Transfer的时候,连接都是需要无条件的。当实例在nomount状态时,动态监听状态是restricted限制态,连接是有限制的。所以,就存在一个矛盾。解决这个问题方法,就是放弃动态注册,对Primary和Standby都采用静态注册。

[oracle@SimpleLinux admin]$ cat listener.ora

# listener.ora Network Configuration File: /u01/app/oracle/network/admin/listener.ora

# Generated by Oracle configuration tools.

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

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

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

)

)

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = ora11g)

(ORACLE_HOME = /u01/app/oracle)

(PROGRAM = extproc)

(GLOBAL_DBNAME = ora11g)

)

(SID_DESC =

(SID_NAME = ora11gsy)

(ORACLE_HOME = /u01/app/oracle)

(GLOBAL_DBNAME = ora11gsy)

)

)

ADR_BASE_LISTENER = /u01/app

监听器启动之后,状态unknown注册信息。

[oracle@SimpleLinux admin]$ lsnrctl start

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 13-APR-2014 13:03:52

Copyright (c) 1991, 2013, Oracle.All rights reserved.

(篇幅原因,有省略……)

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=SimpleLinux)(PORT=1521)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

Services Summary...

Service "ora11g" has 1 instance(s).

Instance "ora11g", status UNKNOWN, has 1 handler(s) for this service...

Service "ora11gsy" has 1 instance(s).

Instance "ora11gsy", status UNKNOWN, has 1 handler(s) for this service...

The command completed successfully

4、密码文件设置

Oracle DG设置有一个要求,就是管理密码(如sys)一致性。在Primary和Standby端,管理密码一定要求是一样的。这个密码的作用在于传递Redo Log过程中进行验证。

在安装DG的时候,比较好一种方法是拷贝Primary库到Standby。

[oracle@SimpleLinux dbs]$ ls -l

total 20

-rw-rw----. 1 oracle oinstall 1544 Apr 13 12:40 hc_ora11g.dat

-rw-r--r--. 1 oracle oinstall 2851 May 152009 init.ora

-rw-r-----. 1 oracle oinstall24 Apr1 12:39 lkORA11G

-rw-r-----. 1 oracle oinstall 1536 Apr1 12:45 orapwora11g

-rw-r-----. 1 oracle oinstall 3584 Apr 13 13:00 spfileora11g.ora

[oracle@SimpleLinux dbs]$ cp orapwora11g orapwora11gsy

[oracle@SimpleLinux dbs]$ ls -l | grep orapw

-rw-r-----. 1 oracle oinstall 1536 Apr1 12:45 orapwora11g

-rw-r-----. 1 oracle oinstall 1536 Apr 13 13:10 orapwora11gsy

5、目录创建

在standby端,我们需要创建一些基本目录。这个时候,可以参考Primary库的参数文件项目,略加修改就可以确定完整的目录列表。

[oracle@SimpleLinux dbs]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.4.0 Production on Sun Apr 13 13:11:29 2014

Copyright (c) 1982, 2013, Oracle.All rights reserved.

SQL> conn / as sysdba

Connected.

SQL> create pfile from spfile;

File created.

文本格式的参数文件。

[oracle@SimpleLinux dbs]$ cat initora11g.ora

*.audit_file_dest='/u01/app/admin/ora11g/adump'

*.audit_trail='db'

*.compatible='11.2.0.4.0'

*.control_files='/u01/app/oradata/ORA11G/controlfile/o1_mf_9mnjwpko_.ctl','/u01/app/fast_recovery_area/ORA11G/controlfile/o1_mf_9mnjwpw2_.ctl'

*.db_block_size=8192

*.db_create_file_dest='/u01/app/oradata'

*.db_domain=''

*.db_file_name_convert='ORA11G','ORA11GSY'

*.db_name='ora11g'

*.db_recovery_file_dest='/u01/app/fast_recovery_area'

*.db_recovery_file_dest_size=10485760000

*.diagnostic_dest='/u01/app'

*.dispatchers='(PROTOCOL=TCP) (SERVICE=ora11gXDB)'

*.log_archive_config='DG_CONFIG=(ora11g,ora11gsy)'

*.log_archive_dest_2='SERVICE=ora11gsy valid_for=(online_logfiles,primary_role) db_unique_name=ora11gsy'

*.log_archive_dest_state_2='ENABLE'

*.log_file_name_convert='ORA11G','ORA11GSY'

*.memory_target=373293056

*.open_cursors=300

*.processes=150

*.remote_login_passwordfile='EXCLUSIVE'

*.standby_file_management='AUTO'

*.undo_tablespace='UNDOTBS1'

创建目录:

[oracle@SimpleLinux dbs]$ mkdir -p /u01/app/admin/ora11gsy/adump

[oracle@SimpleLinux dbs]$ mkdir -p /u01/app/oradata/ORA11GSY/controlfile/

[oracle@SimpleLinux dbs]$ mkdir -p /u01/app/fast_recovery_area/ORA11GSY/controlfile/

[oracle@SimpleLinux dbs]$ mkdir -p /u01/app/oradata/ORA11GSY/onlinelog/

[oracle@SimpleLinux dbs]$ mkdir -p /u01/app/fast_recovery_area/ORA11GSY/onlinelog/

[oracle@SimpleLinux dbs]$ mkdir -p /u01/app/oradata/ORA11GSY/datafile/

6、启动standby实例

理论上,有参数文件就可以将数据库实例启动到nomount上。我们创建一个简单的参数文件即可。

注意:启动实例名称是通过环境变量ORACLE_SID来定位。

[oracle@SimpleLinux dbs]$ cat initora11gsy.ora

db_name=ora11gsy

[oracle@SimpleLinux dbs]$ export ORACLE_SID=ora11gsy

指定pfile启动standby实例到nomount。

[oracle@SimpleLinux dbs]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.4.0 Production on Sun Apr 13 13:22:33 2014

Copyright (c) 1982, 2013, Oracle.All rights reserved.

SQL> conn / as sysdba

Connected to an idle instance.

SQL> startup nomount pfile=initora11gsy.ora

ORACLE instance started.

Total System Global Area150654976 bytes

Fixed Size1363216 bytes

Variable Size96469744 bytes

Database Buffers50331648 bytes

Redo Buffers2490368 bytes

确定实例进程pmon启动。

[oracle@SimpleLinux dbs]$ ps -ef | grep pmon

oracle169210 12:38 ?00:00:01 ora_pmon_ora11g

oracle256710 13:26 ?00:00:00 ora_pmon_ora11gsy

oracle261424040 13:27 pts/000:00:00 grep pmon

下面,就可以通过RMAN开始duplicate standby过程了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值