LINUX5 + RAC 安装实录

Linux5 + Rac 安装,升级,优化笔记

---------安装

操作系统初始化存储:

一:安装 配置 ISCSI

   在两个系统上做:

1.       # rpm  –ivh  iscsi-initiator-utils-6.2.0.871-0.10.el5.x86_64.rpm

2.       # vi  /etc/iscsi/iscsid.conf  添加几行:

DiscoveryAddress=192.168.2.250

SendAsyncText=yes

Continuous=yes

3.       # service iscsi start

4.       # iscsiadm -m discovery -t sendtargets  -p 192.168.2.250  发现目标

 tcp: [2] 192.168.2.250:3260,1 iqn.2001-05.com.equallogic:0-8a0906-def0bd805-7ff92d329bb4b14b-flash

tcp: [3] 192.168.2.250:3260,1 iqn.2001-05.com.equallogic:0-8a0906-3620bd805-5f792d329c34b14c-backup

tcp: [4] 192.168.2.250:3260,1 iqn.2001-05.com.equallogic:0-8a0906-db40bd805-1b092d329b64b14b-data

tcp: [5] 192.168.2.250:3260,1 iqn.2001-05.com.equallogic:0-8a0906-e370bd805-1e892d329c04b14b-ocfs2

5.       # service iscsi restart   后自动 login 四个session ;

6.       # multipath –ll  得到各session uuid  结果如下:

   backup (36090a05880bd20364cb1349c322d795f)  dm-1     size=800G

   ocfs (36090a05880bd70e34bb1049c322d891e)    dm-2     size=525M

   flash (36090a05880bdf0de4bb1b49b322df97f)    dm-0     size=4.0G

   data (36090a05880bd40db4bb1649b322d091b)   dm-3     size=1.0T

7.       #  vi /etc/multipath.conf   添加如下内容:

   multipaths {

        multipath {

        wwid    36090a05880bdf0de4bb1b49b322df97f

        alias   flash

        }

        multipath {

        wwid    36090a05880bd40db4bb1649b322d091b

        alias   data

        }

        multipath {

        wwid    36090a05880bd70e34bb1049c322d891e

        alias   ocfs

        }

        multipath {

        wwid    36090a05880bd20364cb1349c322d795f

        alias   backup

        }

}

8.       #  service multipathd restart  重启多路径服务。

#   ls /dev/mapper/   应该能看到下面块设备文件

backup  control  data  flash  ocfs

主机配置

网络设置

db3 上:

#  vi /etc/hosts  添加以下内容;

   192.168.2.203   db3

   192.168.2.213   db3-vip

   10.0.0.1        db3-priv

  192.168.2.204    db4

  192.168.2.214    db4-vip 

  10.0.0.2         db4-priv

db4 上:

  #  vi /etc/hosts  添加以下内容;

   192.168.2.203    db3

   192.168.2.213    db3-vip

   10.0.0.1         db3-priv

   192.168.2.204    db4

   192.168.2.214    db4-vip 

   10.0.0.2         db4-priv

 

检查安装必须的包:

    两个系统上都要做:

   # rpm  -qa    binutils ,compat-db  compat-libstdc++  control-center  gcc  gcc-c++  glibc

 glibc-common gnome-libs   libstdc++   libstdc++-devel   make  pdksh   sysstat  

 xscreensaver   setarch  glibc-devel  libaio  openmotif

配置系统内核参数

    两个系统上都做:

  #  vi /etc/sysctl.conf  添加:

kernel.shmmax                = 8147483648

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

  #  sysctl  -p   生效配置

 
   配置 hangcheck-timer  模块

 两个系统上都做:

       #   vi /etc/modprobe.conf 添加

          options hangcheck-timer hangcheck_tick=10 hangcheck_margin=30

      #  modprobe -v hangcheck-timer  立即生效

