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.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 |
|