CentOS6.4安装Oracle11g

来源:互联网 发布:淘宝众筹文案模板 编辑:程序博客网 时间:2024/05/17 23:00

CentOS6.4安装Oracle11g

1、下载软件
Oracle 11g R2
(Linux x86-64

http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

2、检查操作系统的核心
2.6.32-358.2.1.el6.x86_64
# uname -r
检查一下
一般都是没有问题的。

3、包需求

我已经将上面包写成安装一个命令了,除非人品不好,不然应该一次成功
#yum install \
binutils \
compat-libcap1  \
compat-libstdc++-33 \
compat-libstdc++-33*.i686 \
elfutils-libelf-devel \
gcc \
gcc-c++ \
glibc*.i686 \
glibc \
glibc-devel \
glibc-devel*.i686 \
ksh \
libgcc*.i686 \
libgcc \
libstdc++ \
libstdc++*.i686 \
libstdc++-devel \
libstdc++-devel*.i686 \
libaio \
libaio*.i686 \
libaio-devel \
libaio-devel*.i686 \
make \
sysstat \
unixODBC \
unixODBC*.i686 \
unixODBC-devel \
unixODBC-devel*.i686

安装libXp
#yum -y install libXp

4、selinux,防火墙,不必要服务,机器名
1
)selinux 关掉吧(不建议
#vi /etc/sysconfig/selinux
SELINUX=enforcing
改成SELINUX=disabled
然后执行命令setenforce 0,使其立即生效

2)防火墙
iptables
ip6tables
关闭

chkconfig iptables off

检查是否关闭

Chkconfig iptables --list

3)不必要的服务

cups 打印机

chkconfig cups off

postfix

chkconfig postfix off

4)机器名
#hostname
/etc/sysconfig/network
中的hostname要与/etc/hosts中的一致
#vim /etc/hosts
127.0.0.1   localhost dbserver
::/ www.centos.company_name localhost

5、建立用户,组,安装目录
#groupadd oinstall
#groupadd dba
#groupadd oper
#useradd -g oinstall -G dba,oper oracle
#passwd oracle

 

#mkdir /home/oracle/orabase

#mkdir  /home/oracle/orabase/orahome

chown -R oracle:oinstall /home/oracle/orabase
6
、修改系统环境变量
1
)内核参数

#vi /etc/sysctl.conf  ##添加如下内容

kernel.shmall = 2097152
kernel.shmmax = 1073741824 #
最小大于内存的一半
kernel.shmmni = 8192
kernel.sem = 250 32000 100 128 #
数字间有空格

fs.file-max=6815744

net.ipv4.ip_local_port_range = 9000 65500 #数字间有空格
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576

fs.aio-max-nr=10488576

关键语句解释如下:

kernel.sem:表示系统信号量和系统调用操作数

kernel.shmmax:表示最大共享内存值,建议大小设置为:共享内存值(一般为物理内存的一般)*1024*1024,如2G物理内存,则建议设置为1024*1024*1024=1073741824

还有特别注意sysctl.conf中shmmax ,shmall 已经有了,要注释掉,大于推荐值的,不需要更改

改好后,使之生效
sysctl -p

2)修改进程数和最大会话数
vim /etc/security/limits.conf

在文件后的末尾增加

oracle             soft    nproc   2047
oracle              hard    nproc  16384
oracle              soft    nofile 1024
oracle              hard    nofile 65536
oracle              soft    stack  10240
注意:修改此文件是即时生效的,但可能要重登录后再看
ulimit -Sn
ulimit -Hn
ulimit -Su
ulimit -Hu
ulimit –Ss

ulimit –Hs

3) 关联设置

vi /etc/pam.d/login

如果是32位操作系统,在文件的末尾增加,64位操作系统不需要增加

#session required /lib/security/pam_limits.so
session required pam_limits.so

4)修改/etc/profile
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

5)设置oracle用户环境变量
cd /home/oracle

vi .bash_profile
ORACLE_BASE=/home/oracle/orabase
ORACLE_HOME=$ORACLE_BASE/orahome
--
下面的配置是安装oracle后新建的oracle实例的名字,建议最多5位

ORACLE_SID=orcl 或 ora11g
PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH

Export NLS_LANG=”SIMPLIFIED CHINESE_CHINA”.ZHS16GBK

7、设置系统
系统只支持Red Hat Enterprise Linux 6,CentOS 6其实就是RHEL6,但Oracle不认,所以要改一下
vi /etc/redhat-release
#CentOS release 6.4 (Final)这行注释掉,加上下面的
Red Hat Enterprise Linux 6

8、开始安装

1)以root用户登录

export DISPLAY=:0

再执行xhost +命令,xhost空格+,使得所有客户端都可以访问

返回信息为:

access control disabled clientscan connect from an host

 

挂载系统光盘

#mount –t iso9660 /dev/cdrom/media/cdrom

或#mount/dev/cdrom /media/cdrom

#df

显示光盘已挂载。

这时可以复制文件到本机并解压

#unzip file_name –ddirectory_name

 

用oracle用户进入Linux

#su –oracle

进入终端

$sh /media/cdrom/runInstaller

安装过程是图形界面,按照提示一直安装就行,安装过程中会要求你用root用户身份执行命令root.sh和orainsRoot.sh,自己照着提示的完整路径做就是,还有会要求制定一个inventory目录,随便哪个位置都行。

