千家信息网

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

发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,小编给大家分享一下Red Hat 6.5安装Oracle 10g故障有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1、OS版本兼容OS与Database Software之间的
千家信息网最后更新 2025年02月03日Red Hat 6.5安装Oracle 10g故障有哪些

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

1OS版本兼容

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.(Unknown Source)

at java.awt.Component.(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同时安装。

3ins_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环境下,是需要将两个版本的均进行安装。这个过程中是需要严格遵守文档对安装包的要求。安装完全包之后,错误消失。

4ins_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

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

其余尚未发现兼容问题。

5Memory 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故障有哪些"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

版本 问题 过程 数据 数据库 文件 软件 运行 信息 对象 就是 环境 界面 目录 笔者 脚本 错误 故障 两个 兼容性 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 公安局网络安全人员管理 湖北常规软件开发定制服务价格 久久为功培厚网络安全吗 达梦是不是事务型数据库 无法在安全服务器 数据库中建物理模型的工具 北京计算机软件开发技术学校 滑县司法局开展网络安全宣传周 在西安那学软件开发比较好 关于网络技术描述不正确的 几何软件开发平台 达蒙 主流数据库 网络安全手抄报王者荣耀 金东区科技互联网推广 华为服务器8100 数据库去规范化在逻辑设计 火车票预售数据库系统 网络技术可以学到什么 在数据库中改一条数据有记录吗 广东综合软件开发直销价格 网络安全中学生应该怎么做 券商交易软件开发属于什么部门 免费外文数据库 饿了么服务器价格 无线路由dns服务器 速达服务器数据库安装 天行vqn服务器列表错误 软件开发模式包括螺旋模式和 软件开发服务类税负率 数据库去规范化在逻辑设计
0