简介:
在CentOS上安装Oracle单机版。
安装环境及版本:
系统环境:CentOS Linux release 6.5
Oracle版本:p13390677_112040_Linux-x86-64_1of7.zip、p13390677_112040_Linux-x86-64_2of7.zip、p13390677_112040_Linux-x86-64_3of7.zip
目录:
一、安装CentOS 操作系统(添加网卡、配置IP、主机名、关闭防火墙、hosts、禁用SELINUX、关闭NetworkManager、创建共享磁盘)
二、预备(用户及用户组、目录及权限、环境变量、资源配置、停止NTP)
三、安装依赖包
四、对等性验证
五、安装ASM
六、安装前预检查配置信息
七、安装grid
八、创建ASM磁盘组
九、安装Oracle Software
十、Oracle数据库安装
十一、常用操作
一、安装CentOS 操作系统
1.1 安装操作系统
在VMware上安装操作系统:CentOS Linux release 6.5,具体安装方式参考《VMware创建系统CentOS》
1.2 安装VMTools
参考《VMware安装VMTools(CentOS)》
1.3 快照
参考《VMware快照》
1.4 添加网卡(两节点)
详情参考《VMware添加网卡》
1.5 配置IP地址(两节点)
eth0为共有网卡,需要添加私有网卡eth1,两个节点都需要添加配置文件
命令:cp ifcfg-eth0 ifcfg-eth1
1.5.1 配置节点1的IP地址
root账号登录,配置网卡eth0和eth1的IP地址
命令:vi /etc/sysconfig/network-scripts/ifcfg-eth0
命令:vi /etc/sysconfig/network-scripts/ifcfg-eth1
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.110
NETMASK=255.255.255.0
GATEWAY=192.168.0.2
DNS1=211.81.20.201
vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=static
IPADDR=172.10.30.101
NETMASK=255.255.255.0
启用网卡:service network restart
验证:ifconfig
验证:ping www.baidu.com
1.5.2 配置节点2的IP地址
root账号登录,配置网卡eth0和eth1
命令:vi /etc/sysconfig/network-scripts/ifcfg-eth0
命令:vi /etc/sysconfig/network-scripts/ifcfg-eth1
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.111
NETMASK=255.255.255.0
GATEWAY=192.168.0.2
DNS1=211.81.20.201
vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=static
IPADDR=172.10.30.102
NETMASK=255.255.255.0
启用网卡:service network restart
验证:ifconfig
验证:ping www.baidu.com
1.6 配置主机名(两节点)
1.6.1 节点1:主机名为racnode1
命令:vi /etc/sysconfig/network
vi /etc/sysconfig/network
HOSTNAME=racnode1
重启节点:reboot
1.6.2 节点2:主机名为racnode2
命令:vi /etc/sysconfig/network
vi /etc/sysconfig/network
HOSTNAME=racnode2
重启节点:reboot
1.7 关闭防火墙(两节点)
root账号登录节点1和节点2
关闭防火墙:/etc/init.d/iptables stop
禁止自启动:chkconfig iptables off
1.8 禁用SELINUX(两节点)
root账号登录节点1和节点2,修改vi /etc/selinux/config
SELINUX=disabled
1.9 修改/etc/hosts(两节点)
root账号分别登录节点1和节点2,修改文件:vi /etc/hosts
#racnode1
192.168.0.110 racnode1 racnode1
192.168.0.201 racnode1-vip racnode1-vip
172.10.30.101 racnode1-priv racnode1-priv
#racnode2
192.168.0.111 racnode2 racnode2
192.168.0.202 racnode2-vip racnode2-vip
172.10.30.102 racnode2-priv racnode2-priv
#scan-ip
192.168.0.200 scan-cluster scan-cluster
启用节点1和节点2的网卡:service network restart
1.10 关闭NetworkManager服务,并禁用
root账号登录节点1和节点2
停止:/etc/init.d/NetworkManager stop
禁止自启动:chkconfig NetworkManager off
重启网卡:/etc/init.d/network restart
1.11 创建共享磁盘
参考《VMware创建共享磁盘》
两台虚拟机需要共享磁盘,创建4块共享磁盘,两块为5GB,另外两块为10GB,并格式化
二、预备
2.1 创建用户及用户组(两节点)
用root账号登录节点1和节点2,创建账号oracle和grid,并设置密码
groupadd -g 501 dba
groupadd -g 502 oinstall
groupadd -g 503 oper
groupadd -g 504 asmadmin
groupadd -g 505 asmoper
groupadd -g 506 asmdba
useradd -g oinstall -G dba,asmdba,oper oracle
useradd -g oinstall -G asmadmin,asmdba,asmoper,dba grid
passwd grid
passwd oracle
2.2 创建目录及设置权限(两节点)
用root账号登录节点1和节点2,执行
mkdir -p /u01/app
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oracle/11.2.0/db_1
mkdir -p /u01/app/grid
mkdir -p /u01/app/11.2.0/grid
mkdir -p /u01/app/oraInventory
chown -R oracle:oinstall /u01
chmod -R 775 /u01
chown -R oracle:oinstall /u01/app
chmod -R 775 /u01/app
chown oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/app/oracle
chown oracle:oinstall /u01/app/oracle/11.2.0/db_1
chmod -R 775 /u01/app/oracle/11.2.0/db_1
chown -R grid:oinstall /u01/app/grid
chmod -R 775 /u01/app/grid
chown -R grid:oinstall /u01/app/11.2.0/grid
chmod -R 775 /u01/app/11.2.0/grid
chown grid:oinstall /u01/app/oraInventory
chmod -R 775 /u01/app/oraInventory
2.3 设置环境变量(两节点)
2.3.1 节点1:grid用户
切换到新建的grid用户:su – grid
编辑grid用户的环境变量文件:vi ~/.bash_profile
umask 022
export TMP=/tmp
export TMPDIR=/tmp
export PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R/bin:/usr/sbin
export ORACLE_SID=+ASM1
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export ORACLE_HOSTNAME=racnode1
export ORACLE_TERM=xterm
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=$ORACLE_HOME/bin:$PATH
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export CVUQDISK_GRP=oinstall
环境变量生效:source ~/.bash_profile
2.3.2 节点1:oracle用户
切换到新建的oracle用户:su – oracle
编辑Oracle用户的环境变量文件:vi ~/.bash_profile
umask 022
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=racnode1
export ORACLE_TERM=xterm
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export ORACLE_SID=racnode1
export ORACLE_UNQNAME=racnode
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/11.2.0/db_1
export PATH=${PATH}:$CRS_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
export TNS_ADMIN=$ORACLE_HOME/network/admin
#export ORA_NLS10=$GRID_HOME/nls/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$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/network/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export THREADS_FLAG=native
环境变量生效:source ~/.bash_profile
2.3.3 节点2:grid用户
切换到新建的grid用户:su – grid
编辑grid用户的环境变量文件:vi ~/.bash_profile
umask 022
export TMP=/tmp
export TMPDIR=/tmp
export PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R/bin:/usr/sbin
export ORACLE_SID=+ASM2
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export ORACLE_HOSTNAME=racnode2
export ORACLE_TERM=xterm
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=$ORACLE_HOME/bin:$PATH
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export CVUQDISK_GRP=oinstall
环境变量生效:source ~/.bash_profile
2.3.4 节点2:oracle用户
切换到新建的oracle用户:su – oracle
编辑Oracle用户的环境变量文件:vi ~/.bash_profile
umask 022
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=racnode2
export ORACLE_TERM=xterm
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export ORACLE_SID=racnode2
export ORACLE_UNQNAME=racnode
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/11.2.0/db_1
export PATH=${PATH}:$CRS_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
export TNS_ADMIN=$ORACLE_HOME/network/admin
#export ORA_NLS10=$GRID_HOME/nls/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$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/network/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export THREADS_FLAG=native
环境变量生效:source ~/.bash_profile
2.4 修改资源配置
2.4.1 系统资源数量(两节点)
用root账号登录节点1和节点2,修改:vi /etc/security/limits.conf
grid soft nproc 16384
grid hard nproc 16394
grid soft nofile 65536
grid hard nofile 65536
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
2.4.2 OS Kernel(两节点)
用root账号登录节点1和节点2:vi /etc/sysctl.conf
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 4194304
net.core.wmem_max = 4194304
kernel.panic = 60
fs.aio-max-nr = 1048576
net.ipv4.tcp_syncookies = 1
root账号下,用sysctl -p命令验证,是否修改成功
2.4.3 配置/etc/pam.d/login(两节点)
用root账号登录节点1和节点2,修改:vi /etc/pam.d/login
echo "session required /lib64/security/pam_limits.so" >>/etc/pam.d/login
echo "session required pam_limits.so" >>/etc/pam.d/login
2.4.4 配置/etc/profile(两节点)
用root账号登录节点1和节点2,修改:vi /etc/profile
#set oracle rac env
if [ $USER = "ORACLE" ] || [ $USER = "GRID" ];then
if [ $SHELL = "/bin/ksh" ];then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
2.4.5 停止并删除NTP服务(两节点)
用root账号登录节点1和节点2,执行
停止NTP服务:service ntpd status
禁止自启动:chkconfig ntpd off
备份配置文件:cp /etc/ntp.conf /etc/ntp.conf.bak
删除配置文件:rm -rf /etc/ntp.conf
三、安装依赖包
上传需要用到的依赖包
3.1 安装依赖包1(两节点)
root账号登录节点1和节点2,执行
yum -y install binutils-*
yum -y install compat-libstdc++-*
yum -y install elfutils-libelf-*
yum -y install elfutils-libelf-devel-*
yum -y install gcc-*
yum -y install gcc-c++-*
yum -y install glibc-*
yum -y install glibc-common-*
yum -y install glibc-devel-*
yum -y install glibc-headers-*
yum -y install kernel-headers-*
yum -y install ksh-*
yum -y install libaio-*
yum -y install libaio-devel-*
yum -y install libgcc-*
yum -y install libstdc++-*
yum -y install libstdc++-devel*
yum -y install numactl-devel*
yum -y install make-*
yum -y install sysstat-*
yum -y install unixODBC-*
yum -y install unixODBC-devel-*
3.2 安装依赖包2(两节点)
root账号登录节点1和节点2
yum install libXp*
3.3 安装依赖包3(两节点)
root账号登录节点1和节点2
rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm (这个包需要下载)
而且安装过程中回合KSH冲突:
error: Failed dependencies:
pdksh conflicts with ksh-20120801-10.el6.x86_64
rpm -e ksh
rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm
3.4 安装依赖包4(两节点)
root账号登录节点1和节点2,执行rpm -ivh cvuqdisk-1.0.9-1.rpm
3.5 安装依赖包5(两节点)
root账号登录节点1和节点2
yum install compat-libcap1*
四、对等性验证
4.1 oracle用户
4.1.1 创建秘钥(两节点)
root登录节点1和节点2,
su - oracle
mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa
一路回车
ssh-keygen -t dsa
一路回车
4.1.2 秘钥匹配(节点1)
oracle用户在节点1执行(这个节点2不用执行,将节点1复制过去)
cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys
cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys
ssh racnode2 cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys
ssh racnode2 cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys racnode2:~/.ssh/authorized_keys
4.1.3 验证(两节点)
oracle账号登录节点1和节点2
ssh racnode1 date
ssh racnode2 date
ssh racnode1-priv date
ssh racnode2-priv date
4.2 grid用户
和oracle用户操作一样