Ubuntu 11.04上安装jdk1.6+oracle 11g笔记

昨天成功的在Ubuntu 11.04上安装了jdk1.6+oracle 11g。还没有运行,只看到了安装成功的提升,先记下安装的过程吧。

本次安装参考了N篇网上兄弟们的文章,主要参考了这2篇: http://www.puppeter.cn/?p=196 (作者:Poil)和 http://wiki.ubuntu.org.cn/Ubuntu上Oracle10g安装指南 (wiki安装指南)。

第0步,安装jdk或者jre,
我是安装jdk的,这一步与其他步骤独立。有的文章中说可以用sudo apt-get install sun-java6-jdk,我发现在ubuntu 11.04中是不可以的,源里面已经没有jdk了,只好去jdk的官网下载jdk-6u26-linux-i586.bin
jdk-6u26-linux-i586.bin 拷贝到/home/program(安装目录)下,然后,
sudo chmod a+x jdk-6u20-linux-i586.bin
sudo ./jdk-6u20-linux-i586.bin
设置java的环境变量,网上有说在/etc/environment设置的,我试了,设了之后重启会无法login,原因未知,有可能是我的设置问题,我是在/etc/profile中设置的,在该文件最后一行“umask 022”前加入几行,
JAVA_HOME=/home/program/jdk1.6.0_26
JRE_HOME=/home/program/jdk1.6.0_26/jre
CLASS_PATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
然后 source /etc/profile 

如果安装了openjdk还需要以下步骤,我安装sun jdk之前已经把openjdk删了,但是我还是做了这个步骤。

sudo update-alternatives --install /usr/bin/java java /home/program/jdk1.6.0_26/bin/java 300

sudo update-alternatives --install /usr/bin/javac javac /home/program/jdk1.6.0_26/bin/javac 300

sudo update-alternatives --config java  ,选择对应的jdk

然后(不是最后),java -version 查看版本是否正确

java的字体设置比较麻烦,我参考了这篇文章 http://hi.baidu.com/wgzz_/blog/item/9d04200f92ab18ec36d122f4.html ,摘录并修改如下,

从windows中找到微软雅黑字体,然后把它拷贝到/usr/share/fonts/chinese/TrueType中(jdk6里面好像没有这个目录,我新建了), 并命名为msyh.ttf. 第二步进入$JRE_HOME/lib下, 你就会看到很多的fontconfig, 打开 fontconfig.RedHat.properties.src , 找到

filename.-misc-zysong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1
这行, 看看是不是 /usr/share/fonts/chinese/TrueType/msyh.ttf , 如果不是, 那改为这个。 然后找
awtfontpath.chinese-cn-iso10646
这行, 看看是不是 /usr/share/fonts/chinese/TrueType , 如果不是, 也改为这个。

如果不改的话,oracle安装的时候,中文字的地方会显示乱码。

第1步,安装oracle依赖的软件和库

apt-get install build-essential libaio1 gawk ksh alien libtool libmotif lsb-rpm libstdc++.so.5

也可以参考Poil兄的做法

sudo apt-get install gcc libaio1 lesstif2 lesstif2-dev make rpm sun-java6-jre sudo apt-get install binutils libc6 libc6-dev libmotif3 libaio1 libstdc++6 alien sudo apt-get install xorg gdm

不过libmotif3已经不在源里面了,实际安装的是libmotif4,还有libstdc++5好像是必须的,我安装的时候把libstdc++6软连接到libstdc++5好像不通过。

第2步,建立oracle用户和用户组,并修改内核参数

这一步我主要参考了oracle文档“oracle installation guide”e16766.pdf。摘抄如下:

增加用户和用户组

sudo addgroup oinstall

sudo addgroup dba

sudo adduser oracle

sudo usermod -g oinstall -G dba oracle

修改/etc/sysctl.conf,加入如下行

fs.aio-max-nr = 1048576 
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586

修改/etc/security/limits.conf,加入如下行

oracle soft nproc 2047 
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240

第3步,产生相应软连接,

