Ubuntu 6.06 上安装 Oralce10g
Oracle 10g2默认仅支持redhat enterprise系列和 SuSE 系列的几个版本的 Linux。 在 Ubuntu 上安装 Oracle 需要做些设置。下面是安装过程。 安装前的准备 __________
首先要安装开发工具。切换到 root 用户执行下面的命令。
# apt-get install build-essential
然后要修改 Ubuntu 的版本以“ 欺骗” Oracle安装程序,使之能 正常安装。
# echo Red Hat Enterprise Linux AS rlease 3 (Taroon) > /etc/redhat-release
然后插入 Oralce 10g2 的安装光盘。系统会自动 mount光盘, 但由于默认情况下光盘上的文件是没有执行权限的, 因此要为cdrom加上执行权限。
# umount /media/cdrom0
# mount -o exec /media/cdrom0
安装设置
在 Oracle 光盘根目录下的 welcome.html 中有很详细的Oracle的安装指南。 可将其打开作为参考。
首先要修改内核参数:
# vi /etc/sysctl.conf
在 sysctl.conf 文件下添加以下内容。
# modify config kernel parameters for oracle 10g
kernel.sem = 250 32000 100 128
kernel.shmall = 2097152
kernel.shmmax = 263708672
kernel.shmmni = 4096
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
保存退出,然后执行以下命令使修改生效。
# sysctl -p
创建必要的用户和组。
# groupadd oinstall
# groupadd dba
# groupadd nobody
# useradd -d /home/oracle -G oinstall,dba -s /bin/bash oracle
创建oracle目录:
# mkdir /opt/oracle
# chown -R oracle.oinstall /opt/oracle
创建 oracle 用户的环境设置。
# su - oracle
$ vi .bash_profile
内容如下。
export DISPLAY=:0.0
export LANG=C # 语言修改为英文以避免安装程序的乱码
export ORACLE_BASE=/opt/oracle # oracle安装路径
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0 # oracle home
export PATH=$PATH:$ORACLE_HOME/bin
保存后执行下面的命令使修改生效。
$ . .bash_profile
ubuntu的X-server使用的是 xauth 进行认证,新建的 oracle 用户是无法使用 X 的, 因此安装程序无法正常执行,所以要为oracle用户增加X server的认证信息。 首先切换到系统中能够正常使用X的用户(例如安装时创建的默认用户),执行
$ xauth list $DISPLAY
hostmame/unix:0 MIT-MAGIC-COOKIE-1 1234567890abcdef01234567890abcdef
然后切换到 oracle 用户:
# su - oracle
$ xauth add $DISPLAY . 1234567890abcdef01234567890abcdef
$ exit
开始安装
切换到oracle用户执行安装程序。
$ /media/cdrom/runInstaller
安装界面。选择 DBA 组为 dba。
下一步,选择安装程序所用的目录。组名设置为 oinstall。
之后进入安装过程。 安装过程中可能会遇到一些错误。遇到错误时, 打开 $ORACLE_HOME/oraInventory/logs/installAction***.log文件 查看错误原因。
错误1
错误信息:
Exception String: Error in invoking target 'ntcontab.o' of makefile '/opt/oracle/product/10.2.0/network/lib/ins_net_client.mk'. See '/opt/oracle/oraInventory/logs/installActions2006-09-10_05-15-13PM.log' for details.
原因:
INFO: sys/types.h: No such file or directory
(找不到sys/types.h)
原因在于安装oracle之前没有安装开发工具。切换到root安装开发工具即可。
$ su -
# apt-get install build-essential
错误2
错误信息:
Error in invoking target 'utilities ctx_on' of makefile '/opt/oracle/product/10.2.0/rdbms/lib/ins_rdbms.mk'. See '/opt/oracle/oraInventory/logs/installActions2006-09-10_05-15-13PM.log' for details.
原因:
INFO: /opt/oracle/product/10.2.0/lib//libagtsh.so: undefined reference to `nnfyboot'
(在库文件 libagtsh.so 中找不到 nnfyboot 符号)
这是 Oracle 安装程序的一个bug(参考)。修正方法如下,切换到 root 执行下面的命令。
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
ln -s /usr/bin/basename /bin/basename
ln -s $ORACLE_HOME/lib/libclient10.a $ORACLE_HOME/lib/libagtsh.a
$ORACLE_HOME/bin/genagtsh $ORACLE_HOME/lib/libagtsh.so 1.0
然后在 Oracle 安装程序中 Retry 即可。
安装将近完成时,安装程序要求你以root权限执行脚本。
切换到root用户执行即可,但由于ubuntu的路径问题,需要先执行下面的命令。
# ln -s /usr/bin/awk /bin/awk
然后执行要求的脚本。
# /opt/oracle/oraInventory/orainstRoot.sh
# /opt/oracle/product/10.2.0/root.sh
后一个脚本会询问 /usr/local/bin 的位置(选择默认值即可),然后向其中复制三个文件: coraenv、 dbhome、oraenv。
安装结束,显示下面的信息。
The following J2EE Applications have been deployed
and are accessible at the URLs listed below.
iSQL*Plus URL:
http://charleemain:5560/isqlplus
iSQL*Plus DBA URL:
http://charleemain:5560/isqlplus/dba