首页 > 代码库 > Centos6.5_64位系统下安装Oracle 11g

Centos6.5_64位系统下安装Oracle 11g

一、硬件要求

1.内存与Sweap:内存2G(以上),Sweap 2G(以上)

内存: 1-2G 2-16G 16G以上

Sweap: 1.5倍内存 1倍内存 16G

检查:# grep MemTotal /proc/meminfo  

# grep SwapTotal /proc/meminfo  

2.磁盘:20G以上

检查:#df -h

二、软件要求

操作系统:CentOS6.5(X86_64)

ORACLE版本:11gR2(X86_64)

下载地址:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

三、网络要求

设置静态IP,将虚拟机IP地址和真实主机IP地址设在同一IP段,其它(netmask,broadcast,gateway,dns)与主机保持一致(即可实现虚拟机<--->主机;虚拟机<---->互联网通信)。 

关闭防火墙、SELinux:

# setenforce 0 #SELinux临时关闭命令

# service iptables stop #防火墙临时关闭命令

四、安装RPM依赖包

RPM安装包列表:

binutils-2.20.51.0.2-5.11.el6 (x86_64)

compat-libcap1-1.10-1 (x86_64)

compat-libstdc++-33-3.2.3-69.el6 (x86_64)

compat-libstdc++-33-3.2.3-69.el6.i686

gcc-4.4.4-13.el6 (x86_64)

gcc-c++-4.4.4-13.el6 (x86_64)

glibc-2.12-1.7.el6 (i686)

glibc-2.12-1.7.el6 (x86_64)

glibc-devel-2.12-1.7.el6 (x86_64)

glibc-devel-2.12-1.7.el6.i686

ksh

libgcc-4.4.4-13.el6 (i686)

libgcc-4.4.4-13.el6 (x86_64)

libstdc++-4.4.4-13.el6 (x86_64)

libstdc++-4.4.4-13.el6.i686

libstdc++-devel-4.4.4-13.el6 (x86_64)

libstdc++-devel-4.4.4-13.el6.i686

libaio-0.3.107-10.el6 (x86_64)

libaio-0.3.107-10.el6.i686

libaio-devel-0.3.107-10.el6 (x86_64)

libaio-devel-0.3.107-10.el6.i686

make-3.81-19.el6

sysstat-9.0.4-11.el6 (x86_64)

方式:见http://www.92csz.com/study/linux/11.htm

联网安装:

# yum search rpmkeyword

# yum install <package-name>

默认联网地址可以修改:vi /etc/yum.repos.d/CentOS-Base.repo

先下载后安装:

RPM包拷贝到/opt目录下(或使用wget命令)

# rpm -ivh <package-name>

csdn免积分下载地址:http://download.csdn.net/detail/u010011052/6260539

用rpm安装存在依赖问题,建议如果可行,就用yum来安装。

五、修改内核参数与系统资源限制

#vi /etc/sysctl.conf  #末尾添加如下 :

net.ipv4.ip_local_port_range= 9000 65500 

fs.file-max = 6815744 

kernel.shmall = 10523004 

kernel.shmmax = 6465333657 

kernel.shmmni = 4096 

kernel.sem = 250 32000 100128 

net.core.rmem_default=262144 

net.core.wmem_default=262144 

net.core.rmem_max=4194304 

net.core.wmem_max=1048576 

fs.aio-max-nr = 1048576

# sysctl -p  #从配置文件“/etc/sysctl.conf”加载内核参数设置

# sysctl -a #查看所有系统变量

# 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    pam_namespace.so  下面添加一条:

session    required    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

# vi /etc/hosts #否则在配置Oracle监听时会出现问题而无法启动,添加如下:

192.168.8.33 ORACLEDB   #IP地址 主机名称($HOSTNAME)

# xhost +   #使所有用户都能访问图形桌面

六、创建组和用户

# groupadd -g 200 oinstall 

# groupadd -g 201 dba 

# useradd -u 440 -g oinstall -G dba oracle 

# passwd oracle

# id oracle #查看oracle用户

# vi /etc/sudoers   #将oracle加入到sudo群组,在root  ALL=(ALL)   ALL 后添加:

oracle       ALL=(ALL)       ALL  

