centos 4.5下安装oracle 9204

来源:互联网 发布:霁无瑕 捏脸数据 编辑:程序博客网 时间:2024/06/06 06:34

centos 4.5下安装oracle 9204

Linux localhost.localdomain 2.6.9-55.ELsmp
一,解压缩Oracle9204的安装文件
1. Oracle 9iR2 (9.2.0.4)
(1) 简化过程(以oracle登录,释放安装文件,使用更少的磁盘空间,速度更快)  
在安装LINUX时最好分一个区/orasetup,这样一来即使系统坏了,也只是重装系统,而无须重新拷贝数据库安装文件.
zcat ship_9204_linux_disk1.cpio.gz | cpio –idmv &&
zcat ship_9204_linux_disk2.cpio.gz | cpio –idmv &&
zcat ship_9204_linux_disk3.cpio.gz | cpio –idmv
(2) 解包和解压过程中,自动创建了3个包含安装文件的目录:
Disk1
Disk2
Disk3
之后就可以安装Oracle9iR2了。
二,安装前的检查和准备工作;
1, 查看这些开发包是否已安装;
安装需要的软件包和补丁包:
compat-db-4.1.25-9
compat-gcc-32-3.2.3-47.3
compat-gcc-32-c++-3.2.3-47.3
compat-oracle-rhel4-1.0-3
compat-libcwait-2.0-1
compat-libgcc-296-2.96-132.7.2
compat-libstdc++-296-2.96-132.7.2
compat-libstdc++-33-3.2.3-47.3
gcc-3.4.3-9.EL4
gcc-c++-3.4.3-9.EL4
gnome-libs-1.4.1.2.90-44
gnome-libs-devel-1.4.1.2.90-44
libaio-devel-0.3.102-1
libaio-0.3.102-1
make-3.80-5
openmotif21-2.1.30-11
xorg-x11-deprecated-libs-devel-6.8.1-23.EL
xorg-x11-deprecated-libs-6.8.1-23.EL
其中compat-oracle-rhel4和compat-libcwait可以在如下网站:
http://oss.oracle.com/projects/compat-oracle/files/RedHat/  
# rpm -qa | grep ‘compat’
三,创建数据库安装的准备工作;
1,创建user/group;
#groupadd dba  
#groupadd oinstall  
#useradd oracle -g oinstall -G dba  
#passwd oracle  
2,建立oracle安装文件夹;
# mkdir -p /u01/app/oracle/product/9.2.0.4
# mkdir /u01/cwdata
# chmod 777 /u01/cwdata
# chown oracle.dba /u01/cwdata
# chown oracle.dba /orasetup
# chmod 777 /orasetup
# chown -R oracle.dba /u01/app/oracle/product/9.2.0.4
# chmod -R 777 /u01/app/oracle/product/9.2.0.4
2, 配置环境变量;
使用Oracle用户登陆:
#su – oracle
$vi .bash_profile
以下是配置文件的内容# .bash_profile
#ORACLE_BASE 可以定位到盘阵上/data
export ORACLE_BASE=/u01/app/oracle  
export ORACLE_HOME=/u01/app/oracle/product/9.2.0.4
export PATH=$PATHORACLE_HOME/binORACLE_HOME/Apache/Apache/bin
export ORACLE_OWNER=oracle
export ORACLE_SID=oradb
export LD_ASSUME_KERNEL=2.4.19
export PATH
unset USERNAME
4, 设置系统参数;
#su – root切换到root用户
a) 修改#vi /etc/sysctl.conf, 以下是配置文件的内容(其中红色字体为添加的内容):
kernel.shmmax = 536870912 / 268435456
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
修改后运行#sysctl –p命令使得内核改变立即生效;
译者注:一般情况下可以设置最大共享内存为物理内存的一半,如果物理内存是 2G,则可以设置最大共享内存为 1073741824,如上;如物理内存是 1G,则可以设置最大共享内存为 512 * 1024 * 1024 = 536870912;以此类推。)  
建议永久地增加 shmmax 设置。
sem 4个参数依次为SEMMSL(每个用户拥有信号量最大数);SEMMNS(系统信号量最大数);SEMOPM(每次semopm系统调用操作数);SEMMNI(系统辛苦量集数最大数).Shmmax 最大共享内存,官方文档建议是内存的1/2,Shmmni 最小共享内存 4096KB.Shmall 所有内存大小

