Welcome 微信登录

首页 / 数据库 / MySQL / Ubuntu 12.04(32位)安装Oracle 11g(32位)全过程以及几乎所有问题的解决办法

这两天在Ubuntu上安装Oracle把人折腾毁了,即使照着网上的教程来,还是出了很多问题。好在最后终于搞定了。写出来总结一下,免得以后忘了。标题注明32位是因为网上教程几乎全是以64位安装为例的,32位系统下照着做是绝对会安装失败的。出现的问题主要有两方面,一个是安装过程中出现的,另一个是安装完成后出现的。安装过程(主要过程就直接copy别人的教程了)及问题:1.将系统更新到最新:sudo apt-get update
sudo apt-get dist-upgrade
2.如果使用的Ubuntu不是桌面版(如Ubuntu server),由于Oracle安装需要用到图形界面,所以需要安装桌面程序:sudo apt-get install gnome-core
相信很多都是使用的桌面版,那么这个步骤就不需要了。3.  安装Oracle所需的依赖包:sudo apt-get install automakesudo apt-get install autotools-dev
sudo apt-get install binutils
sudo apt-get install bzip2
sudo apt-get install elfutils
sudo apt-get install expat
sudo apt-get install gawk
sudo apt-get install gcc
sudo apt-get install gcc-multilib
sudo apt-get install g++-multilib
sudo apt-get install ia32-libs
sudo apt-get install ksh
sudo apt-get install less
sudo apt-get install lesstif2
sudo apt-get install lesstif2-dev
sudo apt-get install lib32z1
sudo apt-get install libaio1
sudo apt-get install libaio-dev
sudo apt-get install libc6-dev
sudo apt-get install libc6-dev-i386
sudo apt-get install libc6-i386
sudo apt-get install libelf-dev
sudo apt-get install libltdl-dev
sudo apt-get install libmotif4
sudo apt-get install libodbcinstq4-1 libodbcinstq4-1:i386
sudo apt-get install libpth-dev
sudo apt-get install libpthread-stubs0
sudo apt-get install libpthread-stubs0-dev
sudo apt-get install libstdc++5
sudo apt-get install lsb-cxx
sudo apt-get install make
sudo apt-get install openssh-server
sudo apt-get install pdksh
sudo apt-get install rlwrap
sudo apt-get install rpm
sudo apt-get install sysstat
sudo apt-get install unixodbc
sudo apt-get install unixodbc-dev
sudo apt-get install unzip
sudo apt-get install x11-utils
sudo apt-get install zlibc很多都是Ubuntu自带的了,谨慎6起见都执行一遍吧。4.创建用户(此步可省略,直接使用当前的用户即可,下面的安装过程都是以不执行这一步为准的)
sudo groupadd oinstall
sudo groupadd dba
sudo useradd -g oinstall -G dba  -d /opt/oracle -s /bin/bash oracle
sudo passwd oracle
5.检查系统变量
/sbin/sysctl -a | grep sem/sbin/sysctl -a | grep shm/sbin/sysctl -a | grep file-max/sbin/sysctl -a | grep aio-max/sbin/sysctl -a | grep ip_local_port_range/sbin/sysctl -a | grep rmem_default/sbin/sysctl -a | grep rmem_max/sbin/sysctl -a | grep wmem_default/sbin/sysctl -a | grep wmem_max
然后根据上面命令中得到的参数值在/etc/sysctl.conf中增加对应数据,比如:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152kernel.shmmax = 536870912
kernel.shmmni = 4096kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144
net.core.wmem_max = 1048586
运行一下命令更新内核参数:
sysctl –p
6.添加对oracle用户的内核限制在 /etc/security/limits.conf 文件中增加以下数据
oracle              soft    nproc  2047oracle              hard    nproc  16384oracle              soft    nofile  1024oracle              hard    nofile  65536oracle              soft    stack  10240
其中oracle是在第四步中创建的用户,跳过第四步的话就写当前用户7.查看/etc/pam.d/login,增加以下行(有了就不用增加了):session required pam_limits.so
同样检查/etc/pam.d/su,没有以下行就自己加上:session required pam_limits.so
7.创建需要的文件夹(用于安装oracle)并设置其所有权:
mkdir -p /opt/oracle
mkdir -p /opt/oraInventory
chown -R oracle:oinstall  /opt/oraclechown -R oracle:oinstall  /opt/oraInventory
同样,如果跳过了第四步,那就将所有权设置命令中的用户oracle和组oinstall改为自己当前用户和组(通常二者是一样的),当然这时也可以不执行这两个chown命令,本来目录创建者就是所有者了。另外,需要root权限执行这些命令(sudo,下同)8.如果Ubuntu上没安装JRE的话,需要安装JRE(我这里直接安装了JDK,以JDK为例):到Oracle官网下载JDK6(最新为7,考虑到兼容性问题,安装6):http://www.oracle.com/technetwork/java/javase/downloads/jdk6downloads-1902814.html下载jdk-6u45-linux-i586.bin这个文件。放到主文件夹(home目录)下,进入终端:$sudo chmod 777 jdk-6u37-linux-x64.bin  // 将文件赋予运行权限 $sudo -s ./jdk-6u37-linux-x64.bin /usr/lib/jdk  //将JDK安装到/usr/lib/jdk 目录下。
注意:最后安装完成后可能安装到了主文件夹下了,这是使用命令将其全部复制到/usr/lib/jdk目录下即可。(如果没有权限,就使用sudo chmod 777获取权限再复制)配置JDK的环境变量,使用编辑器打开主文件夹下的.bashrc配置文件(隐藏),向其中加入如下内容:#JDK
JAVA_HOME=/usr/lib/jdk/jdk1.6.0_45
JRE_HOME=${JAVA_HOME}/jre
export Android_JAVA_HOME=$JAVA_HOME
export CLASSPATH=.:${JAVA_HOME}/lib:$JRE_HOME/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export JAVA_HOME;
export JRE_HOME;
export CLASSPATH;
HOME_BIN=~/bin/
export PATH=${PATH}:${JAVA_PATH}:${HOME_BIN};
注意核对一下目录结构是不是正确的。最后验证JDK是否安装正确:java -version出现了JDK版本信息就表示正确了。9.为Oracle配置环境变量。同样在主文件夹下的.bashrc配置文件中加入如下内容:#Oracle
#这个写刚刚创建的文件夹
export ORACLE_BASE=/opt/oracle
#这个后面可以随便填写
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
#数据库的sid
export ORACLE_SID=orclexport ORACLE_UNQNAME=orcl
#默认字符集
export NLS_LANG=.AL32UTF8
#环境变量
export PATH=${PATH}:${ORACLE_HOME}/bin/;
10.oracle本身并不支持ubuntu来安装,所以要进行欺骗oracle的安装程序(sudo执行):ln -s /etc /etc/rc.dln -s /lib/i386-linux-gnu/libgcc_s.so.1 /lib/ln -s /usr/bin/awk /bin/awkln -s /usr/bin/basename /bin/basenameln -s /usr/bin/rpm /bin/rpmln -s /usr/lib/i386-linux-gnu/libpthread_nonshared.a /usr/lib/libpthread_nonshared.a
ln -s /usr/lib/i386-linux-gnu/libc_nonshared.a /usr/lib/libc_nonshared.a
ln -s /usr/lib/i386-linux-gnu/libstdc++.so.6 /lib/ln -s /usr/lib/i386-linux-gnu/libstdc++.so.6 /usr/lib/
ln -s /usr/lib/i386-linux-gnu/libstdc++.so.5 /lib/ln -s /usr/lib/i386-linux-gnu/libstdc++.so.5 /usr/lib/
echo ‘Red Hat Linux release 5’ > /etc/RedHat-release注意:以上命令是对应于32位Ubuntu安装32位Oracle的,如果是64位Ubuntu安装64位Oracle,上面的i386-linux-gnu就都要改成x86_64-linux-gnu,目标目录的lib也要改成lib64.(没有lib64就新建一个)因为Ubuntu将某些库文件根据32位系统和64位系统分别存放了,但Oracle只认/usr/lib和/lib目录,所以需要进行上面的软链接。11.下载Oracle安装程序:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
下载Linux x86的那两个文件(64位系统就下Linux x86-64),解压后得到database文件夹。12.正式安装Oracle,为database文件夹下的runInstaller文件赋予可执行权限:chmod 777 runInstaller跳转到database目录,在终端下执行:./runInstaller此时可能会出现database目录下部分文件的权限不足,导致安装程序无法启动的问题,根据提示,对那些文件使用chmod 777进行授权就行了(貌似一共3个文件)。启动安装图形界面后,可能会发现文字乱码,全是口口口:
这时可以关闭该界面,先在终端输入:export LANG=en_US或者export LANG=zh_CN.gbk然后再执行:./runInstaller
就可以在全英文界面下进行安装了。相关阅读:CentOS 6.3(x86_64)下安装Oracle 10g R2  http://www.linuxidc.com/Linux/2014-01/95244.htmCentOS 6.3(x86_32)下安装Oracle 10g R2 http://www.linuxidc.com/Linux/2014-01/95245.htm
  • 1
  • 2
  • 下一页
Hive学习笔记之-使用Sqoop把Oracle表导入HiveEnvironment variable ORACLE_UNQNAME not defined错误解决相关资讯      Oracle 11g  Oracle 11g安装 
  • Ubuntu 16.04安装Oracle 11g  (今 09:45)
  • SUSE 11下安装 Oracle 11g图解及相  (01月25日)
  • Oracle 11g导入到10g引起的错误  (11/16/2015 10:55:27)
  • RHEL 5.7下Oracle 11g 单实例安装  (08月13日)
  • Oracle 11g+RAC+RHEL6.5+udev+ASM+  (12/04/2015 09:10:53)
  • Linux 6下安装Oracle 11g(64bit)  (08/28/2015 13:51:46)
本文评论 查看全部评论 (0)
表情: 姓名: 字数