1、下载软件
1.1CentOS 6.4x86_64

http://mirrors.163.com/centos/

1.2Oracle 11g R2Linux x86-64

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

附:Oracle 10g下载址:

http://www.cnblogs.com/wenlg/archive/2010/05/19/1738893.html

二、安装CentOS安装
虚拟机,40G HDD, 2GRAM
2.1、安装规划
机器名:dbserver
a、安装时设置
b、或装好后vi /etc/sysconfig/network

2.2、网络
IPADDR:192.168.8.15
NETMASK:255.255.255.0
GATEWAY:192.168.8.1
DNS1:202.96.134.133
DNS2:8.8.8.8
自动连接设置为yes
a、安装时设置
b、装好后使用setup
c、装好后vi /etc/sysconifg/network-scripts/ifcfg-eth0,改好后service network restart

2.3、磁盘规划
磁盘有限,分区可能不太合理,尽量用LVM
/boot 200M 主分区
/ 5GB 主分区
/home 5GB
swap 2000M swap分区
/var 10G 扩展分区
/u01 剩下所有空间 扩展分区

swap 大小参考以下:
物理内存小于4G时,SWAP大小设置为物理内存的1.5倍
物理内存大小为4G以上时,SWAP大小建议为与物理内存相同,但最大不超过8

2.4、安装时主要设置
简体中文
美式键盘
CentOS6安装时选Basic Server,然后选“现在自定义”
”基本系统“中去掉Java
“应用程序”中最好选上Emacs和互联网应用程序
“桌面”中选上除了KDE桌面外的所有组件

重启后设置:
ntp最好选上,保证时间正确,并在高级选项中选上“快速启动同步”
kdump可以不要
再reboot,OK

3、系统检查
3.1、内存推荐2GB以上
# grep MemTotal /proc/meminfo
# free -m
3.2swap 分区设置见下
# swapon -s
/tmp 目录大于1G
# df -h /tmp
# du -sm /tmp
3.3、磁盘空间应该都没问题
# df -h
3.4、系统架构
# cat /proc/version
# uname -a
# uname -r
# lsb_release -a

4、设置系统
4.1、操作系统
系统只支持Red Hat Enterprise Linux 6,CentOS 6其实就是RHEL6,但Oracle不认,所以要改一下
vi /etc/redhat-release
#CentOS release 6.4 (Final)这行注释掉,加上下面的
Red Hat Enterprise Linux 6
4.2、核心
2.6.32-358.2.1.el6.x86_64
# uname -r 检查一下
一般都是没有问题的。

4.3、包需求

这是最烦人的。无数人死在这上面或精力耗在这上面

不过11g很人性化了,增加了检查的机制,还有就是不象10g那样在64位下要安装很多的32位包,只需要安装一个gcc-32bit-4.3就OK了。
下列表必须要安装:
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)
技巧(包名不要加版本号,即第一个“-数字”后面的不要,如gcc)
rpm -q 包名
yum list installed | grep '^包名'
没装的配好网络或配置好dvd2
yum install 包名
yum install 包名*
yum search 包名
yum whatprovides 文件名
yum install 文件名
pdksh通过yum 找不到的,使用下面的方法安装
#wget http://www.toxingwang.com/wp-content/uploads/2013/03/pdksh-5.2.14-37.el5_8.1.x86_64.zip

#unzip pdksh-5.2.14-37.el5_8.1.x86_64.zip

#rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm

好,安装,安装前用先更新一下系统到最新版本

# yum -y update
# reboot
我已经将上面包写成安装一个命令了,除非人品不好,不然应该一次成功
#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

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

5.2、防火墙
iptables
ip6tables
关掉,最简单关闭方法是使用setup工具

5.3、不必要的服务

cups 打印机
postfix 等

关服务命令
1、ntsysv 可视化界面配置保存
2、chkconifg

chkconfig --list | grep on 看哪些服务开着在