先决条件检查时,会提示缺少软件包,都是32位的

Liaio-0.3.106  compat-libstdc++-33-3.2.3  libaio-devel-0.3.105  libgcc-3.4.6 libstdc++-3.4.6 unixODBC-2.2.11 unixODBC-devel-2.2.11 pdksh-5.2.14 除了pdksh外,其他都已安装过,再次安装也不行。

 

运行netca创建listener

运行dbca创建数据库ora11g

此时需要注意字符集的选择,对于含有中文数据的数据库来说,可以选择Unicode编码(如果字符集选择不对,后面再修必时非常麻烦)。或者选择ZHS16GBK-GBK

 

2)系统重启后启动oracle过程 
在oracle用户下,进入终端输入 
sqlplus 

SQL*Plus: Release 11.2.0.1.0 Production on MonFeb 20 22:46:00 2012 
Copyright (c) 1982, 2009, Oracle.  Allrights reserved. 
Enter user-name: sys as sysdba 
Enter password: 
输入正确的用户名和密码,注意sys用户登录的话必须加上 as sysdba 
然后启动oracle服务: 
sql> startup 

sql> exit 
再启动oracle监听程序 
[oracle@Ajita
桌面]$ cd $ORACLE_HOME/bin 
[oracle@Ajita bin]$ lsnrctl start 

如果想启动em服务,还要输入 
[oracle@Ajita bin]$emctl start dbconsole 

然后访问地址:https://localhost:1158/em/console/logon/logon 

注:oracle11g是没有isqlplus的 

3
)测试 
重新打开一个终端,如下输入: 
$ sqlplus sys as sysdba 
@localhost :1521/orcl 
输入密码,进入到oracle的sqlplus命令行下,执行一个最简单的查询: 
SQL> select table_name from user_tables; 

 

9、sqlplus环境中按方向键乱码解决方法

在centos6.4下安装了oracle11g,进入sqlplus后按方向键会出现“^[[D^[[D”乱码,解决方法如下:

 

1) 先安装以下几个安装包,除了rlwrap包其他都能在系统iso文件中找到。

可使用如下命令

#yuminstall file_name 包括32位和64位

         readline-6.0-4.el6.i686.rpm

         readline-devel-6.0-4.el6.i686.rpm

          ncurses-devel-5.7-3.20090208.el6.i686.rpm

compat-libtermcap-2.0.8-49.el6.i686.rpm

         compat-readline5-5.2-17.1.el6.i686.rpm

 

         rlwrap-0.37-1.el5.i386.rpm

 

下载rlwrap-0.37.tar.gz,然后上传到

/tmp目录下。

2)解压缩安装

[root@localhosttmp]#tar -zxvf rlwrap-0.37.tar.gz

[root@localhosttmp]#cd rlwrap-0.37

[root@localhostrlwrap-0.37]#ls

[root@localhostrlwrap-0.37]#./configure

[root@localhostrlwrap-0.37]#make

[root@localhostrlwrap-0.37]#makeinstall

 

3) 修改 .bash_profile文件

修改oracle用户下的 .bash_profile文件,在最后添加如下两行:

aliassqlplus="rlwrap sqlplus"

aliasrman="rlwrap rman"

退出重进oracle用户即可

 

10、启动流程

这时启动Oracle 的流程如下

1)以root登录

2)export DISPLAY=:0

3)vncserver启动VNC服务

4)xhost +

5)su oracle切换用户

6)cd ~

7)source .bash_profile

8)lsnrctl start

9)sqlplus / as sysdba

10)startup open;

 

 

 

11、配置Oracle随系统启动,必须先创建数据库

1) 以root登录,修改oratab

#vi /etc/oratab

xx:/opt/oracle/11.2.0:Y (将N改为Y)

2) 以oracle登录,修改dbstart、dbshut

$vi /opt/oracle/11.2.0/bin/dbstart

ORACLE_HOME_LISTENER=$ORACLE_HOME (原来是$1)

保存

$vi /opt/oracle/11.2.0/bin/dbshut

ORACLE_HOME_LISTENER=$ORACLE_HOME (原来是$1)

保存

3) 以root登录

#cd /etc/rc.d/init.d

#vi oracle11g

#!/bin/bash

#chkconfig:35 61 61

#decription: Oracle11g AutoRun Service

#/etc/rc.d/init.d/oracle11g

export ORACLE_SID=ora11g

exportORACLE_HOME=/home/oracle/orabase/orahome

export PATH=$PATH:$ORACLE_HOME/bin

case “$1” in

start)

echo “Starting Oracle Database:’

su – oracle –c $ORACLE_HOME/bin/dbstart

;;

stop)

echo “Shutting down Oracle Database:”

su – oracle –c $ORACLE_HOME/bin/dbshut

;;

reload|restart)

$0 stop

$o start

;;

*)

echo “Usage:{start|stop|reload|restart}”

exit 1

esac

exit 0

保存后

#chkconfig –add oracle

查看是否已启动

#chkconfig –list oracle11g

授权

#chmod 750 /etc/rc.d/init.d/oracle11g

4) 测试运行

#cd /etc/rc.d/init.d

#./oracle11g start

#./oracle11g stop