ubuntu 12.04桌面安装oracle 10g 过程记录

   因为用win7下VMware安装了oracle 11g,oracle10g,可能是笔记本的硬盘不行了,在win下吱吱叫,实在是心烦,就装了个以前下载的ubuntu12.04桌面系统,与win7形成双系统,而不是虚拟机上安装了。然后在ubuntu上安装oracle 10g。

   安装过程需要的大部分知识都是在网上查看各种技术文章,不过有些与我使用的环境还是有区别的。

1.安装好ubuntu 12.04桌面操作系统,下载oracle 10.2.0.1.0安装介质。

2.更新操作系统软件:

  为了省去使用sudo、然后还得再输入口令的麻烦,我是使用root用户做的环境准备操作。

  su - root

  输入口令切换到root用户。

  atp-get update

  apt-get dist-upgrade

3.  安装Oracle所需的依赖包:

apt-get install automake

apt-get install autotools-dev
apt-get install binutils
apt-get install bzip2
apt-get install elfutils
apt-get install expat
apt-get install gawk
apt-get install gcc
apt-get install gcc-multilib
apt-get install g++-multilib
apt-get install ia32-libs
apt-get install ksh
apt-get install less
apt-get install lesstif2
apt-get install lesstif2-dev
apt-get install lib32z1
apt-get install libaio1
apt-get install libaio-dev
apt-get install libc6-dev
apt-get install libc6-dev-i386
apt-get install libc6-i386
apt-get install libelf-dev
apt-get install libltdl-dev
apt-get install libmotif4
apt-get install libodbcinstq4-1 libodbcinstq4-1:i386
apt-get install libpth-dev
apt-get install libpthread-stubs0
apt-get install libpthread-stubs0-dev
apt-get install libstdc++5
apt-get install lsb-cxx
apt-get install make
apt-get install openssh-server
apt-get install pdksh
apt-get install rlwrap
apt-get install rpm
apt-get install sysstat
apt-get install unixodbc
apt-get install unixodbc-dev
apt-get install unzip
apt-get install x11-utils
apt-get install zlibc

以上包有的ubuntu已经装了,偷懒的方式都执行一遍,安装了的系统会提示

Reading package lists... Done
Building dependency tree      
Reading state information... Done
zlibc is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
,没安装的会自动安装,如果系统没有连Internet的话,只能找到相关包再安装了。这里用的也是root用户,我找到相关资料,在/etc/sudoers文件中把使用的普通用户加入到

oracle ALL=(ALL:ALL) ALL NOPASSWD ALL,就可以在sudo后不用输入口令了,但是没有成功,本人重点不是ubuntu系统问题,所以不过多讨论;我对ubuntu系统还是菜鸟,刚用了10分钟。呵呵。

4.创建用户

因为我刚开始安装ubuntu系统的时候就是准备安装oracle,所以开始用户命名就是oracle。

这里只需要创建相关的组。

groupadd oinstall

groupadd dba

groupadd oper

改变oracle用户的主、辅组为oinstall,dba,oper。

usermod -g oinstall -G dba,oper 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 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

运行/sbin/sysctl -p更新配置文件。


6.添加对oracle用户的内核限制,在 /etc/security/limits.conf 文件中增加以下数据

oracle              soft    nproc   2047

oracle              hard    nproc   16384

oracle              soft    nofile  1024

oracle              hard    nofile  65536

oracle              soft    stack   10240

7.查看/etc/pam.d/login,和/etc/pam.d/su两个文件中增加以下行

session required pam_limits.so

8.创建需要的文件夹,也就是为oracle的ORACLE_BASE,ORACLE_HOME创建文件夹。

/bin/mkdir -p /u01/app/oracle/product/10.2.0/dbhome_1/

chown oracle /u01 -R

chgrp oinstall /u01 -R

9.安装JDK,在oracle官网上找到JDK套件下载linux_x86平台的tar.gz形式的压缩包。此例中实在

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

下载的jdk-7u25-linux-i586.tar.gz.将包放在/usr/lib/jdk目录下解压。如果没有jdk目录,先创建一个。解压后就可以把压缩包删除了。

10.为oracle设置环境变量

oracle用户的home目录,本例子中是在/home/oracle下,编辑 .bashrc文件

export ORACLE_BASH=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASH/product/10.2.0/dbhome_1
export ORACLE_SID=oral
export NLS_LANG=.AL32UTF8
export PATH=${PATH}:${ORACLE_HOME}/bin/

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}

这里已经把java的环境变量也设置了,使用java -version测试一下,如果出现了JDK版本信息就表示正确了。


11.伪装成redhat欺骗oracle,因为oracle本身不支持在ubuntu平台。

ln -s /etc /etc/rc.d

ln -s /lib/i386-linux-gnu/libgcc_s.so.1 /lib/

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

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

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

ln -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 4 >/etc/redhat-release


12.安装oracle

将oracle安装介质放在/u01/app/oracle下,解压后的目录为database,将此目录修改属性为:

chown oracle database/ -R

chgrp oinstall database/ -R


cd database

./ runInstaller

具体设置请参考oracle 10g相关安装文章或oracle联机文档。

13.在安装过成中报错信息和处理方法:

(1)Error in invoking target 'install' of makefile '/u01/app/oracle/product/10.2.0/dbhome_1/sqlplus/lib/ins_sqlplus.mk'

在/u01/app/oracle/product/10.2.0/dbhome_1/sqlplus/lib中,将EXPDLIBS=-lclntsh添加到env_sqlplus.mk文件中。


(2)Error in invoking target 'agent nmo nmb' of makefile '/u01/app/oracle/product/10.2.0/dbhome_1/sysman/lib/ins_sysman.mk'.

在env_sysman.mk文件中找到NO_CPPT_OPTION=#-no_cpprt一行,有的文章说把#去掉,可我的系统是去掉#的,我添加了#后,运行通过。



(3)Error in invoking target 'install' of makefile '/u01/app/oracle/product/10.2.0/dbhome_1/network/lib/ins_net_server.mk'.

没有解决,在网上找到相关技术文章也没有解决,直接忽略过。

(4)Error in invoking target 'all_no_orcl ihsodbc' of makefile '/u01/app/oracle/product/10.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk

也没有解决,直接忽略过。


14.提示运行相关脚本:

以root用户运行/home/oracle/oraInventory/orainstRoot.sh和/u01/app/oracle/product/10.2.0/dbhome_1/root.sh

退出安装,ps -eaf | grep ora_查看oracle实例已经启动。


参考资源:

http://blog.csdn.net/idber/article/details/9039857

http://www.2cto.com/database/201112/113319.html

http://sqlandplsql.com/2011/12/02/installing-oracle-11g-on-ubuntu/


你可能感兴趣的:(oracle)