在CentOS系统中安装Oracle11g是一个比较常见的需求,但是在安装过程中会遇到一些问题,其中之一就是乱码的问题。这个问题比较棘手,我们需要进行一些调整才能解决,本篇文章将详细介绍在CentOS系统中安装Oracle11g乱码的解决方法。
在进行解决之前,我们先了解一下在CentOS系统中安装Oracle11g出现乱码问题的原因。由于CentOS系统默认是不支持UTF-8编码的,而Oracle11g则是使用UTF-8编码的,如果我们直接进行安装,就会出现乱码问题。例如:
[root@localhost ~]# ./runInstaller
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 80 MB. Actual 5538 MB Passed
Checking swap space: must be greater than 150 MB. Actual 762 MB Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2019-09-23_01-30-10PM. Please wait ...[oracle@localhost database]$ Initializing Java Virtual Machine from /tmp/OraInstall2019-09-23_01-30-10PM/jre/bin/java. Please wait...
#
# An unexpected error has been detected by Java Runtime Environment:
#
# Internal Error (os_linux_zero.cpp:259), pid=3567, tid=1334823120
# fatal error: caught unhandled signal 11
#
# JRE version: 7.0_79-b15
# Java VM: Java HotSpot(TM) Client VM (24.79-b02 mixed mode linux-x86 )
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# If you would like to submit a bug report, please visit:
# http://bugreport.sun.com/bugreport/crash.jsp
#
以上就是运行Oracle Universal Installer时出现的乱码问题。这个问题很让人头疼,但是我们可以通过在启动Oracle Universal Installer时添加一个参数来解决。
[root@localhost ~]# ./runInstaller -ignoreSysPrereqs -ignorePrereq
通过添加-ignoreSysPrereqs和-ignorePrereq参数,我们可以跳过系统检查,从而避免出现乱码的问题。这两个参数的具体作用如下:
- -ignoreSysPrereqs:用于跳过系统检查,如果出现此错误:“Error in invoking target ‘ALL\_ORACLE\_HOME’ of makefile… You omitted a necessary library or executable file.”,则需要添加此参数。
- -ignorePrereq:用于跳过条件检查,如果在安装准备阶段出现错误提示,就可以通过添加此参数来跳过检查。
在上面的两个参数中添加-ignoreSysPrereqs就可以避免出现乱码的问题了。需要注意的是,如果出现其他错误,需要进行相应的调整。
在安装完成后,如果仍然出现乱码问题,可以修改环境变量来进行解决。具体的步骤如下:
- 编辑/etc/profile文件:vi /etc/profile
- 在文件末尾添加以下内容:
- 保存退出
- 执行以下命令:source /etc/profile
export LANG="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
export LANGUAGE="en_US.UTF-8"
通过以上方法可以在CentOS系统中解决安装Oracle11g乱码的问题。需要注意的是,如果出现其他错误,可能需要进行进一步的调整和修改。