Red Hat 6.5安装Oracle 10g故障有哪些

47次阅读
没有评论

共计 7220 个字符,预计需要花费 19 分钟才能阅读完成。

丸趣 TV 小编给大家分享一下 Red Hat 6.5 安装 Oracle 10g 故障有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

1、OS 版本兼容

OS 与 Database Software 之间的兼容性问题是我们需要考虑的第一关。在 Oracle 10g 时代,Linux 普遍版本是 4.x,所以对于我们安装的 Red Hat 6.5,在安装兼容性检查过程中是会报错的。

这个问题还是比较好解决的。原则上 6.5 版本和之前 Linux 版本没有本质的差异。而且,我们在选择 Linux 安装的时候,还是尽可能选择高版本的进行尝试。解决这个问题的方法就是要“骗”过 Oracle 软件的安装过程。

Oracle 检验版本,主要是查看 /etc/redhat-release 文件中的版本信息。我们手工将其修改之后,就可以了。

– 修改前

[root@SimpleLinux ~]# cat /etc/redhat-release

Red Hat Enterprise Linux Server release 6.5 (Santiago)

– 修改后

[root@SimpleLinux ~]# cat /etc/redhat-release

Red Hat Enterprise Linux Server release 4.8 (Santiago)

检验通过。

2、图形界面激活报错 libXp.so

安装软件过程中,使用图形化界面方式进行安装。运行 runInstaller 脚本,报错。

[oracle@CRSimpleLinux database]$ ./runInstaller

Starting Oracle Universal Installer…

Checking installer requirements…

Checking operating system version: must be redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2

  Passed

All installer requirements met.

Preparing to launch Oracle Universal Installer from /tmp/OraInstall2014-05-19_12-33-59PM. Please wait …[oracle@CRSimpleLinux database]$ Exception in thread main java.lang.UnsatisfiedLinkError: /tmp/OraInstall2014-05-19_12-33-59PM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory

  at java.lang.ClassLoader$NativeLibrary.load(Native Method)

  at java.lang.ClassLoader.loadLibrary0(Unknown Source)

  at java.lang.ClassLoader.loadLibrary(Unknown Source)

  at java.lang.Runtime.loadLibrary0(Unknown Source)

  at java.lang.System.loadLibrary(Unknown Source)

  at sun.security.action.LoadLibraryAction.run(Unknown Source)

  at java.security.AccessController.doPrivileged(Native Method)

  at sun.awt.NativeLibLoader.loadLibraries(Unknown Source)

  at sun.awt.DebugHelper. clinit (Unknown Source)

  at java.awt.Component. clinit (Unknown Source)

笔者对 libXp 并不陌生,在过去 32bit 系统安装 10g 中,是需要安装 libXp 包的。所以在之前已经安装了 libXp。

[oracle@CRSimpleLinux database]$ rpm -qa | grep libXp

libXpm-3.5.10-2.el6.x86_64

libXp-1.0.0-15.1.el6.x86_64

不仅是 XWindows 工具,直接通过本机操作也无法启动界面工具。解决的线索在于报错目录中的 i386。笔者服务器是 64bit 的,和 32bit 不同,很多安装(包括依赖包)都是需要 32bit 软件版本进行支持。猜测是执行中需要安装 32bit 版的 libXp。

[root@CRSimpleLinux packages]# rpm -ivh libXp-1.0.0-15.1.el6.i686.rpm

warning: libXp-1.0.0-15.1.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY

Preparing…  ########################################### [100%]

  1:libXp  ########################################### [100%]

安装之后,libXp 两个版本均存在于系统中。

[root@CRSimpleLinux packages]# rpm -qa | grep libXp

libXpm-3.5.10-2.el6.x86_64

libXp-1.0.0-15.1.el6.x86_64

libXp-1.0.0-15.1.el6.i686

之后启动脚本正常。

[oracle@CRSimpleLinux database]$ ./runInstaller

Starting Oracle Universal Installer…

Checking installer requirements…

