一、安装系统

首先安装Linux系统,根据Oracle官方文档的建议,在机器内存小于1G的情况下,swap分区大小应该设置为内存的2倍大,若内存大于2G则swap分区设置为与内存大小一样。

为防止Oracle安装过程中出现乱码,建议使用英文作为系统语言,进行Oracle的安装工作

二、安装Oracle前的系统准备工作

1.检查需要的软件包

可以使用rpm -qa|grep 软件包关键词命令进行检测,一般情况下会需要手动安装如下的软件包:

From RedHat AS5 Disk 1(32 Bit)

# rpm -Uvh setarch-2* 
  # rpm -Uvh make-3* 
  # rpm -Uvh glibc-2* 
  # rpm -Uvh libaio-0*

From RedHat AS5 Disk 2(32 Bit)

# rpm -Uvh compat-libstdc -33-3* 
  # rpm -Uvh compat-gcc-34-3* 
  # rpm -Uvh compat-gcc-34-c -3* 
  # rpm -Uvh gcc-4* 
  # rpm -Uvh libXp-1*

From RedHat AS5 Disk 3(32 Bit)

# rpm -Uvh openmotif-2* 
  # rpm -Uvh compat-db-4*

[将上面的换成如下:]

在CentOS 6.4 64位系统上安装Oracle 10g

确认你的操作系统是34位还是64位,本教程只支持64位安装!!

命令:$getconf LONG_BIT

A.      初始化网络

1. 设置网络参数

编辑/etc/sysconfig/network-scripts/ifcfg-eth0,初始化网络参数(根据实际情况编辑)。

编辑/etc/hosts,加入主机名和IP(主机名用hostname或者uname –n 命令查看,两条命令的结果必须相同)

2. 设置系统服务

禁用一些不必要的系统服务

chkconfig iptables off

chkconfig ip6tables off

chkconfig cups off

chkconfig firstboot off

chkconfig wpa_supplicant off

chkconfig postfix off

3. 安装常用软件及必需软件

安装kernel-devel和kernel-headers,并且在更新系统时,禁止更新kernel:

yum -y install kernel-devel kernel-headers && echo exclude=kernel* >> /etc/yum.conf

更新系统:

yum -y update

安装常用软件:

yum -y install autoconf automake binutils-devel bison cpp dos2unix ftp gcc gcc-c++ lrzsz python-devel

安装Oracle必需软件:

yum -y install compat-db compat-gcc-34 compat-gcc-34-c++ compat-libstdc++-33 glibc-* glibc-*.i686 libXpm-*.i686 libXp.so.6 libXt.so.6 libXtst.so.6 libgcc_s.so.1 ksh libXp libaio-devel numactl numactl-devel unixODBC unixODBC-devel

如果使用DVD安装介质的话,会很方便。

2.修改Linux发行版本信息

由于Oracle 10g发行的时候,RedHat Enterprise Linux 5没有发行,所以Oracle 10g并没有对RedHat Enterprise Linux 5确认支持,我们有两种方法可以让Oracle 10g支持RedHat Enterprise Linux 5。

方法一:

我们需要手工修改Linux的发行注记,让Oracle 10g支持RedHat Enterprise Linux 5。

编辑/etc/redhat-release文件

# vi /etc/redhat-release

将其中的内容Red Hat Enterprise Linux Server release 5 (Tikanga)修改为Red Hat Enterprise Linux AS release 4 (Nahant Update 4)

方法二:

还有文章说修改Oracle安装包中install/oraparam.ini文件的内容,也可以让Oracle 10g支持RedHat Enterprise Linux 5,修改方法如下:

# vi install/oraparam.ini

在其中的Certified Versions段落增加redhat-5

#[Certified Versions] 
Linux=redhat-3,SuSE-9,redhat-4,redhat-5,UnitedLinux-1.0,asianux-1,asianux-2]

再添加 
[Linux-redhat-5.0-optional] 
TEMP_SPACE=80 
SWAP_SPACE=150 
MIN_DISPLAY_COLORS=256

经我测试,发现方法二在安装之前的系统检测过程可以通过,但是在安装过程中的系统支持检测无法通过,不知道是不是我设置的有问题,希望有高手可以给我点提示。

3.修改系统内核参数

# vi /etc/sysctl.conf

kernel.shmall = 2097152                    //  该参数表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152,通常不需要修改kernel.shmmax = 2147483648            //  该参数定义了共享内存段的最大尺寸(以字节为单位)。缺省为32M,对于oracle来说,该缺省值太低了,通常将其设置为2G 
kernel.shmmni = 4096                       //  这个内核参数用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096 。通常不需要更改 
kernel.sem = 250 32000 100 128        //  表示设置的信号量 
fs.file-max = 65536                            //  表示文件句柄的最大数量。文件句柄设置表示在linux系统中可以打开的文件数量 
net.ipv4.ip_local_port_range = 1024 65000 
net.core.rmem_default=262144        //  默认的接收窗口大小 
net.core.rmem_max=262144             //  接收窗口的最大大小 
net.core.wmem_default=262144      //  默认的发送窗口大小 
net.core.wmem_max=262144           //  发送窗口的最大大小

修改好内核参数后,执行如下命令使新的设置生效

# /sbin/sysctl -p

4.创建Oracle用户、组、安装目录

在这里我只讨论单主机环境,不考虑RAC环境的配置,在以后我会专门写一篇如何配置Oracle RAC环境的文章。

