1、下载软件
从网上下载redhat Enterprise Linux Advanced Server3的四个安装文件,安装时swap分区设置为内存的二倍。不要采用DHCP设置主机名和IP地址,而是“手工设置”。否则会在安装Oracle的时候出现如下错误:
Thrown when the IP address of a host cannot be determined
出现这个错误将使Oracle不能安装成功。安装RHAS3,可以刻录到光盘安装,也可以从硬盘安装,从硬盘安装RHAS3,请参考:http://bbs.chinaunix.net/forum/viewtopic.PHP?p=2416942#2416942
2、系统要求
系统要求:内存最低256(我的就是这么大),建议512M,硬盘空间4G,假如Oracle安装文件存在硬盘,建议5G(在安装操作系统后的剩余空间)。
可以查看内存的大小,用到的命令是:grep MemTotal /proc/meminfo
swap分区在安装操作系统的时候就设定好了,为内存的2倍,当内存达到1G以上时,和内存大小相同就可以了啊。相看交换分区命令是:/sbin/swapon -s
3、检查是否安装以下包:
#su - root
#rpm -qagrep compat
compat-db-4.0.14-5.i386
compat-gcc-7.3-2.96.122.i386
compat-gcc-c++-7.3-2.96.122.i386
compat-libstdc++-7.3-2.96.122.i386
compat-libstdc++-devel-7.3-2.96.122.i386
#rpm -qagrep openmotif21
openmotif21-2.1.30-8.i386
#rpm -qagrep setarch
setarch-1.3-1.i386
#rpm -qagrep tcl
tcl-8.3.5-92.i386
上面显示的内容是在笔者已经安装了具体的RPM包之后的结果。它们对应的软件包是:
compat-db-4.0.14-5.i386.rpm
compat-gcc-7.3-2.96.122.i386.rpm
compat-gcc-c++-7.3-2.96.122.i386.rpm
compat-libstdc++-7.3-2.96.122.i386.rpm
compat-libstdc++-devel-7.3-2.96.122.i386.rpm
openmotif21-2.1.30-8.i386.rpm
setarch-1.3-1.i386.rpm
tcl-8.3.5-92.i386.rpm
一般情况下,你的系统上的输出结果和这个不同。假如个别包没有安装,把系统安装光盘mount上,找到具体的软件包(大多数在第三张光盘上),然后利用如下的命令来安装相应的包:
# rpm -ivh compat.....rpm
因为我没有把RHAS3刻录到光盘,所以我用下面的命令来挂载iso文件
mount -o loop /mnt/e/rhas3/rhel-3-i386-as-disc3.iso /mnt/cdrom
要额外注重的是,这些软件包之间是有依靠性的,先后的顺序要找好。否则会报告不能安装的错误。在安装软件包的时候,假如出现软件包的依靠性,就先安装有有依靠的包。我相信大家会看明白软件包之间的依靠性的。
还需要将gcc、g++更换为2.96的版本.
方法如下:
#su - root
mv /usr/bin/gcc /usr/bin/gcc323
ln -s /usr/bin/gcc296 /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++323# if g++ doesn't exist, then gcc-c++ was not installed(这里是注释哦)
ln -s /usr/bin/g++296 /usr/bin/g++
3、设置内核参数:
这个版本的默认的glibc 很合适,免去了不少麻烦。
用grep MemTotal /proc/meminfo查看内存总量
出现 MemTotal XXXXXKB,其中的XXXXX就是内存总量。
修改两个文件,如下:
#vi /etc/sysctl.conf
加入:
kernel.shmmax = xxxxx*1024*2(为内存的2倍,切换到字节。要是超过这个值,在运行dbca时会出现Ora-27123:Unable to attach to shared memeroy segment)
kernel.shmmni=4096
kernel.shmall=2097152
kernel.sem=250 32000 100 128
fs.file-max=65536
net.ipv4.ip_local_port_range=1024 65000
#vi /etc/security/limits.conf
加入:
oracle hard nofile 65536
oracle soft nofile 65536
oracle hard nproc 16384
oracle soft nproc 16384
4、建立用户、设置环境变量
建立用户的命令是以root用户运行的。
#groupadd oinstall
#groupadd dba
#useradd -g oinstall -G dba oracle
#passwd oracle
设置环境变量:
以oracle用户登录,
vi $HOME/.bash_profile
插入下面的内容
# Set the LD_ASSUME_KERNEL environment variable only for Red Hat 9 and
# for Red Hat Enterprise Linux Advanced Server 3 (RHEL AS 3) !!
# Use the "Linuxthreads with floating stacks" implementation instead of NPTL:
eXPort LD_ASSUME_KERNEL=2.4.1
# Oracle Environment
export ORACLE_BASE=/home/oracle
export ORACLE_HOME=$ORACLE_BASE/prodUCt/9.2.0
export ORACLE_SID=test
export ORACLE_TERM=xterm
# export TNS_ADMIN= Set if sqlnet.ora, tnsnames.ora, etc. are not in $ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN;
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
# Set shell search paths
export PATH=$PATH:$ORACLE_HOME/bin
然后注销重新登录,用setmore查看环境变量是否生效。因为我把Oracle安装在了oracle用户主目录下,所以我的ORACLE_BASE值为/home/oracle,当然你也可以安装到指定的目录,如下:
#su - root
#mkdir /opt/oracle
#mkdir /opt/oracle/product
#mkdir /opt/oracle/product/9.2.0
#chown -R oracle.oinstall /opt/oracle
#mkdir /var/opt/oracle
#chown oracle.dba /var/opt/oracle
#chmod 755 /var/opt/oracle
这时ORACLE_BASE的值就是/opt/oracle。
5、开始安装
从http://www.oracle.com下载三个安装文件,
ship_9204_linux_disk1.cpio.gz
ship_9204_linux_disk2.cpio.gz
ship_9204_linux_disk3.cpio.gz
用zcat ship_9204_linux_disk1.cpio.gzcpio -idmv
zcat ship_9204_linux_disk2.cpio.gzcpio -idmv
zcat ship_9204_linux_disk3.cpio.gzcpio -idmv
生成三个文件夹Disk1,Disk2,Disk3;
你也可以用gunzip ship_9204_linux_disk1.cpio.gz
cpio -idmv
这样的命令来生成三个目录,可以用下面的命令刻录到光盘,也可以保存在硬盘。
mkisofs -r Disk1 cdrecord -v --eject dev=0,0,0 speed=15 -
mkisofs -r Disk2 cdrecord -v --eject dev=0,0,0 speed=15 -
mkisofs -r Disk3 cdrecord -v --eject dev=0,0,0 speed=15 -
进入Disk1目录运行runInstaller之前,注重两点:
a、export LANG=en_us(否则安装界面出来就会出现“□”,因为Oracle9i不支持中文界面。
)
b、安装p3006854_9204_LINUX.zip补丁,否则会出现如下错误:
Error occurred during initialization of VM
Unable to load native library: /tmp/OraInstall2003-10-25_03-14-57PM/jre/lib/i386/libJava.so:
symbol __libc_wait, version GLIBC_2.0 not defined in file libc.so.6 with link time reference
从http://metalink.oracle.com下载p3006854_9204_LINUX.zip补丁。安装此补丁的方法:
su - root
# unzip p3006854_9204_LINUX.zip
Archive:p3006854_9204_LINUX.zip
creating: 3006854/
inflating: 3006854/rhel3_pre_install.sh
inflating: 3006854/README.txt
# cd 3006854
# sh rhel3_pre_install.sh
Applying patch...
Patch successfully applied
#
注重:假如运行 rhel3_pre_install.sh出现下面的错误
rhel3_pre_install.sh: line 36: gcc: command not found
是因为你忘了安装gcc,同样要是出现下面的错误:
# ls
ls: error while loading shared libraries: /etc/libcwait.so: cannot open shared object file: No such file or Directory
# rm /etc/ld.so.preload
rm: error while loading shared libraries: /etc/libcwait.so: cannot open shared object file: No such file or directory
#
请不要退出bash,用下面的方法来修复(我开始碰到,后来没有碰到了,可能是因为我把gcc降级到了296吧)
# echo "" /etc/ld.so.preload
rm /etc/ld.so.preload
And start over again.
现在运行./runInstaller &(必须进入到Disk1目录,或者从光盘运行,从光盘安装不要进入/mnt/cdrom后运行runInstaller,而是这样运行./mnt/cdrom/runInstaller)
呵呵,兴奋了吧,期待以久的GUI界面终于出来了啊。这是欢迎界面。显示了Oracle安装的源文件所在目录,还有要安装到的产品目录。我们点“Next”;
接着出现的下一个界面是Inventory路径,我们点“Next”;
现在要求用户输入UNIX组名,我们用Oracle用户所在的组“oinstall”,然后点“Next”,假如你是第一次安装Oracle产品,则要你运行一个sh文件。文件是/tmp/orainstRoot.sh,我们打开一个shell窗口,切换到root用