配置两台机器时间同步

     db3 上:

      #  vi /etc/ntp.conf   编辑:

        server  127.127.1.0

        fudge  127.127.1.0  stratum  11

        driftfile   /var/lib/ntp/drift 

        broadcastdelay    0.008

     db4  

      #  vi /etc/ntp.conf  编辑:

        server 192.168.2.203  prefer

        driftfile  /var/lib/ntp/drift

        broadcastdelay    0.008

   在两个系统上做:

     #  /etc/init.d/ntpd restart

创建ORACLE  用户并配置ORACLE

一,创建ORACLE用户。

在两个系统 上都做:

  # groupadd –g 700 oinstall

  # groupadd –g 600 dba

  # mkdir –p  /u1/oracle  /ocfs   /backup

  #useradd –u 500 –g oinstall –G dba  oracle

  # passwd oracle  设置密码。

  #  chown –R oracle:oinstall  /u1  /ocfs  /backup 

二.设置ORACLE 环境变量。

  db3 上做:

  #  su – oracle

  #  vi  .bash_profile 添加以下内容:

     ORACLE_SID=asc1

ORACLE_BASE=/u1/oracle

ORACLE_HOMOE=$ORACLE_BASE/product/10.2.0/db_1

ORA_CRS_HOME=$ORACLE_BASE/product/10.2.0/crs_1

LD_LIBRARY_PATH=$ORACLE_HOME/lib

PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:/usr/X11R6/bin

 

export PATH  ORACLE_SID  ORACLE_BASE  ORACLE_HOME ORA_CRS_HOME  LD_LIBRARY_PATH

umask  022

     db4 上做:

   #   su – oracle

   #   vi .bash_profile 添加以下内容:

     ORACLE_SID=asc2

ORACLE_BASE=/u1/oracle

ORACLE_HOMOE=$ORACLE_BASE/product/10.2.0/db_1

ORA_CRS_HOME=$ORACLE_BASE/product/10.2.0/crs_1

LD_LIBRARY_PATH=$ORACLE_HOME/lib

PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:/usr/X11R6/bin

 

export PATH  ORACLE_SID  ORACLE_BASE  ORACLE_HOME ORA_CRS_HOME  LD_LIBRARY_PATH

umask   022

  创建ORACLE 目录

     ORACLE 用户 在两个系统上都做:

     [oracle@db3 ~]$ mkdir -p $ORACLE_BASE/admin

[oracle@db3 ~]$ mkdir -p $ORACLE_HOME

[oracle@db3 ~]$ mkdir -p $ORA_CRS_HOME

[oracle@db3 ~]$ mkdir -p /u1/oradata/asc

    提高ORACLE 用户的SHELL 限制。

     ROOT 用户  在两个系统上都做:

      # vi /etc/security/limits.conf  添加如下内容:

        Oracle  soft  nproc 2047

oracle  hard  nproc 16384

oracle  soft  nofile 1024

oracle  hard  nofile 65536

      # vi /etc/pam.d/login   添加如下内容:

        session    required     /lib/security/pam_limits.so

    

 #  vi /etc/profile 添加如下内容:

    if [ $USER = "oracle" ]; then

        if [ $SHELL = "/bin/ksh" ]; then

                ulimit -p 16384

                ulimit -n 65536

        else

                ulimit -u 16384 -n 65536

        fi

fi

   oracleasm ocfs  创建磁盘分区

  db3  上做:

 #  fdisk  /dev/mapper/data

 #  fdisk  /dev/mapper/flash

#  fdisk  /dev/mapper/ocfs

  #  fdisk  /dev/mapper/backup 

   由于存储上的这些磁盘做了磁盘共享,所以在 db4 可以看到磁盘分区的结果,无需在再分区。

  安装 oracleasm 包和 ocfs2 包:

   在两个系统上都做:

   安装完成后应看到以下包:

[root@db3 package]# rpm -qa |grep oracleasm

oracleasm-2.6.18-164.el5-2.0.5-1.el5

oracleasmlib-2.0.4-1.el5

oracleasm-support-2.1.3-1.el5

 

[root@db3 package]# rpm -qa |grep ocfs

