- 论坛徽章:
- 0
|
本文来源于网上流传甚广的一份资料,但其对安装错误的处理不好,让我颇费了不少周折,后来又找到了解决错误的便捷高效的办法,因此,将修改后的此文再次帖出。
相比而言,我觉得本文的安装过程及解决错误办法是最简捷的,尤其适用新手安装学习使用。公司使用请务必谨慎。
- 这篇文章在Oracle的网站上发表,堪称安装Oracle9i Database的指南性论述。
- 但其中对安装过程中出现的两个错误的处理并不好,我也是刚学,经过查找资料,成功而便捷的解决了安装过程中的ins_oemagent.mk和ins_ctx.mk错误,并附有低版本gcc的下载url。本文并没有用到下载oracle的补丁包,这可能会产生一些后果,因为我也是刚刚装上,期待您和我一同完善这个文档。我的mail: qintel后面是163.com
- 原作者:Abhijeet Kulkarni
- 真正详细的资料请参看:
复制代码
http://www.puschitz.com/InstallingOracle9i.shtml
- 感谢这些参考文章的作者们,感谢热衷于free share的人们!
- 数据库版本:Oracle9i R2 (9.2.0.1.0) OS Linux9 内核 2.4.20-8
- 1. 创建用户与组:
- -------------------------
- 切换为 Root 用户并执行下列命令
- $ su -
- # groupadd oinstall
- # groupadd dba
- # useradd -g oinstall -G dba oracle
- # passwd oracle
- 2. 创建目录。
- --------------------------
- 我们将把所有东西都安装到在 /opt/ora9 目录下:
- # mkdir -p /opt/ora9/product/9.2
- # mkdir /var/opt/oracle
- # chown oracle.dba /var/opt/oracle
- # chown -R oracle.dba /opt/ora9
- 3. 预安装(系统配置):
- ---------------------------
- 3.1 安装这些兼容性库:
- compat-gcc-7.3-2.96.118.i386.rpm
- compat-libgcj-7.3-2.96.118.i386.rpm
- compat-libgcj-devel-7.3-2.96.118.i386.rpm
- nss_db-compat-2.2-20.i386.rpm
- 您可以在安装 CD 上找到这些程序包。
- 第一个文件在 CD1 的 RedHat RPMS 目录中
- 另外 3 个文件在 CD2 的 RPMS 目录中
- 3.2 设置内核参数以便能够成功启动:
- 把这些行添加到 /etc/sysctl.conf
- 如果您有更多 RAM,也可以更改这些值:
- kernel.shmmax = 536870912
- kernel.shmmni = 4096
- kernel.shmall = 2097152
- kernel.sem = 250 32000 100 128
- fs.file-max = 65536
- net.ipv4.ip_local_port_range = 1024 65000
- 把这些行添加到 /etc/security/limits.conf
- oracle soft nofile 65536
- oracle hard nofile 65536
- oracle soft nproc 16384
- oracle hard nproc 16384
- 重启系统以使这些内核更改生效,如果不允许重启,您可以在运行时通过执行下列命令更改内核参数:
- # echo 250 32000 100 128 > /proc/sys/kernel/sem
- # echo 536870912 > /proc/sys/kernel/shmmax
- # echo 4096 > /proc/sys/kernel/shmmni
- # echo 2097152 > /proc/sys/kernel/shmall
- # echo 65536 > /proc/sys/fs/file-max
- # echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range
- 4. 预安装(oracle 环境):
- ----------------------------
- 以 oracle 用户身份登录:
- su - oracle
- 将下列行放置在 ~/.bashrc:
- #oracle 9i
- 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=vt100
- export LD_ASSUME_KERNEL=2.4.1
- 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
- #
- #根据您本国的情况更改这个 NLS 设置,建议采用E文
- #示例:
- # german_germany.we8iso8859p15, american_america.we8iso8859p2 etc.
- export NLS_LANG='AMERICAN.ZHS16CGB231280'
- 上面是的设置安装过程是英文的,如果您需要其它的国家设置,请参考这里的支持设置,并对 NLS_LANG 变量进行相应更改。
- 5. 安装:
- ------------------------
- 以 Root 用户登录并允许用户 oracle 向 X 显示器写入:
- su -
- xhost +本机IP(不带空格)
- 登录为 oracle 用户:
- su - oracle
- 开始安装。不要切换到您的 CD-ROM 安装目录,因为您将无法在系统需要时卸下第一张 CD 以插入其它 CD。
- /mnt/cdrom/install/linux/runInstaller
- 在安装期间,系统会提示您插入其它安装盘。打开一个新的控制台,用命令 umount /dev/cdrom(以 Root 用户身份)卸下当前的盘片,替换该盘片。如果 Redhat9 没有自动安装它,那么使用命令 mount /dev/cdrom 将其装上
- 安装期间将产生两个错误:
- --------------------------------------------------------------------------
- (此为对原作补充改进部分)
- * 第一个错误 在显示 Install successful 之后, 进行 Linking Oracle9i Database 9.2.0.1.0 进度条跑到 69% 的时候, 终于盼来期待已久的第一个错误对话框:
- Error in invoking target install of makefile
- /opt/oracle/product/9.2.0/network/lib/ins_oemagent.mk
- 不用慌, 这是我第二次解决这个问题, 请往下看:
- 这个问题的原因在于 Red Hat 9.0 所用的 glibc-2.3.2-11.9, 这个版本里的有一个函数发生了变化, 导致 Oracle安装时调用出错. 而低版本的 glibc-2.3.2-5 里, 这个函数还是原来的样子. 所以,
- 解决方法:
- 把 Red Hat 的 glibc 降级 (不用担心会影响系统或其它应用程序, 降级完, 安装好 Oracle 我们再升级回去, 一切 OK 的).
- 到这里下载低版本的 glibc-2.3.2-5:
复制代码
http://www.puschitz.com/rh9_gcs_download
- 然后:
- rpm -Uvh --force glibc-2.3.2-5.i686.rpm glibc-common-2.3.2-5.i386.rpm \
- glibc-devel-2.3.2-5.i386.rpm
- 如果以上安装过程期间有任何依赖错误, 记得把依赖的软件包都记录下来 (包括它们的版本号), 然后先把它们卸载, 再执行上面的命令. 记下来是为了后面重新恢复.
- 降级完了? 按错误对话框里的 Retry, 看看是不是问题解决了?^_^
- * 第二个错误出现
- 不用太久的期待, 在进度条跑到 84% 的时候, 我们最后一个错误终于又等到了:
- Error in invoking target install of makefile
- /opt/oracle/product/9.2.0/ctx/lib/ins_ctx.mk
- 镇定, 我们看解决方案:
- 编辑 $ORACLE_HOME/ctx/lib/env_ctx.mk, 找到 "INSO_LINK =", 添加 "$(LDLIBFLAG)dl" 到这一行中
- 原来是:
- INSO_LINK = -L$(CTXLIB) $(LDLIBFLAG)m $(LDLIBFLAG)sc_ca $(LDLIBFLAG)sc_fa
- $(LDLIBFLAG)sc_ex $(LDLIBFLAG)sc_da $(LDLIBFLAG)sc_ut $(LDLIBFLAG)sc_ch $(LDLIBFLAG)sc_fi
- $(LLIBCTXHX) $(LDLIBFLAG)c -Wl,-rpath,$(CTXHOME)lib $(CORELIBS) $(COMPEOBJS)
- 添加后成为:
- INSO_LINK = -L$(CTXLIB) $(LDLIBFLAG)m $(LDLIBFLAG)dl $(LDLIBFLAG)sc_ca $(LDLIBFLAG)sc_fa
- $(LDLIBFLAG)sc_ex $(LDLIBFLAG)sc_da $(LDLIBFLAG)sc_ut $(LDLIBFLAG)sc_ch $(LDLIBFLAG)sc_fi
- $(LLIBCTXHX) $(LDLIBFLAG)c -Wl,-rpath,$(CTXHOME)lib $(CORELIBS) $(COMPEOBJS)
- Retry!
- 进度条是不是跑得让你兴奋?!^_^
- 在 Link Successful 之后, 会弹出一个 Setup Privileges 的对话框, 要求我们以 root 权限执行:
- /opt/oracle/product/9.2.0/root.sh
- Do it!
- 执行完毕, 我们就摁 ok
- -------------------------------------------------------------------------
- 现在,您将能够用下面的命令启动您的代理程序了
- $ /opt/ora9/product/9.2/bin/agentctl start
- 7. 启动数据库
- ------------------------------
- 如果您的安装程序在第 5 部分的最后一步被挂起,不要担心。等一段时间看它是否响应,如不响应则终止它。
- 在一个 shell 脚本(如 setvar.sh)中添加下面几行
- #oracle 9i
- export ORACLE_BASE=/home1/orahome
- export ORACLE_HOME=/home1/orahome/ora92
- export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
- export ORACLE_OWNER=oracle
- export ORACLE_SID=ora9i
- export ORACLE_TERM=vt100
- export LD_ASSUME_KERNEL=2.4.1
- 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 ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
- 保存此文件并在命令提示符运行
- $source setvar.sh
- 现在转至 $ORACLE_HOME/bin
- 使用任意编辑器编辑 dbca 脚本
- $kwrite dbca
- 找到 JRE_HOME 环境变量。它指向 JDK 1.8,后者是安装 CD 的一部分。更改该变量并使其指向您的 linux 安装的 JDK1.3 或 1.4,转至文件末尾,该变量用于调用 Java 程序。从路径中删除 bin 目录,并将 jre 可执行文件更名为 java 文件。这就像使用我们自己的 JDK 调用 java 程序一样。
- 启动
- $./dbca
- 8. 启动数据库实例
- 打开一个 sqlplus 会话并以 sys/passwd 作为系统数据库管理员登录
- sql>create spfile from pfile='full path of the .ora file created by the dbca utility ';
- Eg /home1/orahome/admin/dl226b/pfile/initdl226b.ora
- sql>shutdown immediate;
- sql>startup;
- 如您对以上有任何疑问,请联系我。email: qintel后面是163.com,我将欢迎和您一起探讨。
复制代码
最后真诚的希望您能指出本文的错误,以使更多的新手在学习安装oracle时少走弯路。
[ 本帖最后由 qintel 于 2006-2-10 18:27 编辑 ] |
|