Checking operating system version: must be redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2

   Passed

All installer requirements met.

Preparing to launch Oracle Universal Installer from /tmp/OraInstall2014-05-19_12-40-28PM. Please wait …[oracle@CRSimpleLinux database]$

这个问题告诫我们,凡事不能想当然,在 64bit 环境中,安装数据库许多软件包是需要 32bit 和 64bit 同时安装。

3、ins_ctx.mk 编译 link 错误

在安装过程中,进入持续运行状态之后,在 link 步骤 Oracle 终止操作,报错说 link 失败。检查错误日志,如下内容:

INFO: chmod 751 /u01/app/oracle/product/10.2.0/db_1/bin/ctxlc

INFO: gcc -m32 -o ctxhx -L/u01/app/oracle/product/10.2.0/db_1/ctx//lib32/ -L/u01/app/oracle/product/10.2.0/db_1/lib32/ -L/u01/app/oracle/product/10.2.0/db_1/lib32/stubs/  /u01/app/oracle/product/10.2.0/db_1/ctx/lib/ctxhx.o -L/u01/app/oracle/product/10.2.0/db_1/ctx/lib/ -ldl -lm -lctxhx -Wl,-rpath,/u01/app/oracle/product/10.2.0/db_1/ctx/lib -lsnls10 -lnls10  -lcore10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lxml10 -lcore10 -lunls10 -lsnls10 -lnls10 -lcore10 -lnls10  `cat /u01/app/oracle/product/10.2.0/db_1/lib/

INFO: sysliblist`

INFO: /usr/bin/ld: crt1.o: No such file: No such file or directory

INFO: collect2: ld returned 1 exit status

INFO: make: *** [ctxhx] Error 1

INFO: End output from spawned process.

INFO: ———————————-

INFO: Exception thrown from action: make

Exception Name: MakefileException

Exception String: Error in invoking target install of makefile /u01/app/oracle/product/10.2.0/db_1/ctx/lib/ins_ctx.mk . See /u01/app/oracle/oraInventory/logs/installActions2014-05-12_06-22-42PM.log for details.

Exception Severity: 1

INFO: *** Cancel Dialog:  ***

INFO: User Selected: Stop installation of all products.

INFO: Error in invoking target install of makefile /u01/app/oracle/product/10.2.0/db_1/ctx/lib/ins_ctx.mk . See /u01/app/oracle/oraInventory/logs/installActions2014-05-12_06-22-42PM.log for details.

INFO: Setting variable PREREQ_CONFIG_LOCATION to . Received the value from variable association.

查询后,发现是安装依赖包的问题。在 32bit 环境下,我们使用 rpm 直接安装或者 yum 安装时,只安装 32bit 版本就可以了。但是在 64bit 环境下,是需要将两个版本的均进行安装。这个过程中是需要严格遵守文档对安装包的要求。安装完全包之后,错误消失。

4、ins_emdb.mk 问题

安装包均安装完全之后,继续安装时依然在 link 阶段报错。

INFO: make[1]: Leaving directory `/u01/app/oracle/product/10.2.0/db_1/sysman/lib

INFO: /u01/app/oracle/product/10.2.0/db_1/sysman/lib/snmccolm.o: could not read symbols: File in wrong format

INFO: collect2: ld returned 1 exit status

make[1]: *** [/u01/app/oracle/product/10.2.0/db_1/sysman/lib/nmccollector] Error 1

make: *** [nmccollector] Error 2

INFO: End output from spawned process.

INFO: ———————————-

INFO: Exception thrown from action: make

Exception Name: MakefileException

Exception String: Error in invoking target collector of makefile /u01/app/oracle/product/10.2.0/db_1/sysman/lib/ins_emdb.mk . See /u01/app/oracle/oraInventory/logs/installActions2014-05-12_06-34-52PM.log for details.

Exception Severity: 1

这个问题是比较复杂的,笔者查询了很多资料也没有一个确切的回应。最后在网络上检索到一位前辈的解决之道。

