代码改变世界

在CentOS5.3上安装Oracle 10g总结文档

2009-08-07 17:42  hyddd  阅读(8466)  评论(0编辑  收藏  举报

一.前言

    之前听坊间传闻说安装Oracle很BT,今日一试,果然如此:<,所以决心把安装中遇到的问题整理成此文档,以备后来者参考。

二.基本配置   

    在安装Oracle之前,我想先说一下机器配置的问题,因为单机器的问题,就可能会浪费你1天多的时间!

(1)硬盘剩余空间:10G以上

    虽然Oracle 10g的安装文件只有800多MB,但安装后的oracle+oraInventory目录会用差不多4G空间,再加上安装时Oracle生成的临时文件(/tmp目录需要至少400MB)...所以10G的硬盘空间已经是最低配置了,因为你可能还需要应付一些特殊情况。

(2)内存1.5G以上

    官方文档说512M内存也可以安装。是的,确实如此,但安装后能不能正常运行,我就不敢保证了...之前我用一台1G内存的虚拟机安装Oracle 10g,正要启动的时候提示:剩余内存不足。为了避免不必要的麻烦,请把内存加多一些。

(3)Swap交换区2G

三.在CenOS5.3上安装Oracle 10g

1.预备资源

【1】《Oracel 10g官方安装文档

【2】 安装包:10201_database_linux_x86_64.cpio.gz

2.安装Oracle 10g

【1】准备安装

为了避免缺包导致的Error,请在安装Oracle之前执行以下命令:

yum install yum-fastestmirror -y
yum install compat-db*
yum install compat-libc*
yum install compat-gcc*
yum install libXp.so.6
yum install libc-*
yum install libaio*
yum install openmotif
yum install glibc-devel*
yum install libgcc*
yum install gnome-lib*

【2】安装包解压

zcat /tmp/10201_database_linux_x86_64.cpio.gz /data/setupfiles/Oracle/ | cpio -idmv

【3】创建 Oracle 组和用户帐户

创建用于安装和维护Oracle 10g 软件的账户。用户帐户将称为oracle,而组将称为oinstall和dba。以root用户身份执行以下命令:

# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# /usr/sbin/useradd -m -g oinstall -G dba oracle
# id oracle
uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba)

设置oracle帐户的口令

# passwd oracle
Changing password for user oracle.
New password:
Retype new password:
passwd:all authentication tokens updated successfully.

【4】创建目录

创建Oracle 10g及其数据库文件的目录,以root用户身份执行以下命令:

# mkdir -p /data1/oracle
# mkdir -p /data1/oradata
# chown -R oracle:oinstall /data1/oracle /data1/oradata
# chmod -R 775 /data1/oracle /data1/oradata

【5】修改内核参数

安装Oracle 10g需修改内核参数,否则安装检测时会报Failed,甚至导致安装时出现Error。以root身份执行以下命令:

cat >> /etc/sysctl.conf <<EOF
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
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
EOF

如果检查没有问题后,即可以开始装Oralce 10g。

【6】安装Oracle 10g

(1)先以oracle用户身份登陆XWindow。因为oracle安装会弹出界面让你配置,如果使用putty登陆安装的话,你是没有办法操作弹出框的,所以一定要登录XWindow,然后在Terminal里启动安装程序。

    另外一个问题就是,必须要用oracle用户登陆XWindow,并以oracle用户在Terminal中启动安装程序。为什么不用root权限呢?首先,以root用户登录XWindow并启动安装程序会出错,提示“The user is root. Oracle Universal Installer cannot continue installation if the user is root.”。如果以root登陆XWindow,以oracle用户在Terminal中启动安装程序,可能会出现某些对话框弹不出来,导致安装卡死的情况,这种情况之前我就遇到过,虽然不能百分百确定是root登陆XWindow导致的问题,但为了避免不必要的问题,还是以oracle用户登录XWindow,并用oracle身份启动安装程序。

(2)如果你的系统语言为中文,请把他设置为英文,否则安装的时候会出现乱码。

(3)Terminal中启动Oracle 10g安装程序:

[oracle@vmlincn80ce5 /]$ ./data/setupfiles/Oracle/database/runInstaller

如果一切正常,界面会弹出如下对话框:

如果在Terminal启动runInstaller时遇到“Checking operating system version: must be redhat-2.1, redhat-3, SuSE-9, SuSE-8 or UnitedLinux-1.0 Failed ”这种问题,表明oracle不能识别你的系统内核,这个问题可以通过修改内核配置文件解决,如下:

cat > /etc/redhat-release << EOF
Red Hat Enterprise Linux AS release 3 (Taroon)
EOF

(4)Oracle 10g安装配置

修改Oralce Home Localtion,填写database password后,按“Next”。如图:

(5)数据库配置

修改Inventory directory,Specify Operating System group name选:oinstall,然后“Next”,如图:


(6)Oracle安装前检查

检查一下有什么不符合安装要求,看是否需要修改配置,如果按照上面步骤下来,这里的warning应该为0,然后“Next”。

(7)Install Oracle 10g

直接按“Install”。

(8)Installing...

现在你可以去泡壶乌龙茶了......如果在虚拟机上安装,会花时间会更长些......Zzzzzzz

(9)Configuration Assistant

在软件安装完成之后,会自动进行Configuration Assistant的配置。

包括了Oracle Net Configuration Assistant,Oracle Database Configuration Assistant,iSQL*Plus Configuration Assistant的配置。

当Oracle Database Configuration Assistant配置完成时,会弹出一个确认框,里面记录了一些比较重要的信息,包括:SID,Server Parameter Filename以及Database Control URL等,如图:


这些信息以后比较有用,可以记录下来,然后“OK”。

(10)以root权限运行脚本

当iSQL*Plus Configuration Assistant配置完成时,会弹出一下框,里面有两个Srcipt需要你用root权限运行。


在Terminel中以root权限执行以上两个脚本:

[root@vmlincn80ce5 oradata]# ./orainstRoot.sh
Changing permissions of /data1/oradata to 770.
Changing groupname of /data1/oradata to oinstall.
The execution of the script is complete
[root@vmlincn80ce5 oracle]# ./root.sh
Running Oracle10 root.sh script...

The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /data1/oracle

Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...


Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.

然后按“OK”。

(11)Oracle 10g安装完成

恭喜,Oracle 10g终于安装完成了:>,按“Exit”退出安装。


 

三.后记

    其实现在看来,安装Oracle 10g其实也并不是那么难搞,主要是在安装途中,可能会报出各种各样的Warnning/Error,这多数是系统缺少某些包导致的,如果把“【2.1】准备安装”中的提到的包都装了,这类的问题应该基本上解决了(实在不行就Google吧...)。然后就是硬盘空间问题,每次Oracle安装都会在/tmp下生成400MB左右的临时文件,如果安装中途出错退出的话,这些文件好像是不会自动删除的,所以记得把这些垃圾清掉,否则很容易导致硬盘空间不足。

    关于Oracle的启动,找个时间再写一下。