背景
主备库均为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 <存放备份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 -->如果成功登陆证明安装成功。