Chinaunix首页 | 论坛 | 博客
  • 博客访问: 245486
  • 博文数量: 8
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 240
  • 用 户 组: 普通用户
  • 注册时间: 2014-05-13 08:39
个人简介

笨鸟要先飞

文章分类

全部博文(8)

文章存档

2015年(5)

2014年(3)

我的朋友

分类: Oracle

2015-08-18 17:53:17

1.安装前准备:
  • 操作系统:RHEL6.5 x86_64
  • 存储:华为,已配置多路径
  • 业务网卡,心跳网卡绑定,并通过冗余测试
  • YUM源配置
  • BASH/SSL漏洞补丁
2.检查系统要求

A.LINUX版本

点击(此处)折叠或打开

  1. cat /etc/issue

B.内存(至少1G

点击(此处)折叠或打开

  1. grep MemTotal /proc/meminfo
C.SWAP分区
当内存为2.5GB-16GB时,Swap等于系统内存大小。
当内存大于16GB时,Swap等于16GB即可。


D.TMP空间

点击(此处)折叠或打开

  1. df -h /tmp
  2. lvcreate -L 2G -n lv_tmp vg_temp
  3. mount /dev/vg_temp/lv_tmp /tmp
  4. df -h /tmp

E.检查补丁包

点击(此处)折叠或打开

  1. # rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libgcc libstdc++ libstdc++-devel libaio libaio-devel make sysstat
  2. binutils-2.20.51.0.2-5.36.el6.x86_64
    compat-libcap1-1.10-1.x86_64
    compat-libstdc++-33-3.2.3-69.el6.x86_64
    gcc-4.4.7-4.el6.x86_64
    gcc-c++-4.4.7-4.el6.x86_64
    glibc-2.12-1.132.el6.x86_64
    glibc-2.12-1.132.el6.i686
    glibc-devel-2.12-1.132.el6.x86_64
    ksh-20120801-10.el6.x86_64
    libgcc-4.4.7-4.el6.x86_64
    libgcc-4.4.7-4.el6.i686
    libstdc++-4.4.7-4.el6.x86_64
    libstdc++-devel-4.4.7-4.el6.x86_64
    libaio-0.3.107-10.el6.x86_64
    libaio-devel-0.3.107-10.el6.x86_64
    make-3.81-20.el6.x86_64
    sysstat-9.0.4-22.el6.x86_64

F.禁用防火墙

点击(此处)折叠或打开

  1. service iptables status
  2. service iptables stop
  3. chkconfig iptables off

G. 关闭SELinux

点击(此处)折叠或打开

  1. #vi /etc/selinux/config
  2. 将文件中的SELINUX="" 为 disabled ,然后重启。
  3. 如果不想重启系统,使用命令setenforce 0
  4. 注:   
  5. setenforce 1 设置SELinux 成为enforcing模式
  6. setenforce 0 设置SELinux 成为permissive模式
  7. getenforce/setenforce查看和设置SELinux的当前工作模式

H.核心参数调整

点击(此处)折叠或打开

  1. vim /etc/sysctl.conf
  2. # Oracle install config
  3. fs.aio-max-nr = 1048576
  4. fs.file-max = 6815744
  5. kernel.shmall = 1073741824
  6. kernel.shmmax = 270853791744 --设置为物理内存大小(B)
  7. kernel.shmmni = 4096
  8. kernel.sem = 250 32000 100 128
  9. net.ipv4.ip_local_port_range = 9000 65500
  10. net.core.rmem_default = 262144
  11. net.core.rmem_max = 4194304
  12. net.core.wmem_default = 262144
  13. net.core.wmem_max = 1048576
2.设置/etc/hosts:
要求:

私有IP地址必需与公网分离,两个节点可互相访问可以ping,必须在 /etc/hosts里有;

虚拟IP地址同公网IP地址是一个网段的,如果有DNS就注册在DNS中,如果没有DNS就写在/etc/hosts文件里;

公网IP地址,是主机真正的IP地址,主机管理员预先分配,如果有DNS就注册在DNS中,如果没有DNS就写在/etc/hosts文件里),并且保证写入每个客户系统中的hosts文件。

