您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > DataGuard环境搭建详细步骤(新方法)
一:实验环境介绍***鉴于生产环境均采用64位系统和数据库软件,本实验也将采用这个标准***采用vmwareworkstation10(版本随意,我用的10)虚拟机软件作为安装平台对于真机的要求:CPU:INTEL:COREI3级别或以上(推荐)AMD:4核心CPU或以上(推荐)内存:建议4G以上系统:WIN7/864位/WINDOWSSERVER2003/200864位硬盘:虚拟机所在分区剩余空间50G以上,固态硬盘最好虚拟机系统:OracleEnterpriseLinux5update5(64位)数据库版本:Oracle11gR211.2.0.3(64位)基础要求:(1)安装两台虚拟机分别作为主库和备库,硬盘大小随意。但要保证根分区有20G,别给太小了就行。物理内存1G,SWAP2G关于Activedatabaseduplication方式:(必看)在Oracle10g下,我们可以使用RMANduplicate命令创建一个具有不同DBID的复制库。到了Oracle11gR2,RMAN的duplicate有2种方法实现:1.Activedatabaseduplication(本文所使用的方式,适用于11gR2之后的版本)2.Backup-basedduplication(传统方式,10g,11g通用)Activedatabaseduplication通过网络,直接copytarget库到auxiliary库,然后创建复制库。这种方法就不需要先用RMAN备份数据库,然后将备份文件发送到auxiliary端。这个功能的作用是非常大的。尤其是对T级别的库。因为对这样的库进行备份,然后将备份集发送到备库,在进行duplicate的代价是非常大的。一备份要占用时间,二要占用备份空间,三在网络传送的时候,还需要占用带宽和时间。所以Activedatabaseduplicate很好的解决了以上的问题。它对大库的迁移非常有用。如果是从RACduplicate到单实例,操作是一样的。如果是从单实例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.compri备库IP:192.168.1.102备库主机名:std.cty.comstd2.装包yuminstallcompat-libstdc++-33kshgccgcc-c++libgompelfutils-libelf-develglibc-develglibc-headerslibaio-devellibstdc++-develsysstatunixODBCunixODBC-devel-y3.查看共享内存大小,要求最低为1GB#df-h/dev/shmFilesystemSizeUsedAvailUse%Mountedontmpfs506M0506M0%/dev/shm发现不够,修改#vim/etc/fstab如图,在tmpfs那一行的defaults后面加上,size=1024m保存退出后重新挂载:#mount-oremount/dev/shm再次查看共享内存:#df-h/dev/shmFilesystemSizeUsedAvailUse%Mountedontmpfs1.0G01.0G0%/dev/shm修改成功4.创建相关的组与用户:groupaddoinstallgroupadddbagroupaddoperuseradd-goinstall-Gdba,operoraclepasswdoracle5.创建所需的目录并赋予特定的属主和属组mkdir/u01/app/oracle-pvchownoracle.oinstall/u01-R建议:最好为单独分一个区,然后将u01挂载到该分区上(可不做,看情况)6.编辑limits.conf文件vim/etc/security/limits.conf添加下面5行内容:oraclesoftnproc2047oraclehardnproc16384oraclesoftnofile1024oraclehardnofile65536oraclesoftstack102407.编辑sysctl.conf文件,设置相关参数vim/etc/sysctl.conf添加/修改下列内容:(注意!下面的参数,若是已经存在,则直接修改数值,不要再添加同样的参数,相同的参数只能有一个!如果需要修改的参数已经大于下面的数字,则不用修改,请仔细核对!)kernel.shmall=2097152kernel.shmmax=536870912kernel.shmmni=4096kernel.sem=25032000100128fs.file-max=6815744fs.aio-max-nr=1048576net.ipv4.ip_local_port_range=900065500net.core.rmem_default=262144net.core.rmem_max=4194304net.core.wmem_default=262144net.core.wmem_max=1048576保存退出后,别忘了用sysctl-p命令使参数生效!8.编辑vim/home/oracle/.bash_profile文件,配置相关环境变量添加下列几行:exportTMP=/tmpexportTMPDIR=/tmpexportORACLE_BASE=/u01/app/oracleexportORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1exportORACLE_SID=pri(备库端设置为std)exportPATH=$ORACLE_HOME/bin:$PATH至此,安装环境相关配置结束。三:开始安装oracle11g数据库软件(主库和备库端都要做下列操作)1.挂载oracle11g的镜像到/mnt/cdrom目录下,并把3个包解压到/usr/local/src目录下cd/mnt/cdrom/unzipp10404530_112030_LINUX_1of7.zip-d/usr/local/srcunzipp10404530_112030_LINUX_2of7.zip-d/usr/local/srcunzipp10404530_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建库操作,推荐不要启用归档模式,会节省时间,备库端不要建库!四:开始搭建Dataguard1:将数据库改为强制日志模式(此步骤只在主库上做)[oracle@pri~]$sqlplus/assysdba查看当前是否强制日志模式:SYS@priselectname,log_mode,force_loggingfromv$database;NAMELOG_MODEFOR------------------------PRINOARCHIVELOGNOSYS@prialterdatabaseforcelogging;Databasealtered.SYS@priselectname,log_mode,force_loggingfromv$database;NAMELOG_MODEFOR------------------------PRINOARCHIVELOGYES2:创建密码文件(此步骤只在主库上做)注意:两端分别创建自己的密码文件好像有问题,备库的密码文件需要跟主库一致,否则导致日志传输不到备库,有待验证。我最后是将主库的密码文件直接copy到备库,重命名后使用。[oracle@pri~]$cd$ORACLE_HOME/dbs[oracle@pridbs]$lshc_racdb1.datinit.orainitracdb1.oraorapwpri已经有一个密码文件了[oracle@pridbs]$orapwdfile=orapwpripassword=oracleforce=y这条命令可以手动生成密码文件,force=y的意思是强制覆盖当前已有的密码文件[oracle@pridbs]$lshc_pri.datinit.orainitpri.oralkPRIorapwprispfilepri.ora将主库的密码文件copy给备库,并重命名[oracle@pridbs]$scporapwpri192.168.1.102:$ORACLE_HOME/dbs/orapwstdorapwpri100%15361.5KB/s00:003:创建standbyredolog日志组(此步骤只在主库上做)原则:1:standbyredolog的文件大小与primary数据库onlineredolog文件大小相同2:standbyredolog日志文件组的个数依照下面的原则进行计算:Standbyredolog组数公式=(每个instance日志组个数+1)*instance个数假如只有一个节点,这个节点有三组redolog,所以Standbyredolog组数=(3+1)*1==4所以至少需要创建4组Standbyredolog查看当前线程与日志组的对应关系及日志组的大小:SYS@priselectthread#,group#,bytes/1024/1024fromv$log;THREAD#GROUP#BYTES/1024/1024----------------------------------------------------115012501350如上,我现在的环境有三组redolog,每个日志组的大小都是50M,所以Standbyredolog组数=(3+1)*1==4所以至少需要创建4组Standbyredolog,大小均为50M(thread:线程,只有在多实例数据库才有用的参数,例如RAC环境,单实例不考虑)查看当前有哪些日志组及其成员:SYS@pricolmemberfora50SYS@priselectgroup#,memberfromv$logfile;GROUP#MEMBER------------------------------------------------------------3/u01/app/oracle/oradata/pri/redo03.log2/u01/app/oracle/oradata/pri/redo02.log1/u01/app/oracle/oradata/pri/redo01.log先手动创建standbylog日志组所需的目录:(创建新目录只是为了便于区分,并非必须)[oracle@pridbs]$cd/u01/app/oracle/oradata/[oracle@prioradata]$lspri[oracle@prioradata]$mkdirstandbylog[oracle@prioradata]$lspristandbylog新建4个日志组作为standbyredolog日志组,大小与原来
本文标题:DataGuard环境搭建详细步骤(新方法)
链接地址:https://www.777doc.com/doc-4455054 .html