背景
主备库均为Aix操作系统
数据库版本为11gR2
主库已搭建完成,这里主要是备库的搭建和配置
由于字数限制,Oracle Goldengate搭建分为上、下两部分,本文是上半部分
第一章:环境要求
1、操作系统版本与主库一致(不必完全一致,基本相同即可)
主库:
uname -a AIX hlsthxffdb01 1 7 00F955C04C00 显示系统名称(AIX)、节点名称(nlthxffdb01)、版本(7.1)、计算机ID(00F955C04C00) |
备库:
uname -a AIX hunands 1 7 00F7E1D84C00 |
2、分发库和副本库端口能互通(21 22 端口测通)
因为主库需要往备库传送归档文件,这就要求主库到备库网络端口畅通
telnet ip 21/22 如果测试不通应协调相关人员进行开通进行开通。 |
3、查看主库数据文件大小,预估备份集大小,主库和备库保证有足够的空间存放备份文件
备份集大小大约=数据文件大小 * 0.11
预留备份空间大小=数据文件大小 * 0.11 * 2
查看数据文件大小的两种方法:
1)asm存储 su - grid asmcmd lsdg 2)通过数据库查询 sqlplus / as sysdba select name,total_mb-free_mb from V$asm_diskgroup; select sum(bytes)/1024/1024/1024 from dba_segments; |
检查主库磁盘空间大小
df -g |
第二章:备份前的准备工作(主库执行)
1、关闭主库库删除归档的定时任务
备库adg搭建完成后,主库的归档文件会传送到备库,并被备库所应用,因此主库备份点以后的归档文件是必须的
2、联系主库负责人不要删除归档,并通知其协调其他备份厂商不要删除备份,并且不要更改备份策略。
如果有足够空间,可以将归档文件自行进行备份。
3、查看并修改备份策略。
rman target / RMAN> show all; --查看rman备份策略(第三行) CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default -->1代表只保留一份归档,若主库已经备份了一份归档,再次备份会覆盖上一次的归档 --修改rman备份策略 CONFIGURE RETENTION POLICY TO REDUNDANCY 3; # default -->3代表保留三分归档 --查看rman备份介质 CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default;-->此此处若为tape(磁带),则改为disk(磁盘) --修改rman备份介质CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default; |
第三章:备份传输(主库执行)
1、创建备份目录,更改权限
su - root cd /backup -->该目录要求容量大小合适,放得下备份文件,多大才算放的下呢?-->查看数据量在最上面 mkdir rman chown -R oracle:oinstall /backup/rman chmod -R 777 rman |
2、编辑备份脚本(不备份归档日志)
脚本中环境变量的内容要参考主库环境变量
vi /backup/rman/rman.sh #!/bin/ksh umask 022 export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 ORACLE_UNQNAME=sxlthxff export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH export PS1=`hostname`:'$PWD'"$" export ORACLE_SID=sxlthxff1 rman target / log=/backup/rman/rman_backup_`date +%Y%m%d`.log <<EOF -->存放备份log的目录,自己选 run { allocate channel ch1 type disk maxpiecesize =20480M; allocate channel ch2 type disk maxpiecesize =20480M; allocate channel ch3 type disk maxpiecesize =20480M; allocate channel ch4 type disk maxpiecesize =20480M; allocate channel ch5 type disk maxpiecesize =20480M; allocate channel ch6 type disk maxpiecesize =20480M; allocate channel ch7 type disk maxpiecesize =20480M; allocate channel ch8 type disk maxpiecesize =20480M; allocate channel ch9 type disk maxpiecesize =20480M; allocate channel ch10 type disk maxpiecesize =20480M; backup AS COMPRESSED BACKUPSET database filesperset 10 format '/backup/rman/%d_DF_%T_%s_%p.bak'; -->数据文件的存放目录和命名格式 backup format '/backup/rman/ctrl_st' current controlfile for standby; -->控制文件的存放目录和命名格式 release channel ch1; release channel ch2; release channel ch3; release channel ch4; release channel ch5; release channel ch6; release channel ch7; release channel ch8; release channel ch9; release channel ch10; } exit EOF |
3、主库执行备份脚本
给脚本添加执行权限:
chmod +x /backup/rman/rman.sh |
后台运行备份脚本:
nohup /backup/rman/rman.sh >/backup/u01/rman.log& |
查看备份日志:
cd /backup/rman/ tail -f /backup/rman/rman_backup_*.log 检查日志中是否存在error |
4、传输备份到备库
su - root cd /u01 mkdir rman chmod -R 777 rman scp /backup/rman/* 100.12.98.118:/u01/rman 注:备份文件较多,传输时开多个窗口并行传输以加快速度 |
第四章:主机检查(备库执行)
1、操作系统检查,看主备库是否一致
xmgsfbk[/u01/sw/patch]# oslevel -s 7100-03-05-1524 7100-03-05-1524 |
2、cpu核心数检查
lsdev -C | grep proc | wc -l --> 2 |
3、检查内存、SWAP、/TMP空间大小
计算机内存检查:
/usr/sbin/lsattr -HE -l sys0 -a realmem --> attribute value description user_settable realmem 12582912 Amount of usable physical memory in Kbytes False |
计算机swap分区大小:
/usr/sbin/lsps -a Page Space Physical Volume Volume Group Size %Used Active Auto Type Chksum hd6 hdisk0 rootvg 16384MB 1 yes yes lv 0 |
tmp目录空间大小:
df -g /tmp Filesystem GB blocks Free %Used Iused %Iused Mounted on /dev/hd3 10.00 9.77 3% 144 1% /tmp |
4、检查系统安装包-->会提示有一个包没安装,可忽略
lslpp -l bos.adt.base bos.adt.lib bos.adt.libm bos.perf.libperfstat \ bos.perf.perfstat bos.perf.proctools rsct.basic.rte rsct.compat.clients.rte \ xlC.aix61.rte gpfs.base |
5、检查已安装的系统补丁
xmgsfbk[/u01/sw/patch]# /usr/sbin/instfix -i -k "IZ87216 IZ87564 IZ89165 IZ97035" All filesets for IZ87216 were found. All filesets for IZ87564 were found. All filesets for IZ89165 were found. All filesets for IZ97035 were found. |
6、检查内核参数
vmo -L minperm% vmo -L maxperm% vmo -L maxclient% vmo -L strict_maxclient vmo -L strict_maxperm 如参数不合适修改命令为: vmo -p -o minperm%=3 vmo -p -o maxperm%=90 vmo -p -o maxclient%=90 vmo -p -o strict_maxclient=1 vmo -p -o strict_maxperm=0 |
7、检查网络参数
no -a | fgrep rfc1323 no -a | fgrep ipqmaxlen no -a | fgrep sb_max no -a | fgrep tcp_recvspace no -a | fgrep tcp_sendspace no -a | fgrep udp_recvspace no -a | fgrep udp_sendspace no -a | fgrep ephemeral |
如参数不合适修改命令为:
no -r -o rfc1323=1 no -r -o ipqmaxlen=512 no -p -o sb_max=4194304 no -p -o tcp_recvspace=1048576 no -p -o tcp_sendspace=1048576 no -p -o udp_recvspace=262144 no -p -o udp_sendspace=262144 # /usr/sbin/no -p -o tcp_ephemeral_low=9000 -o tcp_ephemeral_high=65500 # /usr/sbin/no -p -o udp_ephemeral_low=9000 -o udp_ephemeral_high=65500 |
8、检查&修改内核参数
lsattr -E -l sys0 -a ncargs lsattr -E -l sys0 -a maxuproc 注:lsattr命令可显示设备属性;-E显示当前有效值,从用户定义数据库读取;-l <设备>逻辑设备名;-a <属性值> |
如参数不合适修改命令为:
chdev -l sys0 -a ncargs=256 chdev -l sys0 -a maxuproc=16384 |
重启服务器使参数生效后,重新检查第六步以后的参数。
重启命令为:reboot
第五章:数据库软件安装(备库执行)
1 、创建用户组和用户
mkgroup -'A' id='501' adms='root' oinstall mkgroup -'A' id='502' adms='root' asmadmin mkgroup -'A' id='503' adms='root' asmdba mkgroup -'A' id='504' adms='root' asmoper mkgroup -'A' id='505' adms='root' dba mkuser id='502' pgrp='oinstall' groups='dba,asmdba' home='/home/oracle' fsize=-1 cpu=-1 data=-1 rss=-1 stack=-1 stack_hard=-1 capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE oracle passwd oracle Changing password for "oracle" oracle's New password: -->设为oracle123 Enter the new password again: |
2、创建目录
**介质存放目录**
mkdir -p /u01/sw/db -->oracle软件安装包 mkdir -p /u01/sw/psu -->补丁包 mkdir -p /u01/sw/patch -->补丁工具包 mkdir -p /u01/sw/rpm -->rpm包,一般为空 chmod -R 777 /u01/sw |
***Oracle inventory 目录***
mkdir -p /u01/app/oraInventory -->是和oracle base平级的目录,用于保存本机上安装的oracle软件的目录清单;本机上安装的所有oracle都共享该目录 chown -R oracle:oinstall /u01/app/oraInventory chmod -R 775 /u01/app/oraInventory |
***Oracle Base 目录***
mkdir -p /u01/app/oracle -->oracle软件安装的最顶层目录,该目录下可以安装多个版本的oracle软件 mkdir /u01/app/oracle/cfgtoollogs chown -R oracle:oinstall /u01/app/oracle chmod -R 775 /u01/app/oracle |
***Oracle Rdbms Home 目录***
mkdir -p /u01/app/oracle/product/11.2.0/db_1 -->与product平级的目录有:sdmin/cfgtoollogs/checkpoints/diag和product目录 chown -R oracle:oinstall /u01/app/oracle/product/11.2.0/db_1 chmod -R 775 /u01/app/oracle/product/11.2.0/db_1 |
3、检查创建的用户
# id oracle uid=502(oracle) gid=501(oinstall) groups=503(asmdba),505(dba) |
4、检查权限
# lsuser -a capabilities oracle oracle capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE |
5、设置oracle用户的环境变量 -->由主库复制而来
vi .profile PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:. export PATH umask 022 export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss" export ORACLE_SID=xmsthxff export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:/home/oracle/ggs:$PATH export PS1=`hostname`:'$PWD'"$" |
6、检查图形界面是否可以启动 -->一般选用第二种方法,需安装vnc
第一种调用图形方法:
xmanage 启动 Xmanager - Passive su - oracle --export DISPLAY=100.12.56.114:0.0 export DISPLAY=100.12.56.128:0.0 测试 xclock |
第二种调图形方法
1.将RPM包传到/tmp下 scp /tmpvnc-3.3.3r2-6.aix5.1.ppc.rpm oracle@99.12.100.252:tmp -->将vnc的安装包从青海地税scp过来 2.安装RPM包(root用户?):rpm -ivh vnc-3.3.3r2-6.aix5.1.ppc.rpm 3.输入vncserver设置密码 -->需输入两次 123456 123456 4.将客户端安装到window桌面 -->window上也许安装vnc 5.打开window客户端的vnc登录。 注:Linux和Unix的vnc是不一样的 |
7、确定数据库版本,根据数据库版本传输相应的介质 -->根据主库而定,在sqlplus链接数据库时 ,会显示数据库版本
需要传输的文件有: -->若分发库为40,就传40,若分发库为30,就找30的来传,宁夏可能是30
数据库介质压缩包:
/u01/sw/db/p13390677_112040_AIX64-5L_1of7.zip
/u01/sw/db/p13390677_112040_AIX64-5L_2of7.zip
解压文件:
/u01/sw/unzip
打补丁工具压缩包:
/u01/sw/patch/p6880880_112000_AIX64-5L.zip
补丁包:
/u01/sw/psu/p18706488_11203011_AIX64-5L.zip
如果数据库版本为:11.2.0.3.0都去上海税务副本库去取ip为:99.12.100.197
8、解压数据库安装包
su - root chmod 775 /u01/sw/db/unzip su - oracle cd /u01/sw/db/ unzip p13390677_112040_AIX64-5L_1of7.zip -->默认解压到当前目录,解压后才能安装 unzip p13390677_112040_AIX64-5L_2of7.zip |
9、安装数据库软件 -->在VNC打开的图形界面上执行
cd /u01/sw/db/database 启动图形界面:在图形界面下执行。 ./runInstaller |
10、安装打补丁工具
su - oracle cd /u01/sw/patch/ unzip p6880880_112000_Linux-x86-64.zip -d $ORACLE_HOME -->解压到ORACLE_HOME/下 |
11、打补丁
cd /u01/sw/psu/ 解压补丁包: unzip p18706488_11203011_AIX64-5L.zip 修改打补丁工具的权限: chmod 777 $ORACLE_HOME/OPatch/opatch 打补丁: $ORACLE_HOME/OPatch/opatch napply -oh $ORACLE_HOME -local /u01/sw/psu/18522512/18522512 |
12、执行图形界面出现的两个脚本:
su - root sh /u01/app/oraInventory/orainstRoot.sh sh /u01/app/oracle/product/11.2.0/db_1/root.sh 点击图形界面的ok |
13、检验软件是否安装成功:
sqlpplus / as sysdba -->如果成功登陆证明安装成功。