ocfs2-2.6.18-164.el5-1.4.4-1.el5

ocfs2console-1.4.3-1.el5

ocfs2-tools-1.4.3-1.el5

   oracleasm  映射裸设备磁盘:

     两个系统上都做:

     #  vi  /etc/udev/rules.d/60-raw.rules  添加如下内容:

        ACTION=="add", KERNEL=="/dev/mapper/datap1", RUN+="/bin/raw /dev/raw/raw1 %N"

ACTION=="add", KERNEL=="/dev/mapper/flashp1", RUN+="/bin/raw /dev/raw/raw2 %N"

KERNEL=="raw[1-2]", WNER="oracle", GROUP="oinstall", MODE="640"

ACTION=="add", ENV{MAJOR}="253", ENV{MINOR}="2", RUN+="raw /dev/raw/raw1 %M %m"

ACTION=="add", ENV{MAJOR}="253", ENV{MINOR}="7", RUN+="raw /dev/raw/raw2 %M %m"

#   raw  /dev/raw/raw1    /dev/mapper/datap1

#   raw  /dev/raw/raw2    /dev/mapper/flash1

#   ln –sf  /dev/raw/raw1   /u1/oradata/asc/asmdisk1

#   ln –sf  /dev/raw/raw2   /u1/oradata/asc/asmdisk2

#  vi  /etc/rc.d/rc.local   添加:

   raw  /dev/raw/raw1    /dev/mapper/datap1

   raw  /dev/raw/raw2    /dev/mapper/flashp1

 

配置 oracleasm 磁盘:

   db3,db4  root 用户做:

    [root@db4 ~]# /etc/init.d/oracleasm configure

Configuring the Oracle ASM library driver.

 

This will configure the on-boot properties of the Oracle ASM library

driver.  The following questions will determine whether the driver is

loaded on boot and what permissions it will have.  The current values

will be shown in brackets ('[]').  Hitting without typing an

answer will keep that current value.  Ctrl-C will abort.

 

Default user to own the driver interface []: oracle

Default group to own the driver interface []: dba

Start Oracle ASM library driver on boot (y/n) [n]: y

Scan for Oracle ASM disks on boot (y/n) [y]: y

Writing Oracle ASM library driver configuration: done

Initializing the Oracle ASMLib driver:                      [  OK  ]

Scanning the system for Oracle ASMLib disks:               [  OK  ]

 

  db3  上做:

  [root@db4 ~]# /etc/init.d/oracleasm createdisks  VOL1  /dev/mapper/datap1

  [root@db4 ~]# /etc/init.d/oracleasm createdisks  VOL2  /dev/mapper/flashp1

  [root@db4 ~]# /etc/init.d/oracleasm listdisks

VOL1

VOL2

     db4  上做:

  [root@db4 ~]# /etc/init.d/oracleasm listdisks

VOL1

VOL2

 

 

十一  建立  oracle 互信机制

在两个系统都做:(oracle 用户)

#  mkdir  ~/.ssh

#  chmod 700  ~/.ssh

#  ssh-keygen –t  rsa 

#  ssh-keygen –t  dsa

db3 上做:

#  cat  ~/.ssh/id_rsa.pub  >>  ~/.ssh/authorized.keys

#  cat  ~/.ssh/id_dsa.pub  >>  ~/.ssh/authorized.keys 

#  ssh  db4  cat  ~/.ssh/id_rsa.pub  >>  ~/.ssh/authorized.keys

#  ssh  db4  cat  ~/.ssh/id_dsa.pub  >>  ~/.ssh/authorized.keys

#  scp  ~/.ssh/authorized.keys  >>  db4: ~/.ssh/authorized.keys

最后应该能两台机器 ssh  时不需要提示输入密码!

scp  时报远程session 连接错误,解决方法:

两个系统上都做:

# vi /etc/sysconfig/network-scripts/ifcfg-eth0  修改参数为:

  MTU=1500

# service network restart  即可!