在各个节点的网卡配置必须相同,例如:第一个节点公共IP是用bind0,那么其他节点也得用bind0


3.建立oracle、grid用户和dba组:

创建组

点击(此处)折叠或打开

  1. /usr/sbin/groupadd -g 1000 oinstall
  2. /usr/sbin/groupadd -g 1020 asmadmin
  3. /usr/sbin/groupadd -g 1021 asmdba
  4. /usr/sbin/groupadd -g 1022 asmoper
  5. /usr/sbin/groupadd -g 1031 dba
  6. /usr/sbin/groupadd -g 1032 oper
创建用户

点击(此处)折叠或打开

  1. /usr/sbin/useradd -g oinstall -G asmadmin,asmdba,asmoper,oper,dba -u 1100 grid
  2. /usr/sbin/useradd -g oinstall -G dba,asmdba,oper -u 1101 oracle
4.设置系统限制:
--在每个节点上执行相同操作


点击(此处)折叠或打开

  1. vim /etc/security/limits.conf
  2. #SETTING for ORACLE
  3. oracle soft nproc 2047
  4. oracle hard nproc 16384
  5. oracle soft nofile 4096
  6. oracle hard nofile 65536
  7. oracle soft stack 10240
  8. oracle hard stack 32768
  9. grid soft nproc 2047
  10. grid hard nproc 16384
  11. grid soft nofile 4096
  12. grid hard nofile 65536
  13. grid soft stack 10240
  14. grid hard stack 32768
5.建立GRID及RAC安装目录:
--分别在2个节点建立以下目录

点击(此处)折叠或打开

  1. mkdir -p /oracle/app/11.2.0/grid
  2. mkdir -p /oracle/app/grid
  3. mkdir -p /oracle/app/oracle
  4. chown -R grid:oinstall /oracle
  5. chown grid:oinstall /oracle/app/11.2.0/grid
  6. chown grid:oinstall /oracle/app/grid
  7. chown oracle:oinstall /oracle/app/oracle
  8. chmod -R 775 /oracle/
6.设置NTP服务:
分别在2个节点设置NTP服务

点击(此处)折叠或打开

  1. vim /etc/ntp.conf
  2. driftfile /var/lib/ntp/drift
  3. restrict default kod nomodify notrap nopeer noquery
  4. restrict -6 default kod nomodify notrap nopeer noquery
  5. restrict 127.0.0.1
  6. restrict -6 ::1
  7. server 202.106.5.193 prefer
  8. server 172.16.66.92
  9. restrict 202.106.5.193
  10. restrict 172.16.66.92
  11. includefile /etc/ntp/crypto/pw
  12. keys /etc/ntp/keys

点击(此处)折叠或打开

  1. vim /etc/sysconfig/ntpd
  2. # Drop root to id 'ntp:ntp' by default.
  3. OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"
修改完这两个文件,就可以启动服务了。

点击(此处)折叠或打开

  1. rpm -q ntp
  2. ntp-4.2.6p5-1.el6.x86_64
  3. service ntpd start
  4. 可以通过下面两条命令查看ntp服务的状态是否正常:
  5. ntpq -p
  6. ntpstat
7.设置用户的环境变量:
grid用户:

点击(此处)折叠或打开

  1. # vim ~/.bash_profile
  2. # .bash_profile

  3. # Get the aliases and functions
  4. if [ -f ~/.bashrc ]; then
  5. . ~/.bashrc
  6. fi

  7. # User specific environment and startup programs

  8. PATH=$PATH:$HOME/bin

  9. export PATH

  10. export ORACLE_BASE=/u01/app/grid
  11. export ORACLE_HOME=/u01/app/11.2.0/grid
  12. export ORACLE_SID=+ASM1
  13. export NLS_LANG=american_america.al32utf8
  14. export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
  15. export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch
  16. export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
  17. export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin
  18. export ORACLE_TERM=xterm
  19. export LD_LIBRARY_PATH=$ORACLE_HOME/lib
  20. export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
  21. export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
  22. export CLASSPATH=$ORACLE_HOME/JRE
  23. export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
  24. export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
  25. export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
  26. export THREADS_FLAG=native
  27. export TEMP=/tmp
  28. export TMPDIR=/tmp
  29. umask 022
  30. export TMOUT=0
