ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 【实验】使用 VMware 在 Linux 5.1 上安装、升级及维护 Oracle 10gR2 RAC (二)

【实验】使用 VMware 在 Linux 5.1 上安装、升级及维护 Oracle 10gR2 RAC (二)

原创 Linux操作系统 作者:secooler 时间:2009-02-25 11:10:51 0 删除 编辑
----主节点的设置
1.在配置linux系统之前,首先到主节点RAC1目录下,打开.vmx 文件,添加下列内容:
disk.locking = "false"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.DataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
scsi1:1.deviceType = "disk"
scsi1:2.deviceType = "disk"
scsi1:3.deviceType = "disk"
scsi1:4.deviceType = "disk"

2.修改/etc/hosts文件,这里一定要注意:系统主机名不能出现在环路地址中
# vi /etc/hosts
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
##Public Network - (eth0)
192.168.1.100  rac1
192.168.1.101  rac2
##Private Interconnect - (eth1)
192.168.2.100  rac1-priv
192.168.2.101  rac2-priv
##Public Virtual IP (VIP) addresses - (eth0)
192.168.1.200  rac1-vip
192.168.1.201  rac2-vip

3.创建组oinstall,dba,用户oracle
# groupadd -g 500 oinstall
# groupadd -g 501 dba
# useradd -m -u 500 -g oinstall -G dba  -d /home/oracle  -s /bin/bash -c "Oracle Software Owner" oracle
# passwd oracle

4.开通FTP功能(因为系统默认并没有打开FTP功能,这里需要设置一下,在这个地方,就要用到我们前面添加的第三块网卡的动态获取IP功能。如实验环境网关发生了变化可以通过命令route add/delete default gw x.x.x.x进行调整)
验证
# ifconfig eth2    
# netstat -rn      
# ping 144.194.192.1
手工开启服务
# service vsftpd start
调整配置文件(在root前添加"#"注释掉),使windows用户可以ftp登陆到root用户
# vi /etc/vsftpd/ftpusers
# vi /etc/vsftpd/user_list
Windows上上传文件过程:
Y:\software\Oracle_Linux32Bits>ftp 192.168.1.100
Connected to 192.168.1.100.
220 (vsFTPd 2.0.5)
User (192.168.1.100:(none)): root
331 Please specify the password.
Password:
230 Login successful.
ftp>
ftp>
ftp> cd /hsw_media
250 Directory successfully changed.
ftp> bin
200 Switching to Binary mode.
ftp> prompt
Interactive mode Off .
ftp> mput *
ftp> bye

5.修改oracle用户的初始化参数文件
# vi /home/oracle/.bash_profile
##################################################
# User specific environment and startup programs
##################################################
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export CRS_HOME=/oracle/app/crs
export ORA_CRS_HOME=/oracle/app/crs
export ORACLE_PATH=$ORACLE_BASE/common/oracle/sql:.:$ORACLE_HOME/rdbms/admin

##################################################
# Each RAC node must have a unique ORACLE_SID. (i.e. orcl1, orcl2,...)
##################################################
export ORACLE_SID=RACDB1

export PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin:$ORA_CRS_HOME/bin:/sbin
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS10=$ORACLE_HOME/nls/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp

##################################################
# set NLS_LANG to resolve messy code in SQLPLUS
##################################################
export NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1

##################################################
# Shell setting.
##################################################
umask 022
set -o vi
# stty erase ^H
export PS1="\${ORACLE_SID}@`hostname` \${PWD}$ "
export SQLPATH=/home/oracle/sql

# auto add env parameter $PROMPT_COMMAND when use non-Linux tty login by ssh.
if [ "$SSH_CONNECTION" != '' ]; then
   export HOSTIP=`echo $SSH_CONNECTION |awk '{print $3}' |awk -F: '{if ($1 == "") print $4; else print $1}'`
   export PROMPT_COMMAND='echo -ne "\033]0;${USER}@'$HOSTIP':[${HOSTNAME%%.*}]:${PWD/#$HOME/~}  \007"'
fi

##################################################
# Oracle Alias
##################################################
alias ls="ls -FA"
alias vi=vim
alias base='cd $ORACLE_BASE'
alias home='cd $ORACLE_HOME'
alias alert='tail -200f $ORACLE_BASE/admin/RACDB/bdump/alert_$ORACLE_SID.log'
alias tnsnames='vi $ORACLE_HOME/network/admin/tnsnames.ora'
alias listener='vi $ORACLE_HOME/network/admin/listener.ora'

6.创建/u01/app目录,要注意该目录所有者或oracle用户的权限
# mkdir -p /oracle/app/crs
# chown -R oracle:oinstall /oracle/app/crs
# chmod -R 775 /oracle/app/crs
# mkdir -p /oracle/app/oracle
# chown -R oracle:oinstall /oracle/app/oracle
# chmod -R 775 /oracle/app/oracle

7.配置内核参数
# cat >> /etc/sysctl.conf << EOF
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144
EOF

#  sysctl -p    ## 使用该命令使上述设置生效

8.提高Oracle用户的shell限制
# cat >> /etc/security/limits.conf <
oracle soft nproc  2047
oracle hard nproc  16384
oracle soft nofile 1024
oracle hard nofile 65536
EOF

9.修改安全限制
# cat >> /etc/pam.d/login << EOF
session required /lib/security/pam_limits.so
EOF

10.配置Hangcheck 计时器
# cat >> /etc/rc.local << EOF
modprobe hangcheck-timer hangcheck-tick=30 hangcheck_margin=180
EOF