首先点击 ignore 跳过步骤,后面就可以直接完成 runInstaller 脚本执行。在 $ORACLE_HOME/bin 目录下,修改 oracle 文件为 oracle.bin。

创建文件 oracle 在相同目录,内容如下:

#!/bin/bash

export DISABLE_HUGETLBFS=1

exec $ORACLE_HOME/bin/oracle.bin $@

EOF

保存后使用 chmod a+x oracle 命令对文件进行权限修改。经过这种策略修改之后,Oracle 后续的 dbca 过程创建数据库执行正常。

但是,在后台进程中也表现出点问题,我们通过 ps –ef 不能看到常见 pmon 等后台进程,只有 oracle.bin 的系列对象。

[root@CRSimpleLinux packages]# ps -ef | grep pmon

root  542  406  0 12:57 pts/1  00:00:00 grep pmon

[root@CRSimpleLinux packages]# ps -ef | grep oracle

root  326 32748  0 12:32 pts/0  00:00:00 su – oracle

oracle   327  326  0 12:32 pts/0  00:00:00 -bash

oracle  389  1  0 12:34 ?  00:00:00 /u01/app/oracle/product/10.2.0/db_1/bin/oracle.bin (LOCAL=NO)

oracle  391  1  0 12:34 ?  00:00:00 /u01/app/oracle/product/10.2.0/db_1/bin/oracle.bin (LOCAL=NO)

oracle  399  1  0 12:35 ?  00:00:00 /u01/app/oracle/product/10.2.0/db_1/bin/oracle.bin (LOCAL=NO)

oracle  401  1  0 12:35 ?  00:00:00 /u01/app/oracle/product/10.2.0/db_1/bin/oracle.bin (LOCAL=NO)

oracle  3172  1  0 May13 ?  00:00:02 /u01/app/oracle/product/10.2.0/db_1/bin/oracle.bin

oracle  3181  1  0 May13 ?  00:00:00 /u01/app/oracle/product/10.2.0/db_1/bin/oracle.bin

oracle  3183  1  0 May13 ?  00:00:01 /u01/app/oracle/product/10.2.0/db_1/bin/oracle.bin

(篇幅原因,有省略……)

其余尚未发现兼容问题。

5、Memory Notification in alert log

安装完成后,监控 alert log 信息确定数据库运行正常。发现数据库日志中阶段性提示内存变动。

Mon May 12 19:39:09 2014

Memory Notification: Library Cache Object loaded into SGA

Heap size 3596K exceeds notification threshold (2048K)

KGL object name :XDB.XDbD/PLZ01TcHgNAgAIIegtw==

Mon May 12 19:39:09 2014

Memory Notification: Library Cache Object loaded into SGA

Heap size 3567K exceeds notification threshold (2048K)

Details in trace file /u01/app/oracle/admin/chinaredb/udump/chinaredb_ora_20268.trc

KGL object name :XDB.XDA8XlWX/h+P3gQFeMmGQWfg==

进入 10g 之后,一些内存、文件告警通知机制被引入到 Oracle 运行过程中。对一些性能关注点,如 SGA 对象、Swap 使用,Oracle 是有自己的控制机制的。一旦超过了设置阈值,就会在 alert log 中记录下来,提醒用户。

这个 memory notification 很简单,就是 SGA 中引入了比较大的 library cache 对象之后,就会自动写入进去,从性能上也没有什么大问题。如果需要解决就是修改内部的控制阈值,不要让提示过于频繁发生。

SQL alter system set _kgl_large_heap_warning_threshold =8388608 scope=spfile ;

SQL shutdown immediate

SQL startup

内部参数_kgl_large_heap_warning_threshold 就起到这个作用。修改参数后重新启动数据库,报错信息不再出现。

看完了这篇文章,相信你对“Red Hat 6.5 安装 Oracle 10g 故障有哪些”有了一定的了解,如果想了解更多相关知识,欢迎关注丸趣 TV 行业资讯频道,感谢各位的阅读!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-24发表,共计7220字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)