B) 设置oracle对文件的要求:
编辑文件:#vi /etc/security/limits.conf 加入以下语句:
oracle    soft    nofile    65536
oracle    hard    nofile   65536
oracle    soft    nproc    16384
oracle    hard    nproc    16384

C) gcc降级
#mv /usr/bin/gcc /usr/bin/gcc34
#ln –s /usr/bin/gcc32 /usr/bin/gcc
#mv /usr/bin/g++ /usr/bin/g++34
#ln –s /usr/bin/g++32 /usr/bin/g++

5,安装oracle补丁
当你从 Oracle 9iR2 光盘执行 runInstaller 时,会出现错误信息:  
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
为了解决 _libc_wait 符号问题,
从http://oss.oracle.com/projects/compat-oracle/files/RedHat/ 下载补丁  
compat-libcwait-2.0-2.i386.rpm   compat-oracle-rhel4-1.0-5.i386.rpm.为了应用这个补丁,可以运行:
$su – root  
# cd /orasetup
#ls compat*.rpm
compat-libcwait-2.0-2.i386.rpm   compat-oracle-rhel4-1.0-5.i386.rpm
# rpm -Uvh compat*.rpm
Preparing...          ########################################### [100%]
   1:compat-libcwait-2.0-2.i386.rpm ##################################### [ 50%]
   2:compat-oracle-rhel4-1.0-5.i386.rpm#################################### [100%]
四,开始安装oracle9iR2
(一)开始安装:
1.以oracle用户登录系统,进行Oracle的安装:
$ cd Disk1
$ ./runInstaller过一会儿就会出现Oracle的安装界面
2.一步一个脚印安装下去就行了!
3,安装完后打补丁:
切换到root:#su – root 首先安装 opatch.
#cd /orasetup
#unzip p2617419_210_GENERIC.zip
Archive: p2617419_210_GENERIC.zip
creating: OPatch/
creating: OPatch/docs/
inflating: Opatch/docs/FAQ
......
inflating: README.txt
#export PATH=$PATH:/orasetup/OPatch:/sbin
(修改PATH时要要包括解压缩出来的Opatch 和 sbin目录)
# unzip p3238244_9204_LINUX.zip
# cd 3238244
# opatch apply

如果提示HOME变量错误可执行语句:
#export ORACLE_BASE=/u01/app/oracle
#export ORACLE_HOME=/u01/app/oracle/product/9.2.0.4
出现success的提示就全部安装成功.

补丁打完后,还要relinked一个.mk文件,切换到oracle用户窗口
cd $ORACLE_HOME/network/lib
make –f ins_oemagent.mk install
之后就可以启动Agent服务了.

4, 最后执行 #dbca   建oracle数据库
21,点击OK,然后退出即可,正常登陆并启动数据库的操作。
[oracle@oracle oracle]$ lsnrctl start
[oracle@oracle oracle]$ sqlplus /nolog
SQL*Plus: Release 9.2.0.4.0 - Production on Sat Mar 12 22:58:53 2005
Copyright (c) 1982, 2002, Oracle Corporation.   All rights reserved.
SQL>; connect / as sysdba
Connected.
SQL>; shutdown immediate   关闭数据库
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>; startup; 启动数据库
ORACLE instance started.
Total System Global Area   236000356 bytes
Fixed Size                451684 bytes
Variable Size          201326592 bytes
Database Buffers           33554432 bytes
Redo Buffers                 667648 bytes
Database mounted.
Database opened.

5, 数据库创建完成后,修改/etc/oratab,把boss那一行最后的N改成Y,然后执行dbstart启动数据库数据库可能无法启动,报告Can’t find init file …的错误,需要复制一个初始化文件:  
cp /u01/app/oracle/admin/oradb/pfile/init.ora.*   /u01/app/oracle/product/9.2.0/dbs/initoradb.ora
重新执行dbstart就可以了。
为了方便管理,可以写一个启动脚本ora9i:
以root身份进入,编写以下脚本:

