工体翻斗乐还营业吗:oracle 10g r2 for aix 6.1
Oracle 10g r2 racfor aix 6.1
Create by bluesshadow 2011-1-31
一.安装前准备
1.1检查硬件是否满足需求
1.2检查系统包和补丁是否满足需求
1.3建立oracle用户/组/目录
1.4调试内核和系统参数
1.5建立节点信任关系
1.6配置NTP时间同步
1.7磁盘配置
1.8用户环境变量配置
二.Oracle安装
2.1 crs安装
2.2 crs升级
2.3数据库软件安装
2.4数据库软件升级
2.5建立监听
2.6建立ASM实例和磁盘组
2.7建立数据库
三.数据库安装后续设置
3.1本地LISTENER配置
3.2 RAC下修改归档模式
四.删除CRS和数据库软件
一.安装前准备
1.1检查硬件
查看系统是否满足需求:
#uname
查看版本
#oslevel–s #两个节点版本号需完全一致
查看硬盘大小
#lscfg–vp|grep hdisk #这个只能看本地盘大小,不能看到存储划过来的盘的大小
#bootinfo-s diskn #可以看到所有盘(包括存储盘)的大小
查看内存大小
# /usr/sbin/lsattr -E -l sys0 -a realmem
查看交换分区
# /usr/sbin/lsps –a
修改交换分区
一般来说系统安装好后交换分区默认是512M,而小机一般实际内存为16G或者32G,或者更多,可根据实际情况确定交换分区的大小,并做修改
修改方法如下:
查询磁盘PP值:
#lsvg rootvg
算出增加交换空间的值A
(总交换空间大小-当前交换空间大小)/PP=A
#smitty chpsà回车à选择:number of additional logical partitionsà输入值:Aà回车à显示成功后退出
再次查看交接空间,确认修改成功:
#/usr/sbin/lsps-a
查看TMP目录大小,不能小于400M
df-g /tmp
查看系统架构,oracle 10g rac要求为64位,如果不是64位,需要修改为64位
# /usr/bin/getconf HARDWARE_BITMODE
扩rootvg下的lv:操作系统安装时默认的系统lv很小,可根据实际情况来扩rootvg下的lv
#chfs-a size=xxG /xxx
例如:原来/tmp空间为1G,现在扩为4G
#chfs–a size=4G /tmp
查看lv信息
#df–g
如果要单独划挂载ORACLE目录来存放oracle软件,需新增加lv或者文件系统(建议),如果oracle软件存放在系统默认的目录下,比如/opt目录下,这一步可以不做
例子:挂一个空间为30G的文件系统,挂载点为:/oracle
#smittyàsystem storage managementàfile systemàadd/change/show/delete file systemàenhanced journaled file systemàadd enhanced journaled file systemàrootvgà输入单位数量:62914560,输入挂载点:/oracle,将光标移到:mount automatically at system restartàF4选择:yesà回车à回车
注:aix默认单位数量为512 byte,这里30G算出来的单位为:62914560
确认新建成功:
#df–g
1.2检查软件补丁包
系统文件包:
JDK 1.4.2 (64-bit)
#lslpp-l bos.adt.base bos.adt.lib bos.adt.libm bos.perf.perfstat \
bos.perf.libperfstat bos.perf.proctools xlC.rte xlC.aix61.rte rsct.basic.rte \
rsct.compat.clients.rte
如果有的包没安装,需要安装盘,将没安装的包重新安装上
查看oracle所需AIX要打补丁集是否已经打上:
#/usr/sbin/instfix-ik "IZ10223 "
如果补丁没打,需打上
1.3建oracle用户和组
需要建的组:oinstall,dba
需要建的用户:oracle
查看用户和组:
#lsgroup-a id oinstall,dba
#lsuser-a id oracle
建oinstall组
#smit securityàgroupà添加组à设置组名和组ID:oinstall,301à回车à确认成功退出
或者:
#mkgroup-A "id=301" oinstall
建dba组
#smit securityàgroupà添加组à设置组名和组ID:dba,302à回车à确认成功退出
或者:
#mkgroup-A "id=302" dba
建ORACLE用户
#smit securityàuserà添加组à设置用户名和用户ID,用户主组,用户附属组以及用户home目录:username:oracle,userid:301,primary group:oinstall,group set:dba,home directory:/home/oracleà回车à确认成功退出
或者:
#useradd-u 301 -g oinstall -G dba -d '/oracle' oracle
修改oracle用户密码:
#passwd oracle
(注:确保两个节点的gid,uid必须相同)
查看用户信息:
#id oracle
#id nobody
(注:如果nobody不存在,必须创建)
确定root和oracle用户拥有以下能力,如果没有需添加:
CAP_PROPAGATE,CAP_BYPASS_RAC_VMM,CAP_NUMA_ATTACH
查看:
#lsuser oracle
#lsuser root
为用户添加以下能力:
#/usr/bin/chuser capabilities=CAP_PROPAGATE,CAP_BYPASS_RAC_VMM,CAP_NUMA_ATTACH oracle
#/usr/bin/chuser capabilities=CAP_PROPAGATE,CAP_BYPASS_RAC_VMM,CAP_NUMA_ATTACH root
建ORACLE目录
mkdir-p /oracle/product/10.2.0/db_1
mkdir-p /oracle/product/10.2.0/crs
chown-R oracle:oinstall /oracle
chmod-R 755 /oracle
1.4内核参数调试
查看用户限制
#ulimit–a
#cat /etc/security/limits
修改用户限制:
#chuser fsize=-1 oracle
#chuser stack=-1 oracle
#chuser rss=-1 oracle
#chuser core=-1 oracle
#chuserdata=-1 oracle
#chuser nofiles=-1 oracle
#chuser fsize=-1 root
#chuser stack=-1 root
#chuser rss=-1 root
#chuser core=-1 root
#chuser data=-1 root
#chuser nofiles=-1 oracle
修改系统配置参数:maxuproc
#chdev-l sys0 -a maxuproc='16384' 注:oracle官方给出参考值为:2048
修改内核参数脚本(修改后需重启系统才能生效):
#vmo-p -o maxperm%=90;
#vmo-p -o minperm%=3 need nextboot
#vmo-p -o maxclient%=90
#vmo-p -o strict_maxperm=0
#vmo-p -o strict_maxclient=1
#vmo-p -o lru_file_repage=0 need nextboot
#vmo-r -o page_steal_method=1 need nextboot
(need to reboot to take into effect)
网络参数配置
#no-a|more 查看
查看系统是否运行在兼容模式下:
#/usr/sbin/lsattr-El sys0 -a pre520tune
如果系统运行在兼容模式下,使用下面命令修改:
# /usr/sbin/no -o parameter_name=value
For example:
# /usr/sbin/no -o udp_recvspace=655360
如果系统运行在非兼容模式下,使用下面命令修改:
/usr/sbin/no-r -o ipqmaxlen=512
Other parameter:
/usr/sbin/no-p -o parameter=value
参数修改脚本:
/usr/sbin/no-r -o ipqmaxlen=512
/usr/sbin/no-p -o rfc1323=1
/usr/sbin/no-p -o sb_max=1310720
/usr/sbin/no-p -o tcp_sendspace=65536
/usr/sbin/no-p -o tcp_recvspace=65536
/usr/sbin/no-p -o udp_sendspace=65536
/usr/sbin/no-p -o udp_recvspace=655360
检查网络设置
#cat /etc/netsvc.conf | grep hosts
查看主机名
#hostname
查看域名
#domainname
查看hosts配置
#cat /etc/hosts
192.168.100.41 node1
192.168.100.42 node2
192.168.100.43 node1-vip
192.168.100.44 node2-vip
192.168.1.1 node1-priv
192.168.1.2 node2-priv
1.5配置节点信任关系
配置节点信任有两种方式,可以任选一种
一种用.rhosts
一种用ssh
Rhosts配置:
在root和oracle用户的主目录下修改或者新建.rhosts文件,内容如下:
root用户:
node1 root
node2 root
node1-vip root
node2-vip root
node1-priv root
node2-priv root
oracle用户:
node1 oracle
node2 oracle
node1-vip oracle
node2-vip oracle
node1-priv oracle
node2-priv oracle
完成后使用rlogin,rsh进行测试
#rlogin node2
#rsh node2 date
…….
配置SSH等效
用oracle用户登录
mkdir ~/.ssh
chmod 700 ~/.ssh
/usr/bin/ssh-keygen-t rsa
/usr/bin/ssh-keygen-t dsa
touch ~/.ssh/authorized_keys
cd ~/.ssh
ls
cat /oracle/.ssh/id_rsa.pub >> authorized_keys
cat id_dsa.pub >>authorized_keys
cat id_rsa.pub >>authorized_keys
#scp oracle@node2:/home/oracle/.ssh/authorized_keys /home/oracle/.ssh/authorized_keys2
scp oracle@node1:/home/oracle/.ssh/authorized_keys /home/oracle/.ssh/authorized_keys1
cat authorized_keys1 >>authorized_keys
cat authorized_keys2 >>authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
打开ssh等效性
exec /usr/bin/ssh-agent $SHELL
/usr/bin/ssh-add
设置DISPLAY
$ export DISPLAY=hostname(ip):0.0
验证ssh等效性
$ssh nodename1 date
$ ssh nodename2 date
1.6配置ntp
#vi /etc/ntp.conf
server192.168.100.7
1.7配置磁盘
配置磁盘
使用ASM
EMC多路径需修改:
将reserver_lock值修改为no
/usr/sbin/chdev-l hdiskpowern -a reserve_lock=no
ESS, HDS, CLARiiON, and MPIO-capable devices:
需修改下列存储参数:
将reserve_policy值修改为no_reserve
/usr/sbin/chdev-l hdisk2 -a reserve_policy=no_reserve #ocr盘
/usr/sbin/chdev-l hdisk3 -a reserve_policy=no_reserve #voting disk盘
/usr/sbin/chdev-l hdisk4 -a reserve_policy=no_reserve
/usr/sbin/chdev-l hdisk5 -a reserve_policy=no_reserve
/usr/sbin/chdev-l hdisk6 -a reserve_policy=no_reserve
/usr/sbin/chdev-l hdisk7 -a reserve_policy=no_reserve
……
设置存储磁盘权限
# /usr/sbin/lsdev -Cc disk
使用祼盘做CRS盘:
chown root:dba /dev/rhdisk2(ocr disk)
chown oracle:dba /dev/rhdisk3(ocr disk)
chown oracle:dba /dev/rhdisk4
chown oracle:dba /dev/rhdisk5
chown oracle:dba /dev/rhdisk6
chown oracle:dba /dev/rhdisk7
……
chmod 640 /dev/rhdisk2 (ocr disk)
chmod 660 /dev/rhdisk3 (voting disk)
chmod 660 /dev/rhdisk4
chmod 660 /dev/rhdisk5
chmod 660 /dev/rhdisk6
chmod 660 /dev/rhdisk7
……
使用祼设备做CRS盘:
ls-alF /dev/*hdisk2
ls-alF /dev/*hdisk3
#mknod /dev/ora_ocr_raw c 24 7 #24为磁盘路径的主号,7为磁盘路径的从号
#chown root:oinstall /dev/ora_ocr_raw
# chmod 640 /dev/ora_ocr_raw
#mknod /dev/ora_vote_raw c 24 11
# chown oracle:dba /dev/ora_vote_raw
# chmod 660 /dev/ora_vote_raw
1.8用户环境变量设置:
cat .profile
export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export CRS_HOME=$ORACLE_BASE/product/10.2.0/crs
export ORACLE_SID=db1
export TEMP=/tmp
export TMP=/tmp
export TMPDIR=/tmp
export PATH=$PATH:$ORACLE_HOME/bin:$CRS_HOME/bin
export AIXTHREAD_SCOPE=S
umask 022
export DISPLAY=192.168.100.95:0.0
export LIBPATH=$ORACLE_HOME/lib:$CRS_HOME/install/prepatch10204/lib32/
if [ -t 0 ]; then
stty intr ^C
fi
注:以上所有操作都必须在两个节点上执行
二.ORACLE安装
2.1CRS安装
1.以root用户在两个节点上运行rootpre.sh,在安装前必须运行这个脚本
注:补丁p6718715需在metalink上下载
su- root
unzip p6718715_10203_AIX64-5L.zip
# chmod 755 *
# ./rootpre.sh
2.在一个节点上执行安装:
登录到节点1,切换到oracle用户,安装之前运行下面命令检查系统当前是否满足数据库安装,也可手动一步一步查看:
#su– oracle
#cd Disk1/cluvfy
$./runcluvfy.sh stage -pre crsinst -n node1,node2 -r 10gR2
3.切换到oracle用户,如果上面命令运行成功(会报VIP错误,这里可以忽略),执行下面命令开始安装数据库:
#su– oracle
进入安装目录:
$./runInstaller–ignoreSysPreReqs
在这里会提示你是否运行过rootpre.sh,如果已经运行选择Y,如果没运行,请选N退出后以root用户运行,然后再次安装
3.1.选择Oracle目录清单存放目录
3.2.选择CRS存目录
3.3.安装程序的需求检测,这里都是操作系统版本产生的警告,可以点下一步忽略
3.4.集群节点配置,这里默认只有节点1,第二个节点需点ADD添加,格式按节点1配置,点下一步,设置PUBLIC
3.5.设置ocr盘,路径为:/dev/rhdisk2
3.6.设置voting disk盘,路径为:/dev/rhdisk3
3.7.点击install开始安装
3.8.安装结束前,以root用户依次在节点1和节点2上运行第一个脚本orainstRoot.sh,然后依次在节点1和节点2上运行第二个脚本root.sh
3.9.如果在第二个节点运行root.sh报vip错:
在第二个节点以root用户登录,运行$CRS_HOME/bin/vipca
#$CRS_HOME/bin/vipca
3.10.运行成功后,回到节点1点下一步,然后弹出安装成功
2.2将cluster从10.2.0.1升级到10.2.0.5
1.先将CRS停掉:
在一个节点以oracle执行
先查看:
$crs_stat–t
停止crs资源:
$c rs_stop –all
然后在每个节点上以root用户执行下列命令,停掉crs进程:
/etc/init.crs stop
使用:crs_stat –t,ps–ef|grep crs等命令确认crs已经停掉
2.将升级补丁包上传到服务器,解压
$unzip p8202632_10205_AIX64-5L_1of2.zip
$unzip p8202632_10205_AIX64-5L_1of2.zip
将这两个包解压到同一个目录下
3.在运行升级程序前需要以root用户在每个节点执行下面命令:
#/usr/sbin/slibclean
4.然后切换到oracle用户运行升级安装程序:
进入升级程序目录,然后运行:
./runInstaller–ignoreSysPreReqs
提示是否以root用户运行过:/usr/sbin/slibclean命令时,选择Y,开始升级安装
5.选择crs_home目录,然后点下一步,开始升级安装
6.安装完结束前提示要以root用户停止crs,然后运行root102.sh脚本
在第一个节点和第二个节点依次执行下面步骤,第一个节点执行完了后再在第二个节点上执行,两个节点都执行完以后再回到第一个节点点退出。
以root用户登录,然后停止crs:
#su– root
#/oracle/product/10.2.0/crs/bin/crsctl stop crs
#/oracle/product/10.2.0/crs/install/root102.sh
7.在两个节点上脚本运行完成后,使用以下命令查看升级是否成功:
$crsctl query crs softwareversion
查看结果显示,如果版本为10.2.0.5则表示升级成功。
2.3 Oracle database安装
1.将oracle database安装包上传到服务器,解压
$cpio–idcmv <10gr2_aix5l64_database.cpio
2.执行安装
$./runInstaller–ignoreSysPreReqs
提示是否运行过rootpre.sh时,之前已经运行过,这里输入y
3.选择oracle清单目录
4.选择oracle home目录
5.选择集群安装
并将所有节点选中
6.安装程序的需求检测,这里都是操作系统版本产生的警告,可以点下一步忽略
7.选择只安装软件
8.占install开始安装
9.以root用户分别在第一个节点和第二个节点上运行:
Sh /oracle/product/10.2.0/db_1/root.sh
两个节点都成功运行后,点OK,点退出
2.4 Oracle database software升级到10.2.0.5
进入升级包目录:
1.执行安装
$./runInstaller
2.选择oracle home目录
3.选择下一步,然后选择install开始升级安装
4.安装完成后退出,连上oracle软件,看版本,如果为10.2.0.5,表示升级成功
2.5建监听
1.切换到oracle用户下,运行以下命令:
$netca
2.选择集群配置
3.选择监听配置
4.选择添加
5.输入LISTENER名称,默认为:LISTENER
6.选TCP点下一步
7.选择端口:1521
8.选择不配置其它监听
9.安装完成后验证:
$ lsnrctl status
$crs_stat –t
2.6建ASM实例和磁盘组
1.切换到oracle用户下,运行以下命令:
$dbca
2.选择oracle real application cluster database
3.选择配置ASM
4.选择两个节点
5.设置ASM管理密码,选择建立PFILE
6.点击OK开始创建ASM实例
7.创建ASM磁盘组,选择EXTERNAL外部冗余,选择磁盘,磁盘组名用大写字母和数字
8.选择完成后点OK开始建立ASM磁盘组
9.磁盘组建立后确认磁盘组状态为MOUNT,点完成退出
2.7数据库建立
1.切换到oracle用户下,运行以下命令:
$dbca
2.选择建立数据库
3.选择两个节点
4.选择GENERAL PURPOSE
5.输入数据库名,SID
6.点下一步
7.设置SYS/SYSTEM密码
8.存储选项选ASM
9.选择建好的ASM磁盘组,点下一步
10.添加服务名,这里可以添加也可以不添加
11.设置oracle参数,sga,pga,processor,字符集等
12.设置,修改和添加日志组
13.选择建立数据库脚本
14.点击OK开始建立数据库建库脚本
15.脚本建立成功后,点OK开始建数据库
16.数据库建立成功后,点EXIT后,ORACLE会自己把两个节点的实例和数据库带起来
17.数据库建立完成,用CRS命令检测,查看CRS服务是否正常启动
三.数据库安装后续设置
3.1本地LISTENER设置
进入oracle数据库查看LISTENER值
show parameter local_listener
show parameter remote_listener
设置tnsnames.ora,添加以下内容:
节点1(node1):
LISTENERS_DB1 =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = node1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = node2-vip)(PORT = 1521))
)
节点2(node2):
LISTENERS_DB2 =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = node1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = node2-vip)(PORT = 1521))
)
进入数据库修改参数:
alter system set local_listener='LISTENERS_DB1' scope=both sid='db1';
alter system set local_listener='LISTENERS_DB2' scope=both sid=’db2';
切换到oracle用户下执行,重启数据库和实例测试:
srvctl stop instance -d db -i 'db1';
srvctl stop instance -d db -i 'db2';
srvctl start instance -d db -i 'db1';
srvctl start instance -d db -i 'db1';
3.2 RAC下修改归档模式
检查是否处于归档模式
SQL> archive log list;
查看并修改cluster_database参数(两个节点)
SQL> show parameter cluster_database;
alter system set cluster_database=false scope=spfile sid='db1';
alter system set cluster_database=false scope=spfile sid=’db2';
shutdown immediate;(两个节点)
在其中一个节点上执行
startup nomount;
alter database archivelog;
alter database open;
alter system set LOG_ARCHIVE_DEST_1='LOCATION=/arch1/db1';
show parameter cluster_database;
alter system set cluster_database=TRUE scope=spfile sid=’db1';
alter system set cluster_database=TRUE scope=spfile sid='db2';
archive log list;
shutdown immediate
startup
ceate pfile=’/home/oracle/pfiledb.ora’ from spfile;
查出SPFILE路径:
show parameter spfile
+DATA01/db/spfiledb.ora
在第二个节点上执行:
将PFILE拷到第二个节点上,修改后用PFILE启动
修改PFILE
将这一行:*.log_archive_dest_1=’LOCATION=/arch1/db1'
修改为:db2. log_archive_dest_1=’LOCATION=/arch2/db2' #db2为数据库第二个节点实例名
用PFILE启动实例:
startup pfile=’/home/oracle/pfiledb.ora’;
查看是否为归档模式:
archive log list
修改PFILE文件,在db2. log_archive_dest_1=’LOCATION=/arch2/db2'这一行上添加一行:
db1. log_archive_dest_1=’LOCATION=/arch1/db1'
进入数据库建立SPFILE
create spfile=’ +DATA01/db/spfiledb.ora’ from pfile=’/home/oracle/pfiledb.ora’;
切换到oracle用户下执行,重启数据库和实例测试:
srvctl stop instance -d db -i 'db1';
srvctl stop instance -d db -i 'db2';
srvctl start instance -d db -i 'db1';
srvctl start instance -d db -i 'db1';
四.删除CRS和数据库软件
如果安装CRS失败,执行下面命令删除CRS后重新进行安装:
1.以root用户登录:进入CRS_HOME/install,运行rootdelete.sh,运行成功后再运行rootdeinstall.sh
su- root
cd $CRS_HOME/install
sh rootdelete.sh
sh rootdeinstall.sh
2.然后删除下列文件
rm-rf /etc/init.cssd
rm-rf /etc/init.crs
rm-rf /etc/init.crsd
rm-rf /etc/init.evmd
rm-rf /etc/rc.d/rc2.d/K96init.crs
rm-rf /etc/rc.d/rc2.d/S96init.crs
rm-rf /etc/oracle/scls_scr
rm-rf /etc/oracle/oprocd
rm /etc/inittab.crs
cp /etc/inittab.orig /etc/inittab
rm-rf /var/tmp/.oracle
rm-rf /tmp/.oracle
rm-rf /oracle/oraInventory
3.查看crs,css,evm进程是否在运行:
ps-ef|grep crs
ps-ef|grep css
ps-ef|grep evm
如在运行,使用kill -9进程ID将进程杀掉
kill-9进程ID
4.使用ORACLE OUI程序将oracle软件和crs删除掉
5.将$ORACLE_HOME和$CRS_HOME下文件删除:
rm-rf $ORACLE_HOME/*
rm-rf $CRS_HOME/*
6.查找系统中是否还有oracle相关文件,找到并删除:
find / -name ora*
rm-rf /…/文件
7.清空CRS盘:
dd if=/dev/zero f=/dev/rhdisk2 bs=1024k count=300
dd if=/dev/zero f=/dev/rhdisk3 bs=1024k count=300
上面所有步骤都执行成功后,重新启动系统,然后开始重装
参考文档:
1. oracle官方文档
2. metalink:RACGuides_Rac10gR2OnAIX
文档中的图片