Oracle安装报告
JH King
因公司需要,要在linux下安装oracle,在安装过程中发现了很多问题,写成报告给需要的人使用。
软件环境:RedHat9.0,内核2.4.20
Oracle: oracle9i,光盘:
ship_9204_linux_disk1.cpio.gz,
ship_9204_linux_disk2.cpio.gz,
ship_9204_linux_disk3.cpio.gz
光安解压方法,
可以用guzip ship_9204_linux_disk1.cpio.gz解压一次,解压之后文件为ship_9204_linux_disk1.cpio
然后用cpio -idmv <ship_9204_linux_disk1.cpio,再解压一次,生成Disk1文件,
Disk2,Disk3可以用同样方法解压出来。
oracle安装时是不能以root用户安装的,因此最好为其建立一个oracle用户,然后以oracle用户登入,配置oracle用户的环境:编辑.bash_profile文件:
export PATH LD_ASSUME_KERNEL=2.4.1
##(1)这一步很重要,只要2.6.0以下的内核都可以用这个版本,不要写成自已的内核版本。会出现内jvm错误
/opt/oracle/jre/1.1.8/bin/../lib/i686/green_threads/libzip.so: symbol errno, version GLIBC_2.0 not definedin 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
(事实上在2.4.20下安装成功之后重编译内核版本2.6.0照样可以正常运行。)
export ORACLE_BASE=/home/oracle/OraHome
export ORACLE_HOME=/home/oracle/OraHome/9.2.0
export ORACLE_SID=ora9i ##Oracle_SID 为数据库的SID,可任意
export ORACLE_TERM=xterm
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
##(2)
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
##(3)另外重要的就是这两个LD_LIBRARY_PATH,这样可以避免安装过程权限不足的错误。
export LD_LIBRARY_PATH
export PATH=$PATH:$ORACLE_HOME/bin
CLASSPATH=$CLASSPATH:$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export PATH CLASSPATH
unset USERNAME
配置好.bash_profile可以用source .bash_profile刷新使更改生效,只对使用的当前shell起作用,除非注消重新登入。
然后就可以运行runInstaller,开始安装数据库,安装程中会要求,以root用户执行/tmp/.....sh文件
当oracle安装到后期会要求以root用户执行oracle安装路径下的root.sh文件,然后安装管理器会显示安装信息,有一个agent助手,提示没有安装成果,不过这个工具不是很重要,没有它oracle仍可以照常使用,下一步oracle会在后面启动数据创建程序.
(4)然后开始建库,当建库到46%时会出现共享内存问题,
ORA-27123: unable to attach to shared memory segment
这时需要给内核指定内存,可以:
echo 4294967295 >/proc/sys/kernel/shmmax
或者
编辑/etc/sysctl.conf
kernel.shmmax=4294967295
这样就可以数据库的安装。
运行:
要启动oracle要先运行数据库监听程序:lsnrctl start 关闭:lsnrctl stop
运行oemapp console可以打开oracle企业管理器工具
注:(1)redhat9.0是全部安装非完全安装也行,因此不考虑某些包不存在问题。
(2)安装oracle不需要安装Java虚拟机(jre)或者(jdk),因为oracle9i自身就有一个(jre),而redhat9.0系统也有一个(jre)。
(3)oracle公司完整的安装说明:http://www.puschitz.com/InstallingOracle9i.html