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
#chuser data=-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
server 192.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
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24668589/viewspace-688109/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24668589/viewspace-688109/