oracle用户:

点击(此处)折叠或打开

  1. #vim ~/.bash_profile
  2. # .bash_profile

  3. # Get the aliases and functions
  4. if [ -f ~/.bashrc ]; then
  5. . ~/.bashrc
  6. fi

  7. # User specific environment and startup programs

  8. PATH=$PATH:$HOME/bin

  9. export PATH

  10. export ORACLE_BASE=/u01/app/oracle
  11. export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
  12. export ORACLE_SID=test
  13. export LANG=en_US.UTF-8
  14. export NLS_LANG=american_america.al32utf8
  15. export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
  16. export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch
  17. export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
  18. export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin:/home/oracle/run
  19. export ORACLE_TERM=xterm
  20. export LD_LIBRARY_PATH=$ORACLE_HOME/lib
  21. export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
  22. export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
  23. export CLASSPATH=$ORACLE_HOME/JRE
  24. export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
  25. export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
  26. export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
  27. export THREADS_FLAG=native
  28. export TEMP=/tmp
  29. export TMPDIR=/tmp
  30. export GI_HOME=/oracle/app/11.2.0/grid
  31. export PATH=${PATH}:$GI_HOME/bin
  32. export ORA_NLS10=$GI_HOME/nls/data
  33. umask 022
  34. export TMOUT=0
8.配置UDEV:
以下操作需要2个节点都执行:

点击(此处)折叠或打开

  1. # cd /etc/udev/rules.d
  2. # vim 99-oracle-asmdevices.rules
  3. KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="364862761000560eb82f364f700000014", NAME="asmdisk001", OWNER="grid", GROUP="asmadmin", MODE="0660"
  4. 其中RESULT的值为磁盘的UUID
  5. 获取磁盘UUID的命令如下:
  6. # scsi_id --whitelisted --replace-whitespace --device=/dev/sdb
  7. 建议使用脚本将所有磁盘的UUID输出到x.log,然后使用列编辑搞定所有asm磁盘
  8.  ./test.sh > x.log
执行并核对完99-oracle-asmdevices.rules后,便可以执行命令启动udev了:

点击(此处)折叠或打开

  1. # ./sbin/start_udev
  2. # ls -al /dev/asm*
  3. brw-rw---- 1 grid asmadmin 8, 16 Aug 7 14:57 /dev/asmdisk001
9.安装cvudisk包

点击(此处)折叠或打开

  1. # cd $INSTALL_MEDIA/grid/rpm/
  2. ## CVUQDISK_GRP=oinstall;export CVUQDISK_GRP  --可以在此处自定义安装用户组
  3. # rpm -ivh cvuqdisk-1.0.9-1.rpm
  4. Preparing... ########################################### [100%]
  5. Using default group oinstall to install package
  6. 1:cvuqdisk ########################################### [100%]
10.配置SSH互信

点击(此处)折叠或打开

  1. # cp $INSTALL_MEDIA/grid/sshsetup/sshUserSetup.sh /home/grid
  2. # cd /home/grid
  3. # chown grid:oinstall sshUserSetup.sh
  4. # su - grid
  5. $ ./sshUserSetup.sh -user grid -hosts "node1 node1-priv node2 node2-priv" -advanced -noPromptPassphrase
  6. $ date;ssh node2 date; ssh node1-priv date; ssh node2-priv date

  7. # cp $INSTALL_MEDIA/grid/sshsetup/sshUserSetup.sh /home/oracle
  8. # cd /home/oracle
  9. # chown oracle:oinstall sshUserSetup.sh
  10. # su - oracle
  11. $ ./sshUserSetup.sh -user oracle -hosts "node1 node1-priv node2 node2-priv" -advanced -noPromptPassphrase
  12. $ date;ssh node2 date; ssh node1-priv date; ssh node2-priv date
