数据库读写分离解决方案--DG实施方案 下载本文

Oracle Data Guard实施方案

3. Dataguard 实施前提条件和注意事项:

? 灾备环境中的所有节点必须安装相同的操作系统,尽可能令详细补丁也保持相

同。

? 灾备环境中的所有节点必须安装完全相同版本的Oracle数据库软件,包括版本

号和发布号,比如必须都是Oracle 11.2.0.1 ? 主库必须处于归档(ARCHIVELOG)模式。 ? 灾备环境中所有节点的硬件和操作系统架构必须相同 ? 主库可以是单实例,也可以是RAC。

? 主节点和备用节点之间的硬件配置可以不同,比如CPU数量,内存数量,存

储的配置等等。

? 配置灾备环境的数据库用户必须具有SYSDBA权限。

Oracle Data Guard实施方案

4. Oracle软件安装

1. 要实施DataGurad的前,需要在主机RedHat-Primary和备机RedHat-Standby上进行

ORACLE软件的基础安装。

2. 备机基础软件的安装有两种方式供选择:

1) 源始安装介质安装

采用ORACLE数据库安装介质进行软件安装。 2) “克隆”主站源数据库

分别对主站源数据库进行tar压缩并FTP/rcp至备机上,然后展开压缩文件。

? 通常出于便捷的原因,备机的Oracle初始建立可采用上述的第二种方式。测试环境中直接对虚拟机进行了拷贝,因此相当于采用了第二种方式。现场环境下,如果主节点不是RAC环境,也可以采用第二种方式。

4.1 环境配置

RedHat5-Primary (primary , IP 192.168.204.131)以下简称主库

Single Instance Primary IP Oracle Instance Data,Control File,Redo File

说明 192.168.204.131 单实例 ORCL $ORACLE_BASE/oradata RedHat5-Standby (standby, IP 192.168.204.132) ,以下简称从库。 Single Instance Standby IP Oracle Instance Data,Control File,Redo File

说明 192.168.204.132 单实例 ORCL $ORACLE_BASE/oradata Oracle Data Guard实施方案

4.2 系统硬件环境检查

4.2.1 检查内存相关项

检查服务器的内存,可以通过下列命令:

[root@localhost ~]# grep MemTotal /proc/meminfo

另外与内存相关的swap 交换分区的设置也很重要,通常有下列的规则:

实际内存 建议swap 交换空间大小

-------------- -----------------------------

1G-2G 1.5 倍于内存 2G-16G 与内存相同

超过16G 设置为16G 即可

查看当前服务器swap 交换分区大小,可以通过下列命令: [root@localhost ~]# grep SwapTotal /proc/meminfo

查看系统当前共享内存,可以通过df 命令,例如: [root@localhost ~]# df -h /dev/shm

4.2.2 查看系统架构

本步用来查看处理器的架构类型,需要确认ORACLE 安装包与处理器架构相符,不然安装时必然报错。查看当前系统的处理器架构可以通过下列命令: [root@localhost ~]# uname –m i686

4.2.3 检查磁盘空闲空间

首先/tmp 至少要有1g 的空闲空间,查看/tmp 的磁盘空间,也可以通过df 命令查看,例如:

[root@localhost ~]# df -h /tmp

在执行安装之前,建议执行df -h 命令,查看当前是否有充裕的空闲空间来安装和创建数据库。

[root@jssnode1 ~]# df –h

Oracle Data Guard实施方案

4.3 安装操作系统软件包

? (32位 RedHat5.4)

binutils-2.17.50.0.6

compat-libstdc++-33-3.2.3 elfutils-libelf-0.125

elfutils-libelf-devel-0.125

elfutils-libelf-devel-static-0.125 gcc-4.1.2 gcc-c++-4.1.2 glibc-2.5-24

glibc-common-2.5 glibc-devel-2.5 ksh-20060214 libaio-0.3.106

libaio-devel-0.3.106 libgcc-4.1.2 libgomp-4.1.2 libstdc++-4.1.2

libstdc++-devel-4.1.2 make-3.81 sysstat-7.0.2

查看软件包是否已经安装:

[root@localhost ~]# rpm -aq binutils compat-libstdc++-33 [root@localhost ~]# rpm -aq | grep elfutils-libelf [root@localhost ~]# rpm -aq | grep gcc [root@localhost ~]# rpm -aq | grep glibc [root@localhost ~]# rpm -aq | grep ksh [root@localhost ~]# rpm -aq | grep libaio [root@localhost ~]# rpm -aq | grep libgcc [root@localhost ~]# rpm -aq | grep libgomp [root@localhost ~]# rpm -aq | grep libstdc++ [root@localhost ~]# rpm -aq | grep make-3 [root@localhost ~]# rpm -aq | grep sysstat [root@localhost ~]# rpm -aq | grep unixODBC

通过以上命令来查看是否有未安装的软件包,可将未安装的软件包放到~/rpm下,因有些包会相互依赖,最简单的方式是将rpm包下的软件包一起安装: [root@localhost ~]#cd rpm [root@localhost rpm]#pwd /root/rpm

[root@localhost rpm]#ls

compat-libstdc++-33-3.2.3-61.i386.rpm elfutils-libelf-devel-0.137-3.el5.i386.rpm

elfutils-libelf-devel-static-0.137-3.el5.i386.rpm gcc-4.1.2-46.el5.i386.rpm gcc-c++-4.1.2-46.el5.i386.rpm glibc-devel-2.5-42.i386.rpm glibc-headers-2.5-42.i386.rpm

kernel-headers-2.6.18-164.el5.i386.rpm libaio-devel-0.3.106-3.2.i386.rpm libgomp-4.4.0-6.el5.i386.rpm

libstdc++-devel-4.1.2-46.el5.i386.rpm sysstat-7.0.2-3.el5.i386.rpm unixODBC-2.2.11-7.1.i386.rpm

unixODBC-devel-2.2.11-7.1.i386.rpm