十二  配置 oracle 的集群文件系统 ocfs .

创建  ocfs 配置文件:

  #  ocfs2console   弹出图形界面配置。

传递配置文件到另一主机:

  #  ocfs2console   弹出图形界面配置。

  配置 o2cb  驱动程序

 在两个系统上都做:

   #  /etc/init.d/o2cb  unload

   [root@db3 ~]# /etc/init.d/o2cb configure

Configuring the O2CB driver.

 

This will configure the on-boot properties of the O2CB driver.

The following questions will determine whether the driver is loaded on

boot.  The current values will be shown in brackets ('[]').  Hitting

without typing an answer will keep that current value.  Ctrl-C

will abort.

 

Load O2CB driver on boot (y/n) [n]: y

Cluster stack backing O2CB [o2cb]:

Cluster to start on boot (Enter "none" to clear) [ocfs2]:

Specify heartbeat dead threshold (>=7) [31]: 61

Specify network idle timeout in ms (>=5000) [30000]:

Specify network keepalive delay in ms (>=1000) [2000]:

Specify network reconnect delay in ms (>=2000) [2000]:

Writing O2CB configuration: OK

Loading filesystem "configfs": OK

Mounting configfs filesystem at /sys/kernel/config: OK

Loading filesystem "ocfs2_dlmfs": OK

Mounting ocfs2_dlmfs filesystem at /dlm: OK

Starting O2CB cluster ocfs2: OK

应该看到以下状态:

root@db3 ocfs2]# /etc/init.d/o2cb status

Driver for "configfs": Loaded

Filesystem "configfs": Mounted

Driver for "ocfs2_dlmfs": Loaded

Filesystem "ocfs2_dlmfs": Mounted

Checking O2CB cluster ocfs2: Online

Heartbeat dead threshold = 61

   Network idle timeout: 30000

   Network keepalive delay: 2000

   Network reconnect delay: 2000

Checking O2CB heartbeat: Not active

格式化 ocfs  文件系统

  db3 上做:

    #   ocfs2console format  图形界面来做。

    #  mount –t ocfs2  -o  datavolume,nointr   /dev/mapper/backupp1   /backup

    #  mount –t ocfs2  -o  datavolume,nointr   /dev/mapper/ocfsp1      /ocfs

  db4 上做:

 #  mount –t ocfs2  -o  datavolume,nointr   /dev/mapper/backupp1   /backup

    #  mount –t ocfs2  -o  datavolume,nointr   /dev/mapper/ocfsp1      /ocfs

  db3,db4  上都做:

   #  vi /etc/fstab  添加:

       /dev/mapper/ocfsp1               /ocfs                   ocfs2   _netdev,datavolume,nointr      0 0

/dev/mapper/backupp1            /backup                 ocfs2   _netdev,datavolume,nointr      0 0

   #  mkdir –p /ocfs/clusterware

   #  chown  -R  oracle:oinstall  /ocfs

 

 

十三    重启 系统

 在两个系统上都做:

#  init 6

 
 
十四    安装ORACLE 集群件 clasterware .

错误一:在第二个节点执行 root.sh  时报

  /u1/crs/oracle/product/10.2.0/crs_1/jdk/jre//bin/java: error while loading shared libraries: libpthread.so.0: cannot open shared object file: No such file or directory

     

解决方法:

  [root@db4 crs_1]# vi /u1/crs/oracle/product/10.2.0/crs_1/bin/vipca

       #Remove this workaround when the bug 3937317 is fixed

       arch=`uname -m`

       if [ "$arch" = "i686" -o "$arch" = "ia64" -o "$arch" = "x86_64" ]

       then

            LD_ASSUME_KERNEL=2.4.19

            export LD_ASSUME_KERNEL

       fi

unset LD_ASSUME_KERNEL  (该项为增加项)

       #End workaround

[root@db4 crs_1]# vi /u1/crs/oracle/product/10.2.0/crs_1/bin/srvctl 

     LD_ASSUME_KERNEL=2.4.19