11.运行GI的安装前检查

点击(此处)折叠或打开

  1. # su - grid
  2. $ cd $INSTALL_MEDIA/grid/
  3. $ ./runcluvfy.sh stage -pre crsinst -n test1,test2 -fixup -verbose
12.安装GI软件
# su - grid
$ cd $INSTALL_MEDIA/grid
$ ./runInstaller
后面的就略了,不想贴图...累...

13.安装Database软件

点击(此处)折叠或打开

  1. # su - oracle
  2. $ cd $INSTALL_MEDIA/database/
  3. $ ./runcluvfy.sh stage -pre dbcfg -n test1,test2
后面同略,点点点的操作请自己琢磨着选。
PS:官方建议GI和Database都把中文语言包装上去,以后可能会用到。

14.Opatch补丁更新
首先需要替换更新/u01/app/11.2.0/grid/和$ORACLE_HOME下的OPatch文件,记得停crs
然后执行以下程序:

点击(此处)折叠或打开

  1. root用户执行:
  2. # /oracle/app/11.2.0/grid/crs/install/rootcrs.pl -unlock

  3. grid用户执行:
  4. $ /oracle/app/11.2.0/grid/OPatch/opatch napply -oh /oracle/app/11.2.0/grid -local /oracle/app/11.2.0/grid/OPatch/20996923/20831122
  5. $ /oracle/app/11.2.0/grid/OPatch/opatch napply -oh /oracle/app/11.2.0/grid -local /oracle/app/11.2.0/grid/OPatch/20996923/20299019
  6. $ /oracle/app/11.2.0/grid/OPatch/opatch apply -oh /oracle/app/11.2.0/grid -local /oracle/app/11.2.0/grid/OPatch/20996923/20760982

  7. oracle用户执行:
  8. $ /oracle/app/11.2.0/grid/OPatch/20996923/20831122/custom/server/20831122/custom/scripts/prepatch.sh -dbhome /oracle/app/oracle/product/11.2.0/dbhome_1
  9. $ /oracle/app/oracle/product/11.2.0/dbhome_1/OPatch/opatch napply -oh /oracle/app/oracle/product/11.2.0/dbhome_1 -local /oracle/app/11.2.0/grid/OPatch/20996923/20831122/custom/server/20831122
  10. $ /oracle/app/oracle/product/11.2.0/dbhome_1/OPatch/opatch apply -oh /oracle/app/oracle/product/11.2.0/dbhome_1 -local /oracle/app/11.2.0/grid/OPatch/20996923/20760982
  11. $ /oracle/app/11.2.0/grid/OPatch/20996923/20831122/custom/server/20831122/custom/scripts/postpatch.sh -dbhome /oracle/app/oracle/product/11.2.0/dbhome_1

  12. root用户执行:
  13. # /oracle/app/11.2.0/grid/rdbms/install/rootadd_rdbms.sh
  14. # /oracle/app/11.2.0/grid/crs/install/rootcrs.pl -patch

  15. 安装完成后运行一下命令检查版本是否更新:
  16. $ opatch lsinventory
  17. Oracle Interim Patch Installer version 11.2.0.3.11
  18. Copyright (c) 2015, Oracle Corporation. All rights reserved.
15.ASM参数设置

点击(此处)折叠或打开

  1. alter diskgroup DATA set attribute 'disk_repair_time'='2400h';
  2. alter diskgroup ARCH set attribute 'disk_repair_time'='2400h';
  3. alter diskgroup OCRDG set attribute 'disk_repair_time'='2400h';
  4. alter system set asm_diskgroups='DATA','ARCH' SCOPE=SPFILE sid='*';
  5. alter system set memoey_max_target=4096M scope=spfile;
  6. alter system set memoey_target=4096M scope=spfile;
16.创建数据库
此处也略了...大家懂得。



阅读(4550) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~