ubuntu14.04上(32bit)安装oracle 11g

参照Morphling0809的文章https://blog.csdn.net/bible1/article/details/52933438?locationNum=7&fps=1
参照蓝色封印的文章http://blog.sina.com.cn/s/blog_4f02f6020102v049.html
参照OscarChen的文章:https://blog.csdn.net/crave_shy/article/details/49330715

1、设置ubuntu环境的交换分区在4G或者以上
(1)查看系统交换分区的大小
这里写图片描述
(2)利用disks工具查看系统交换分区所在设备编号
这里写图片描述
这里写图片描述
可见交换分区位于/dev/sda5
(3)修改分区大小

$ cd /dev
$ sudo rm sda5         #删除已有的交换分区
$ sudo mkdir /swap
$ cd /swap
$ sudo dd if=/dev/zero of=swap.disk bs=1M count=4k #4K表swap分区大小为4G
$ sudo mkswap -f swap.disk
$ sudo swapon swap.disk

实现开机自动挂载swap分区,需编辑/etc/fstab文件

$ sudo gedit /etc/fstab

UUID=56bca9ad-36fb-428a-8357-d02a3f677025 none            swap    sw              0       0

替换为:

/swap/swap.disk none            swap    sw              0       0

此时通过free -m命令即可查看修改后的swap分区的大小。
(4)优化交换分区
查看swappiness参数:

$ cat /proc/sys/vm/swappiness

swappiness默认值为60,该值为0时表示最大限度使用物理内存,然后才是swap分区;该值为100则表示尽量使用swap分区,且将内存上的数据及时搬运到swap空间上。这里修改该为10:

$ sudo sysctl vm.swappiness=10
$ sudo gedit /etc/sysctl.conf

在文件末尾添加“vm.swappiness=10”,保存重启。

2、安装jdk环境

$ sudo apt-get install openjdk-7-jre 
$ sudo apt-get install openjdk-7-jdk

验证jdk是否安装正确:

$ java -version

出现了jdk版本信息就表示正确了。

3、更新系统(可选)

$ sudo apt-get update
$ sudo apt-get dist-upgrade

4、安装oracle所需要的依赖库

$ sudo apt-get install automake
$ sudo 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

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 = 65536 
fs.file-max = 6553600
kernel.shmall = 4278190079
kernel.shmmax = 4278190079
kernel.shmmni = 4096 
kernel.sem = 32000
net.ipv4.ip_local_port_range = 32768 
net.core.rmem_default = 163840 
net.core.rmem_max = 163840 
net.core.wmem_default = 163840 
net.core.wmem_max = 163840

更新内核参数:

$ sysctl –p

6、添加对当前用户的内核限制(我这里当前用户是kyo)

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

7、查看/etc/pam.d/login,增加以下行(有了就不用增加了)

session required pam_limits.so

8、创建oracle安装的目录,并设置其所有权

$ sudo mkdir -p /opt/oracle
$ sudo mkdir -p /opt/oraInventory
$ sudo chown -R kyo:kyo /opt/oracle
$ sudo chown -R kyo:kyo /opt/oraInventory

9、在主文件夹下的.bashrc配置文件中加入如下内容:

#Oracle
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
#数据库的sid(实例)
export ORACLE_SID=orcl
export ORACLE_UNQNAME=orcl
#默认字符集
export NLS_LANG=.AL32UTF8
#环境变量
export PATH=${PATH}:${ORACLE_HOME}/bin/

这些配置在下来安装oracle的时会被夹在到安装程序,即为oracle配置环境变量。使生效:

$ source .bashrc

10、oracle本身并不支持安装在ubuntu,所以要进行欺骗oracle的安装程序(sudo执行)

# 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/
$ sudo touch /etc/redhat-release
$ sudo echo 'Red Hat Linux release 5' > /etc/redhat-release

ubuntu将某些库文件根据32位系统和64位系统分别存放了,但Oracle只认/usr/lib和/lib目录,所以需要进行上面的软链接。

11、下载32位(x86)的Oracle for Linux安装程序,解压后得到database目录。下载地址为:

http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

这里写图片描述

12、在终端设置语言环境

$ export LANG=en_US
或者
$ export LANG=zh_CN.gbk

否则Oracle安装程序的启动界面可能会出现乱码。

13、运行安装程序

$ cd databases
$ sudo chmod 777 runInstaller
$ ./runInstaller

(1)出现填写电邮地址的界面,电邮地址不要填写且复选框不要勾选,点击“下一步”按钮。弹出’X’标志的提示点击“YES”按钮后就可进入下一步;
(2)下来都是点击next,然后有一个为实例orcl设置密码的界面:
这里写图片描述
设置密码即可。oracle对密码有限制严格,需要大小写字母+数字。
(3)再下来会出现2个错误:
错误1:

Error in invoking target 'agent nmhs' of makefile 'opt/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk'. See '/opt/oraInventory/logs/installActions2014-08-09_03-15-56AM.log' for details.

解决方法:
打开一个新的终端,输入如下命令:

$ sed -i 's/^\(\s*\$(MK_EMAGENT_NMECTL)\)\s*$/\1 -lnnz11/g' $ORACLE_HOME/sysman/lib/ins_emagent.mk

然后在图形界面点击“Retry”就能继续安装了。

错误2:

Error in invoking target 'all_no_orcl' of makefile '/opt/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk'. See '/opt/oraInventory/logs/installActions2014-08-09_03-16-32AM.log' for details.

解决方法:
在新终端中输入如下四个命令:

$ sed -i 's/^\(TNSLSNR_LINKLINE.*\$(TNSLSNR_OFILES)\) \(\$(LINKTTLIBS)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/network/lib/env_network.mk
$ sed -i 's/^\(ORACLE_LINKLINE.*\$(ORACLE_LINKER)\) \(\$(PL_FLAGS)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/rdbms/lib/env_rdbms.mk
$ sed -i 's/^\(\$LD \$LD_RUNTIME\) \(\$LD_OPT\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/bin/genorasdksh
$ sed -i 's/^\(\s*\)\(\$(OCRLIBS_DEFAULT)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/srvm/lib/ins_srvm.mk

然后在图形界面点击“Retry”就能继续安装了。

14、增加学习使用的方案(可选)
在最后会弹窗:
这里写图片描述
选择password management,去掉scott的锁并为其设置密码。这个方案(也可以理解为用户),里面有多张表。是我接下来学习oracle用到的。
这里写图片描述

15、执行脚本

$ sudo /opt/oraInventory/orainstRoot.sh
$ sudo /opt/oracle/product/11.2.0/dbhome_1/root.sh

至此,oracle 11gubuntu14.04(32bit)环境的安装完成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值