一:实验环境介绍
***鉴于生产环境均采用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 5(64位)
数据库版本: Oracle 11gR2 11.2.0.3 (64位)
基础要求:(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
ORACLE DataGuard环境搭建详细步骤(新方法)
最新推荐文章于 2021-03-12 09:54:11 发布
本文详细介绍了Oracle DataGuard环境的搭建过程,包括设置步骤和新方法,为数据库高可用性和灾难恢复提供指导。
摘要由CSDN通过智能技术生成