export LD_ASSUME_KERNEL

unset LD_ASSUME_KERNEL  (该项为增加项)

     #  sh  root.sh  重新执行 root.sh

 

 

 

错误二:#  . /u1/crs/oracle/product/10.2.0/crs_1/bin/vipca  报错:

       Error 0(Native: listNetInterfaces:[3])

  [Error 0(Native: listNetInterfaces:[3])]

解决方法:

       [root@db4 bin]# ./oifcfg setif -global eth0/192.168.2.0:public

[root@db4 bin]# ./oifcfg setif -global eth1/10.0.0.0:cluster_interconnect

[root@db4 bin]# ./oifcfg getif

eth0  192.168.2.0  global  public

eth1  10.0.0.0  global  cluster_interconnect

然后重新执行  . /u1/crs/oracle/product/10.2.0/crs_1/bin/vipca  配置两系统的 vip .

 

 

CRS  配置正确后执行以下命令应该能看到以下结果:

[oracle@db4 db_1]$ crs_stat -t

Name           Type           Target    State     Host       

------------------------------------------------------------

ora.db3.gsd    application    ONLINE    ONLINE    db3        

ora.db3.ons    application    ONLINE    ONLINE    db3        

ora.db3.vip    application    ONLINE    ONLINE    db3        

ora.db4.gsd    application    ONLINE    ONLINE    db4        

ora.db4.ons    application    ONLINE    ONLINE    db4        

ora.db4.vip    application    ONLINE    ONLINE     db4         

十五  安装 ORACLE 数据库软件:
十六  使用 DBCA 创建数据库。

#  [oracle@db4 ~]$ crs_stat -t

Name           Type           Target    State     Host       

------------------------------------------------------------

ora....c1.inst application    ONLINE    ONLINE    db3        

ora....c2.inst application    ONLINE    ONLINE    db4        

ora.asc.db     application    ONLINE    ONLINE    db3        

ora....SM1.asm application    ONLINE    ONLINE    db3        

ora....B3.lsnr application    ONLINE    ONLINE    db3        

ora.db3.gsd    application    ONLINE    ONLINE    db3        

ora.db3.ons    application    ONLINE    ONLINE    db3        

ora.db3.vip    application    ONLINE    ONLINE    db3        

ora....SM2.asm application    ONLINE    ONLINE    db4        

ora....B4.lsnr application    ONLINE    ONLINE    db4        

ora.db4.gsd    application    ONLINE    ONLINE    db4        

ora.db4.ons    application    ONLINE    ONLINE    db4        

ora.db4.vip    application    ONLINE    ONLINE    db4

 Year OK !!!!

 

 

 

------------升级

停掉所有节点 db ,asm ,nodeapps .

在两个节点上做:

  #  emctl  stop  dbconsole

  #  isqlplusctl stop

  #  lsnrctl stop 

 

db3  上做:

#  srvctl  stop instance  –d  asc  –i  asc1

#  srvctl  stop instance  -d  asc   -i  asc2

#  srvctl  stop  database  -d   asc

#  srvctl  stop  asm  -n  db3

#  srvctl  stop  asm  -n  db4   

#  srvctl  stop  nodeapps   -n  db3

#  srvctl  stop  nodeapps   -n  db4

[oracle@db3 stage]$ crs_stat –t    ( 检查状态 )

Name           Type           Target    State     Host       

------------------------------------------------------------

ora....c1.inst application    OFFLINE   OFFLINE              

ora....c2.inst application    OFFLINE   OFFLINE              

ora....sc2.srv application    OFFLINE   OFFLINE              

ora....scdb.cs application    OFFLINE   OFFLINE              

ora.asc.db     application    OFFLINE   OFFLINE              

ora....SM1.asm application    OFFLINE   OFFLINE              

ora....B3.lsnr application    OFFLINE   OFFLINE              

ora.db3.gsd    application    OFFLINE   OFFLINE              

ora.db3.ons    application    OFFLINE   OFFLINE              