(1) 创建Oracle用户组

# groupadd oinstall 
# groupadd dba

(2) 创建Oracle用户

# useradd -m -g oinstall -G dba oracle

(3) 设置Oracle用户口令

# passwd oracle

(4) 创建Oracle安装目录以及数据存放目录

# mkdir -p /DBSoftware/app/oracle 
# mkdir -p /DBData/oradata

(5) 修改目录权限

# chown -R oracle:oinstall /DBSoftware/app/oracle/ /DBData/oradata/ 
# chmod -R 755 /DBSoftware/app/oracle/ /DBData/oradata/

5.添加以下内容到/etc/security/limits.conf

# vi /etc/security/limits.conf

oracle soft nproc 2047 
oracle hard nproc 16384 
oracle soft nofile 1024 
oracle hard nofile 65536

6.添加以下内容到/etc/pam.d/login

# vi /etc/pam.d/login

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

7.添加以下内容到/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

8.配置Linux主机

检查/etc/hosts文件中是否有localhost的记录(指向127.0.0.1即可),若没有的话,在后面配置Oracle监听的时候会出现一些问题,导致无法启动监听,在此手工添加此记录即可。

9.配置oracle用户环境变量

# su - oracle 
$ vi ~/.bash_profile

增加如下内容:

export ORACLE_BASE=/DBSoftware/app/oracle   // 上面创建的Oracle安装文件夹 
export ORACLE_SID=orcl 
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1

export PATH=$PATH:$ORACLE_HOME/bin 
export LD_LIBARY_PATH=$ORACLE_HOME/lib

export PATH 
umask 022

保存后使用如下命令,使设置生效:

$ source ~/.bash_profile

三、安装Oracle,并进行相关设置

1.解压缩安装文件

Oracle的安装包有这样几种格式:

(1) zip      10201_database_linux32.zip

这种格式最好解压缩,直接使用命令unzip 文件名即可

(2) cpio.gz

这种格式有这样几种解压缩方式

a.  # zcat XXXX.cpio.gz | cpio -idmv 
b.  # gunzip XXXX.cpio.gz解压出XXXX.cpio文件然后再 # cpio -idvm < XXXX.cpio

解压缩完成后,设置oracle帐户可以操作安装文件所在的目录

chown -R oracle:oinstall 安装文件所在目录

2. 用oracle帐户进入安装文件所在目录,执行如下命令即可看到安装界面:

$ ./runInstaller

如果无法看到安装界面,请使用root帐户执行如下命令后再运行安装程序:

# export DISPLAY=:0.0 
# xhost + 
$ ./runInstaller

出现安装界面后,根据界面提示进行相关的设置,我的建议是在安装过程中不创建数据库,只安装程序,监听和创建数据库等安装完成后再进行相关的操作。

安装过程中,需要使用root权限执行两个脚本。

3. 安装完成后,将/etc/redhat-release文件中的内容修改回Red Hat Enterprise Linux Server release 5 (Tikanga)

4.创建监听以及创建数据库

(1) 创建监听程序

使用Oracle提供的NET CONFIGURATION ASSISTANT创建TNS监听

$ netca

基本上就是一直Next就可以了,当然你也可以在这期间修改TNS的监听端口号

TNS监听创建完成后可以使用如下命令进行检查:

# netstat -atln    检查监听端口是否打开 
$ lsnrctl status    检查TNS监听状态

确认监听已经成功启动后,即可执行Database Configure Assistant进行数据库的创建,执行命令如下:

$ dbca

在创建数据库的过程中,建议将数据库的字符集设置为Unicode UTF-8,防止出现乱码。

四、数据库的启动脚本(转载自[url]http://82584.blog.51cto.com/72584/110131[/url]

# vi /etc/rc.d/init.d/oracle

================================ Script File Start ================================

#!/bin/bash 

# chkconfig: 35 95 1 
# description: init script to start/stop oracle database 10g, TNS listener, EMS 
# match these values to your environment:

export ORACLE_BASE=/DBSoftware/app/oracle 
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1

export PATH=/u01/app/oracle/bin:$ORACLE_HOME/bin:$PATH 
export ORACLE_SID=orcl 
export ORACLE_USER=oracle

# see how we are called: 
case $1 in 
    start) 
        su - "$ORACLE_USER"<<EOO 
        lsnrctl start 
        sqlplus /nolog<<EOS 
        connect / as sysdba 
        startup 
    EOS 
    emctl start dbconsole 
    EOO 
    touch /var/lock/subsys/$scriptname 
    ;; 
    stop) 
        su - "$ORACLE_USER"<<EOO 
        lsnrctl stop 
        sqlplus /nolog<<EOS 
        connect / as sysdba 
        shutdown immediate 
    EOS 
    emctl stop dbconsole 
    EOO 
    rm -f /var/lock/subsys/scriptname 
    ;; 
*) 
echo "Usage: $0 {start|stop}" 
;; 
esac

================================ Script File End ================================

授权 :chown root.root /etc/rc.d/init.d/oracle

修改文件属性:chmod 755 /etc/rc.d/init.d/oracle

以后启动/关闭Oracle可以使用如下命令操作:

# service oracle start     //  启动监听、数据库以及em 
# service oracle stop      //  关闭监听、数据库以及em

当然你也可以把Oracle作为系统服务,随系统启动等等。

05-11 16:57