七、创建ORACLE安装目录

# mkdir /opt/oracle/app/ 

# mkdir /opt/oracle/oradata/ 

# chmod 755 /opt/oracle/ 

# chmod 775 /opt/oracle/app/ 

# chown oracle.oinstall -R /opt/oracle/

八、设置环境变量

注销root ;用oracle帐号进入

$ vi ~/.bash_profile  #~/表示的是当前用户的根目录/home/oracle,添加如下:

export ORACLE_BASE=/opt/oracle

export ORACLE_HOME=$ORACLE_BASE/112

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export PATH=$PATH:$ORACLE_HOME/bin

export ORACLE_SID=orcl 

$ source ~/.bash_profile   #立即生效

$ export LANG=en_US.UTF-8 #更改字符集(.UTF-8不能少),否则会有中文乱码

# env|more #查看配置的环境变量是否正确

九、解压与安装

$ cd /opt/oracle   #/opt/oracle为安装文件存放目录

$ unzip /media/linux_11gR2_database_1of2.zip 

$ unzip /media/linux_11gR2_database_2of2.zip 

$ cd database

$ ./runInstaller

选择“高级安装”,以指定字符集ZH16GBK。

安装完成后,会出来一个对话框,提示使用root用户执行这两个脚本

# /opt/oracle/oraInventory/oraioot.sh

# /opt/oracle/app/product/11.2.0/dbhome_1/root.sh

su –oracle

$ lsnrctl start #开启监听

$ sqlplus / as sysdba

SQL> startup #启动数据库

十、自启动服务设置

# vi /etc/init.d/oracledb #编辑新增文件如下:

# chkconfig: 35 80 10

# description: starts the oracle dabase deamons

# /etc/init.d/oracledb

ORACLE_HOME=/opt/oracle/112

ORACLE_OWNER=oracle

case "$1" in

start)

echo -n "Starting oracledb: "

su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart"

touch /var/lock/subsys/oracledb

echo -n "Starting lsnr: "

su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl start"

echo -n "Starting dbconsole: "

su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl start dbconsole"

echo

;;

stop)

echo -n "shutting down dbconsole: "

su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl stop dbconsole"

echo -n "shutting down lsnr: "

su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop"

echo -n "shutting down oracledb: "

su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbshut"

rm -f /var/lock/subsys/oracledb

echo

;;

restart)

echo -n "restarting oracledb: "

$0 stop

$0 start

echo

;;

*)

echo "Usage: `basename $0` start|stop|restart"

esac

其中35 80 10基于如下查询:

[oracle@oracledb rc.d]$ find -name ‘K*oracledb‘

./rc2.d/K10oracledb

./rc4.d/K10oracledb

./rc6.d/K10oracledb

./rc1.d/K10oracledb

./rc0.d/K10oracledb

[oracle@oracledb rc.d]$ find -name ‘S*oracledb‘

./rc5.d/S80oracledb

./rc3.d/S80oracledb

[oracle@oracledb rc.d]$ chkconfig --list oracledb

oracledb 0:off 1:off 2:off 3:on 4:off 5:on 6:off

如上oracledb文件中前两行注释也可以不写,可以采用文件链接:

# ln -s /etc/init.d/oracledb /etc/rc.d/rc3.d/S80oracledb

# ln -s /etc/init.d/oracledb /etc/rc.d/rc5.d/S80oracledb

# ln -s /etc/init.d/oracledb /etc/rc.d/rc0.d/K10oracledb

# ln -s /etc/init.d/oracledb /etc/rc.d/rc1.d/K10oracledb

# ln -s /etc/init.d/oracledb /etc/rc.d/rc2.d/K10oracledb

# ln -s /etc/init.d/oracledb /etc/rc.d/rc4.d/K10oracledb

# ln -s /etc/init.d/oracledb /etc/rc.d/rc6.d/K10oracledb

# chmod 775 /etc/init.d/oracledb #改变文件权限

# chkconfig --level 35 oracle on  #添加服务

# vi /etc/oratab   #修改oracle启动配置  

orcl:/opt/oracle/112:Y  #$ORACLE_SID:$ORACLE_HOME:<N|Y>:

 

Centos6.5_64位系统下安装Oracle 11g