ora.db3.vip    application    OFFLINE   OFFLINE              

ora....SM2.asm application    OFFLINE   OFFLINE              

ora....B4.lsnr application    OFFLINE   OFFLINE              

ora.db4.gsd    application    OFFLINE   OFFLINE              

ora.db4.ons    application    OFFLINE   OFFLINE              

ora.db4.vip    application    OFFLINE   OFFLINE 

 

  停掉所有节点的 CRS 服务 ,在两个节点上都要做:

/u1/crs/oracle/product/10.2.0/crs_1/bin/crsctl    stop   crs  

 

  进入 Disk1  运行

(1) 升级CRS :

      #  ./runInstaller 

      #  选择CRS_HOME  一路 NEXT 下去!

      (2) 升级数据库软件 由 10.2.0.1 到 10.2.0.4    

. linux1更新包目录下

    $./runInstaller

    在界面选择:OraDb10g_home1

. 在两个节点上执行:

#/u1/app/oracle/product/10.2.0/db_1/root.sh

       在两个节点上执行:

#/etc/init.d/init.crs stop

.   db3上执行:

#/etc/init.d/init.crs start

(3) 升级数据字典。

.   db3 上升级。(手动升级方式)执行:


$ sqlplus /nolog

SQL>CONN SYS AS SYSDBA

SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP NOMOUNT
SQL> ALTER SYSTEM SET CLUSTER_DATABASE=FALSE SCOPE=spfile;
SQL> SHUTDOWN

SQL> STARTUP UPGRADE
SQL> @/u1/app/oracle/product/10.2.0/db_1/rdbms/admin/catupgrd.sql

SQL> SHUTDOWN IMMEDIATE

SQL> STARTUP
SQL> @/u1/app/oracle/product/10.2.0/db_1/rdbms/admin/utlrp.sql

SQL>ALTER SYSTEM SET CLUSTER_DATABASE=TRUE scope=spfile sid='*';

SQL> SHUTDOWN IMMEDIATE

SQL> STARTUP

在两台节点上执行:

    #/u1/app/oracle/product/crs/bin/crsctl stop crs

    db4上执行:

    #/u1/app/oracle/product/crs/bin/crsctl start crs

    然后执行上面脚本

    10. 重启两个节点的crs (两个节点)

    #/etc/init.d/init.crs stop

    #/etc/init.d/init.crs start

---------另外的一种升级方式:使用DBUA 升级。

12.   db3 上使用 dbua 升级向导升级。执行:

#  dbua  使用图形界面 NEXT 下去。 OK

 

LINUX 5 +RAC  安装,升级完成! 

 

 

 

 

 

 

 

 

 

-------------优化

RAC 安装完成后,是一个默认的数据库配置,这些配置与实际生产环境的要求存在一定的差距,所以需要做些预设置调整。以下是针对本数据库做的预参数调整:

  ORACLE 内存参数调整:

   静态参数: sga_max_size=8G

   动态参数: sga_target=7728M

   动态参数: open_cursors=3000

   动态参数: cursor_sharing=similar

   动态参数: db_keep_cache_size=300m

   动态参数: db_recycle_cache_size=100m

   动态参数: db_cache_advice=on

  session 参数调整:

   静态参数:processes=2000

   静态参数:sessions=2205

  pga 参数调整:

   动态参数:workarea_size_policy=AUTO

   静态参数:pga_aggregate_target=1206M

磁盘I/O 参数调整:

   静态参数:sql_trace=FALSE

   动态参数:timed_statistics=true

   动态参数:db_file_multiblock_read_count=16

   静态参数:undo_management= AUTO

   动态参数:undo_retention=3600

   静态参数:pre_page_sga=true

   静态参数:lock_sga=true

   静态参数:disk_asynch_io=true

 

LINUX 5 +RAC  安装,升级,性能参数调整完成!

 

 

                              拟稿:刘明佳

                             2009128

                        上海*********公司

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

转载于:http://blog.itpub.net/14359194/viewspace-622278/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值