据说目的是为了模拟redhat,这一步我参考了wiki安装指南(需要sudo),

ln -s /usr/bin/awk /bin/awk

ln -s /usr/bin/rpm /bin/rpm

ln -s /usr/bin/basename /bin/basename

mkdir /etc/rc.d

ln -s /etc/rc0.d /etc/rc.d/rc0.d

ln -s /etc/rc2.d /etc/rc.d/rc2.d

ln -s /etc/rc3.d /etc/rc.d/rc3.d

ln -s /etc/rc4.d /etc/rc.d/rc4.d

ln -s /etc/rc5.d /etc/rc.d/rc5.d

ln -s /etc/rc6.d /etc/rc.d/rc6.d

ln -s /etc/init.d /etc/rc.d/init.d

编辑/etc/redhat-release,添加以下语句,

Red Hat Linux release 3.1 (drupal)

第4步,配置环境变量,

这个主要参考了oracle文档“oracle installation guide”e16766.pdf和某位不知名的兄弟的文章,抱歉我已经找不到这篇文章了。步骤如下,

sudo xhost + 

export TMP=/home/program/oracle/tmp

export TMPDIR=/home/program/oracle/tmp

export DISPLAY=:0.0

PATH=$PATH:$HOME/bin

export ORACLE_BASE=/home/program/oracle

export ORACLE_HOME=$ORACLE_BASE/server

export ORACLE_SID=orcl

export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/opmn/bin:$ORACLE_HOME/dcm/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:$ORACLE_HOME/OPatch

export PATH=$PATH:$HOME/bin:/bin:/sbin:/usr/bin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/local/lib

export LC_ALL=zh_CN.UTF-8

export LANG=zh_CN.UTF-8

export LANGUAGE=zh_CN:zh:en_CN:en

export NLS_LANG="SIMPLIFIED CHINESE"_CHINA.UTF8

export PATH

第5步,安装oracle,
运行安装文件,./runInstaller,按理说应该可以安装了,可是中文的地方还是乱码,不解。运行./runInstaller -jreLoc $JRE_HOME,就ok了。
安装过程中会碰到一些问题,依次列举如下
1. 会有依赖软件的检查,有N多不通过的,选全部忽略即可。如果不放心,逐个apt-get install 一下,我是抽取其中几个apt-get install了;
2. 安装的过程中会多次有提示错误,XXXXX compile不过,XXXXXX makefile 不过等等,千万不要点“忽略”。大部分是编译的时候依赖的库没有找到,解决办法举例:
先去../oraInventory/logs/下找到错误信息提示的那个log,查看一下这个文件的最后几行,报错一般是类似/usr/lib/或者就是/lib/下的某些.a和.so文件找不到,到/usr/lib/或者/lib/下用 find . -name "*XXXX*" 找一下这个文件(xxxx是文件名,需要去掉文件名中的版本号等,不然找不到),一般会在/usr/lib/i386-linux-gnu/或者/lib/i386-linux-gnu/下找到,然后
ln -s /usr/lib/i386-linux-gnu/XXXX /usr/lib/XXXX 
就可以了,完成后去oracle安装的错误提示框中点击“重试”一般就可以通过了。如果还是不能通过,说明可能有些lib没有安装,比如,我一开始就碰到libstdc++5没有安装,我ln了libstdc++6的过来,失败,所以必须安装libstdc++5,apt-get install之。
第6步,安装后续。
据网上N多文章所说,安装完成后oracle会提示运行两个script,orainstRoot.shroot.sh,我只提示需要运行root.sh。不知道为什么,反正最后根据oracle的提示操作吧。完成后,浏览器输入
http://localhost:1158/em
看到oracle界面就ok了。
言而总之,这个安装过程还是很辛苦的,网上很多文章,而且多数的ubuntu和jre的版本都比较老,不知如何取舍,尝试了N种手段,才找到比较合适的路径。一家之言,各位看官各取所需。
写于2011-06-15 09:48
原文地址:https://www.cnblogs.com/valleylord/p/2758647.html