#!/bin/bash
#start and stop the oracle instance
# chkconfig –level 5 --add ora9i
#chkconfig: 345 91 19  
# description: starts the oracle listener and instance

export ORACLE_HOME="/u01/app/oracle/product/9.2.0.4"
export PATH=$ORACLE_HOME/binORACLE_HOME/Apache/Apache/bin:$PATH
export ORACLE_OWNER="oracle"
export ORACLE_SID=oradb

if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then  
echo "oracle startup:cannot start"
exit 1
fi

case "$1" in
start)
   #startup the listener and instance
echo -n "oracle startup: "
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl start"
su - $ORACLE_OWNER -c $ORACLE_HOME/bin/dbstart
touch /var/lock/subsys/oracle
echo "finished"
;;
stop)
# stop listener, apache and database
echo -n "oracle shutdown:"
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop"
su - $ORACLE_OWNER -c $ORACLE_HOME/bin/dbshut
rm -f /var/lock/subsys/oracle
echo "finished"
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: ora9i [start|stop|reload|restart]"
exit 1

esac
exit 0

存为ora9i后,然后用chmod a+x ora9,即可在以后以root身份运行/etc/rc.d/init.d/ora9i start |stop 来管理oracle的启动和停止了。如果要将这个脚本加入到系统中使其可开机运行,那么要运行以下命令:chkconfig --level 3(或者是5) --add ora9i
或者以root用户执行如下命令:
#cp /orasetup/ora9i /etc/rc.d/init.d/
#chmod a+x /etc/rc.d/init.d /ora9
#cd /etc/rc.d/rc5.d
#ln -s /etc/rc.d/init.d/ora9i S99ora9i
#cd /etc/rc.d/rc0.d
#ln -s /etc/rc.d/init.d/ora9i K99ora9i
也可自启动oracle9i!
或者可在/etc/rc.d/rc.local中加入如下:
su - oracle -c "/u01/app/oracle/product/9.2.0.4/bin/lsnrctl start"
su - oracle -c "/u01/app/oracle/product/9.2.0.4/bin/dbstart start"

6,
关于数据库删除重新安装的问题:
   把ORACLE安装目录删除及/etc/ora*.*删除就行了
#rm –f   /etc/ora*.*
7,关于在LINUX中运行管理软件
#oemapp  


打开一个新的终端,以Oracle用户登陆,然后修改./bash_profile文件

   $ vi   /home/oracle/.bash_profile

       添加以下的内容:

   export DISPLAY=”127.0.0.1:0.0” (我这里虽然设了,但是安装开始时还是显示无法连接X Server,查资料后知道可能是JDK版本的问题,这里可以不加此行,下面自有解决方案)
   export ORACLE_BASE=/opt/ora9
   export ORACLE_HOME=/opt/ora9/product/9.2
   export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
   export ORACLE_OWNER=oracle
   export ORACLE_SID=ora9i (数据库全局变量名)
   export ORACLE_TERM=xterm (xterm窗口模式 vt100 终端调试模式)
   export LD_ASSUME_KERNEL=2.4.1 (这一步非常重要,不能用实际的内核为2.4.22)   export THREADS_FLAG=native
   export LD_LIBRARY_PATH=/opt/ora9/product/9.2/lib:$LD_LIBRARY_PATH
   export PATH=/opt/ora9/product/9.2/bin:$PATH
   export NLS_LANG=AMERICAN (设置语言AMERICAN英文)
   export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
保存后退出. 执行: source .bash_profile 查看 set | more
然后。退出登录,再次进入,这时候oracle的环境就已经生效了.注:一定要推出后重登陆,否则不会生效!

注意,如果内核参数设置过高,即设置为实际内核 export LD_ASSUME_KERNEL=2.4.22就会出现以下错误:/

opt/oracle/jre/1.1.8/bin/../lib/i686/green_threads/libzip.so: symbol errno, version GLIBC_2.0 not defined in file libc.so.6 with link time reference (libzip.so) Unable to initialize threads: cannot find class java/lang/Thread         Could not create Java VM

原创粉丝点击