11.磁盘分区
# fdisk -l           ##列出磁盘分区情况
# fdisk /dev/sdb     ##操作顺序:n --- p --- 1 -- 回车 -- 回车 --  w
# fdisk /dev/sdc     ##操作顺序:n --- p --- 1 -- 回车 -- 回车 --  w
# fdisk /dev/sdd     ##操作顺序:n --- p --- 1 -- 回车 -- 回车 --  w
# fdisk /dev/sde     ##操作顺序:n --- p --- 1 -- 回车 -- 回车 --  w
                     ##经过上面的步骤,裸设备就创建好了。之所以称之为裸设备,就是因为自身不带任何文件系统。
                    
11.打补丁
通过FTP功能上传补丁到目录/hsw_media
# cd /hsw_media
## 因为这些安装包存在依赖关系,所以需要严格按照下面的顺序进行打补丁
# rpm -Uvh compat-binutils215-2.15.92.0.2-24.i386.rpm       
# rpm -Uvh compat-libcwait-2.1-1.i386.rpm                   
# rpm -Uvh compat-libstdc++-egcs-1.1.2-1.i386.rpm           
# rpm -Uvh openmotif21-debuginfo-2.1.30-11.EL5.i386.rpm     
# rpm -Uvh xorg-x11-libs-compat-6.8.2-1.EL.33.0.1.i386.rpm  
# rpm -Uvh oracleasm-support-2.1.2-1.el5.i386.rpm           
# rpm -Uvh oracleasm-2.6.18-53.el5-2.0.4-1.el5.i686.rpm     
# rpm -Uvh oracleasm-2.6.18-53.el5xen-2.0.4-1.el5.i686.rpm  
# rpm -Uvh kernel-debug-2.6.18-53.el5.i686.rpm            
# rpm -Uvh oracleasm-2.6.18-53.el5debug-2.0.4-1.el5.i686.rpm
# rpm -Uvh kernel-PAE-2.6.18-53.el5.i686.rpm             
# rpm -Uvh oracleasm-2.6.18-53.el5PAE-2.0.4-1.el5.i686.rpm
# rpm -Uvh libXp-1.0.0-8.1.el5.i386.rpm                  
# rpm -Uvh openmotif21-2.1.30-11.EL5.i386.rpm            
# rpm -Uvh compat-oracle-el5-1.0-5.i386.rpm              
# rpm -Uvh oracleasmlib-2.0.3-1.el5.i386.rpm               

12.配置裸设备:
# cat >> /etc/udev/rules.d/60-raw.rules << EOF
ACTION=="add", KERNEL=="/dev/sdb1",RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="17",RUN+="/bin/raw /dev/raw/raw1 %M %m"
ACTION=="add", KERNEL=="/dev/sdc1",RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="33",RUN+="/bin/raw /dev/raw/raw2 %M %m"
ACTION=="add", KERNEL=="/dev/sdd1",RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="49",RUN+="/bin/raw /dev/raw/raw3 %M %m"
ACTION=="add", KERNEL=="/dev/sde1",RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="65",RUN+="/bin/raw /dev/raw/raw4 %M %m"
KERNEL=="raw[1-4]",OWNER="oracle", GROUP="oinstall", MODE="640"
EOF

重启服务:
# start_udev

13.关闭不需要的系统启动耗时服务
# chkconfig cups off
# chkconfig sendmail off
# chkconfig isdn off
# chkconfig smartd off
# chkconfig iptables off
# chkconfig pcmcia off

----副节点的设置
1.关闭主节点
# shutdown -hy 0
2.将RAC1目录中的所有文件copy到RAC2目录中
3.修改RAC2下的vmx文件,将其中出现的"RAC1"全部替换为"RAC2"
4.将RAC1.VMDK这个文件改为RAC2.VMDK(split出来的其他文件的名字不能修改文件名字)
5.在虚拟机中按照RAC2的路径对vmx文件做open操作(File --> Open --> Browse)
6.点击绿色启动按钮启动副节点RAC2,在弹出来的对话框中选择"CREATE"
7.启动进入系统后,修改主机名
# hostname rac2
# vi /etc/sysconfig/network  ##  其中需要修改的内容为:HOSTNAME=rac2
8.然后将网卡的MAC地址修改为正确形式,通过ifconfig命令获得正确的网卡MAC地址,同时更新文件中涉及到的IP及主机名信息
# cd /etc/sysconfig/network-scripts
# mv ifcfg-eth0.bak ifcfg-eth0 -f
# mv ifcfg-eth1.bak ifcfg-eth1 -f
# mv ifcfg-eth2.bak ifcfg-eth2 -f
# ifconfig eth0
# ifconfig eth1
# ifconfig eth2
# vi ifcfg-eth0
# vi ifcfg-eth1
# vi ifcfg-eth2
9.切换到oracle用户下修改ORACLE_SID环境变量
# su - oracle
$ vi .bash_profile    ## 将ORACLE_SID修改为RACDB2
10. 至此,副节点的设置完毕,重启系统,让主机名、IP地址生效。
 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/519536/viewspace-557696/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle ACE 总监,阿里云MVP,北京大学理学硕士,恩墨学院创始人,教育专家,中国区 Cloudera 首位官方授权大数据讲师,金牌培训专家,BDA大数据联盟创始人,OCM联盟创始人,ACCUG创始人、ACOUG核心专家,Blogger。

注册时间:2008-03-16

  • 博文量
    797
  • 访问量
    8024879