service 服务名 stop 或 /etc/init.d/服务名 stop

chkconfig 服务名 off

5.4、机器名
#hostname
/etc/sysconfig/network中的hostname要与/etc/hosts中的一致
#vim /etc/hosts
127.0.0.1   localhost dbserver
::1         localhost dbserver
#ip dbserver
有人还加上最后一行的ip设置(我没加)

6、建立用户,组,安装目录
6.1、建立用户和组(参考官方文档)
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
echo "oracle" | passwd --stdin oracle #密码设置为oracle,为安全,改一下吧,也可以直接用交互式的passwd命令
如果oralce用户存在,第三个命令变成:
usermod -g oinstall -G dba oracle

还有一种加oper组的(建议这种)

groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba,oper oracle
echo "oracle" | passwd --stdin oracle

查看一下
id oracle
uid=501(oracle) gid=501(oinstall) 组=501(oinstall),502(dba),503(oper)

6.2、建立安装目录
mkdir -p /u01/app/oracle/product/11.2.0/db_1
mkdir  /u01/oradata
chown -R oracle:oinstall /u01
chmod -R 775 /u01

7、修改很多参数
7.1、内核参数

如果省略此步骤,安装oracle在环境检测时会报错。
#vi /etc/sysctl.conf  ##添加如下内容

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1073741824
kernel.shmmni = 8192
kernel.sem = 250 32000 100 128
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

关键语句解释如下:

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

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

还有特别注意sysctl.conf中shmmax ,shmall 已经有了,要注释掉
改好后,使之生效
sysctl -p

7.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 -Sn
ulimit -Sn
ulimit -Sn

vi /etc/pam.d/login (感觉好象没有必要)
#session required /lib/security/pam_limits.so
session required pam_limits.so

7.3、修改ulimit(感觉好象没有必要)
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

7.4、修改oracle用户环境变量
vi ~oracle/.bash_profile
ORACLE_BASE=/u01/app/oracle #修改和OFA路径一致
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
ORACLE_SID=ORADB #修改
export ORACLE_BASE ORACLE_HOME ORACLE_SID

PATH=$ORACLE_HOME/bin:$PATH
export PATH

或者下面的,都差不多啦
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_HOSTNAME=dbserver; export ORACLE_HOSTNAME
ORACLE_UNQNAME=ORADB; export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME
ORACLE_SID=ORADB; export ORACLE_SID
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

8、安装过程中和运行dbca时出现乱码的解决:

如果使用了中文界面,在安装和运行dbca时还会出现如下的乱码:

<a href="http://www.toxingwang.com/wp-content/uploads/2013/03/luanma.jpg" class="cboxElement" rel="example4" 484"="" style="text-decoration: none; color: rgb(1, 150, 227);">CentOS 6.4安装oracle 11G_centos oracle


这是因为oracle默认的安装包下缺少中文字体的缘故,解决办法如下:

8.1 下载中文支持字体zysong.ttf,点击下载fallback

8.1 使用归档管理器打开database/stage/Components/oracle.jdk/1.5.0.17.0/1/DataFiles/all.jar,将上述下载到的fallback文件夹拖入all.jar对应的/jdk/jre/lib/fonts/下,及拖入后字体的路径为all.jar文件的/jdk/jre/lib/fonts/fallback/zysong.ttf。

注:服务器没有安装归档管理器,可以使用windows下的压缩软件winRAR,用法一样。

8.3 关闭后重新运行安装程序不再出现乱码。但安装程序在使用dbca配置数据库时,仍然还会出现乱码,此时需要按如下操作:
复制上述下载的字体文件夹到oracle安装文件夹下,如我的为:
$cp ~/fallback/zysong.ttf $ORACLE_HOME/jdk/jre/lib/fonts/fallback/
~/表示当前用户的家目录,而我下载的字体文件夹就放在该目录下的。
重新运行dbca即可正常。