ORACLE DataGuard环境搭建详细步骤(新方法)

本文详细介绍了Oracle DataGuard环境的搭建过程,包括设置步骤和新方法,为数据库高可用性和灾难恢复提供指导。
摘要由CSDN通过智能技术生成
一:实验环境介绍
***鉴于生产环境均采用64位系统和数据库软件,本实验也将采用这个标准***

采用vmware workstation 10(版本随意,我用的10)虚拟机软件作为安装平台

对于真机的要求:CPU:INTEL:CORE I3级别或以上(推荐)
					  AMD :4核心CPU或以上(推荐)
				内存:建议4G以上
				系统:WIN7 /8 64/WINDOWS SERVER 2003/2008 64位
				硬盘:虚拟机所在分区剩余空间50G以上,固态硬盘最好

虚拟机系统:	Oracle Enterprise Linux 5 update 564位)
数据库版本:	Oracle 11gR2 11.2.0.364位)

基础要求:(1)安装两台虚拟机分别作为主库和备库,硬盘大小随意。但要保证
根分区有20G,别给太小了就行。物理内存1G,SWAP 2G
        
关于Active database duplication方式:(必看)
在Oracle 10g下,我们可以使用RMAN duplicate 命令创建一个具有不同DBID 的复制库。 到了Oracle 11gR2, RMAN 的duplicate 有2种方法实现:
    1. Active database duplication	(本文所使用的方式,适用于11gR2之后的版本)
    2. Backup-based duplication		(传统方式,10g,11g通用)

    Active database duplication 通过网络,直接copy target 库到auxiliary 库,然后创建复制库。这种方法就不需要先用RMAN 备份数据库,然后将备份文件发送到auxiliary端。
    这个功能的作用是非常大的。 尤其是对T级别的库。 因为对这样的库进行备份,然后将备份集发送到备库,在进行duplicate 的代价是非常大的。 一备份要占用时间,二要占用备份空间,三在网络传送的时候,还需要占用带宽和时间。所以Active database duplicate 很好的解决了以上的问题。 它对大库的迁移非常有用。
    如果是从RAC duplicate 到单实例,操作是一样的。 如果是从单实例duplicate 到RAC。 那么先duplicate 到 单实例。 然后将单实例转换成RAC。


二:安装数据库软件前的系统配置		(主库和备库端都要做下列操作)
1.基本配置:
一定要用新装的系统(这里以红帽企业版5.5为例),系统要求最低配置1G内存,2Gswap分区,根分区20G以上,装好系统后先配置好yum,IP地址,/etc/sysconfig/network文件中的主机名,以及/etc/hosts文件中的IP地址和主机名的对应关系。

主库IP:192.168.1.101	
主库主机名:pri.cty.com	pri
备库IP:192.168.1.102
备库主机名:std.cty.com	std

2.装包
yum install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers ksh kernel-headers libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel -y

3.查看共享内存大小,要求最低为1GB
# df -h /dev/shm
Filesystem            Size  Used  Avail  Use%  Mounted on
tmpfs                506M    0  506M   0%  /dev/shm
发现不够,修改
# vim /etc/fstab    在tmpfs那一行的defaults后面加上,size=1024m
 
保存退出后重新挂载:
# mount -o remount /dev/shm
再次查看共享内存:
# df -h /dev/shm
Filesystem            Size  Used  Avail  Use%  Mounted on
tmpfs                1.0G     0  1.0G    0%  /dev/shm
修改成功

4.创建相关的组与用户:
groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba,oper oracle
passwd oracle


5.创建所需的目录并赋予特定的属主和属组
mkdir /u01/app/oracle -pv
chown oracle.oinstall /u01 -R
建议:最好为单独分一个区,然后将u01挂载到该分区上(可不做,看情况)

6.编辑limits.conf 文件
vim /etc/security/limits.conf
添加下面5行内容:
oracle          soft    nproc   2047
oracle          hard    nproc   16384
oracle          soft    nofile  1024
oracle          hard    nofile  65536
oracle          soft    stack   10240

7.编辑sysctl.conf文件,设置相关参数
vim /etc/sysctl.conf
添加/修改下列内容:(注意!下面的参数,若是已经存在,则直接修改数值,不要再添加同样的参数,相同的参数只能有一个!如果需要修改的参数已经大于下面的数字,则不用修改,请仔细核对!)
kernel.shmall = 2097152 
kernel.shmmax = 536870912 
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
保存退出后,别忘了用sysctl -p命令使参数生效!

8.编辑vim /home/oracle/.bash_profile文件,配置相关环境变量
添加下列几行:
export TMP=/tmp	
export TMPDIR=/tmp
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export ORACLE_SID=pri	(备库端设置为std)
export PATH=$ORACLE_HOME/bin:$PATH
至此,安装环境相关配置结束。

三:开始安装oracle11g数据库软件		(主库和备库端都要做下列操作)
1.挂载oracle11g的镜像到/mnt/cdrom 目录下,并把3个包解压到/usr/local/src 目录下
cd /mnt/cdrom/
unzip p10404530_112030_LINUX_1of7.zip -d /usr/local/src
unzip p10404530_112030_LINUX_2of7.zip -d /usr/local/src
unzip p10404530_112030_LINUX_3of7.zip -d /usr/local/src
(只装数据库的话,解压前两个包即可,第三个包是grid)
2. root身份执行xhost +,然后切换到oracle用户进入/usr/local/src/database目录中,执行runInstaller 开始安装  (database是默认解压完的目录名)
# xhost + 
# su - oracle
$ ./runInstaller          
注意:安装oracle11g要求分辨率最低为1024x768,不然无法完整显示安装过程

安装过程:略
注意:主库在安装完软件后需要进行DBCA建库操作,推荐不要启用归档模式,会节省时间,备库端不要建库!


四:开始搭建Dataguard

1:将数据库改为强制日志模式			(此步骤只在主库上做)
[oracle@pri ~]$ sqlplus / as sysdba

查看当前是否强制日志模式:
SYS@pri> select name,log_mode,force_logging from v$database;	

NAME            LOG_MODE     FOR
--------- 		------------ ---
PRI    		    NOARCHIVELOG NO

SYS@pri> alter database force logging;

Database altered.

SYS@pri> select name,log_mode,force_logging from v$database;

NAME            LOG_MODE     FOR
--------- 		------------ ---
PRI    		    NOARCHIVELOG YES


2:创建密码文件(此步骤只在主库上做)
注意:两端分别创建自己的密码文件好像有问题,备库的密码文件需要跟主库一致,否则导致日志传输不到备库,有待验证。我最后是将主库的密码文件直接copy到备库,重命名后使用。
[oracle@pri ~]$ cd $ORACLE_HOME/dbs
[oracle@pri dbs]$ ls
hc_racdb1.dat  init.ora  initracdb1.ora  orapwpri	已经有一个密码文件了
[oracle@pri dbs]$ orapwd file=orapwpri password
  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DataGiant

您的鼓励是对我最大的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值