前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ubuntu Server12.4.0安装Oracle 11gR2

Ubuntu Server12.4.0安装Oracle 11gR2

作者头像
卡尔曼和玻尔兹曼谁曼
发布2019-01-22 11:09:25
6210
发布2019-01-22 11:09:25
举报

相关参考资料:

http://www.techienote.com/how-to-install-oracle-database-11g-r2-on-ubuntu-12-04/

http://www.linuxidc.com/Linux/2011-12/48931.htm

http://www.cnblogs.com/dyllove98/archive/2013/06/16/3138761.html

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

系统环境:

64位Ubuntu操作系统12.4.0

1. 安装依赖

sudo apt-get update

sudo apt-get install gcc make binutils gawk x11-utils rpm build-essential libaio1 libaio-dev libmotif4 libtool expat alien ksh pdksh unixODBC unixODBC-dev sysstat elfutils libelf-dev binutils lesstif2 lsb-cxx libstdc++5

2. 创建一些软链接

sudo ln -sf /bin/bash /bin/sh

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

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

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

sudo ln -s /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib64/libc_nonshared.a

sudo ln -s /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib64/libpthread_nonshared.a  

sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib64/libstdc++.so.6

sudo ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib64/libgcc_s.so.1 

3. 创建用户和组

sudo addgroup oinstall

sudo addgroup dba

sudo addgroup nobody

sudo usermod -g nobody nobody

sudo useradd -g oinstall -G dba -p password -d /home/oracle -s /bin/bash oracle

sudo mkdir /home/oracle

sudo chown -R oracle:dba /home/oracle

4. 更改启动脚本(以root用户执行下面命令以及脚本)

mkdir /etc/rc.d

for i in 0 1 2 3 4 5 6 S

do ln -s /etc/rc$i.d /etc/rc.d/rc$i.d

done

注:第2步和第4步创建文件的链接,使Ubuntu的目录结构与Red Hat一致(因为Oracle官方支持Red Hat不支持Ubuntu)。

5. 修改系统的运行级别为5(默认为2)

vim /etc/init/rc-sysinit.conf

将env DEFAULT_RUNLEVEL=2

改成env DEFAULT_RUNLEVEL=5

注:安装完毕后可以修改回原来的默认值2,可以使用命令“runlevel”查看当前的运行级别,也可以使用命令“sudo init 5”临时将运行级别改为5。

6. 修改系统配置文件sysctl.conf

添加以下行到/etc/sysctl.conf中:

# Oracle 11gR2 entries

kernel.shmall = 2097152

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 6815744

fs.aio-max-nr = 1048576

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

然后执行sudo sysctl -p

备注:

fs.file-max -->文件句柄的最大数量,表示在linux系统中可以打开的文件数量,默认为98063

kernel.shmall -->表示系统一次可以使用的共享内存总量,缺省值就是2097152,通常不需要修改

kernel.shmmax -->定义共享内存段的最大尺寸(以字节为单位),缺省为32M,对于oracle来说,缺省值太低

kernel.shmmni = 4096 -->(4K)设置系统范围内共享内存段的最大数量,默认值是 4096,通常不需要更改。

kernel.sem -->4个数据分别对应SEMMSL SEMMNS SEMOPM SEMMNI,表示设置的信号量,默认为250 32000 32 128(cat /proc/sys/kernel/sem)

net.core.rmem_default -->默认为126976

net.core.rmem_max -->最大的TCP数据接收缓冲,默认为131071

net.core.wmem_default -->默认为126976

net.core.wmem_max -->最大的TCP数据发送缓冲,默认为131071

net.ipv4.ip_local_port_range -->ipv4端口值范围,默认为32768 61000

fs.aio-max-nr -->默认为65536

7. 修改系统配置文件limits.conf

添加以下行到/etc/security/limits.conf中

#Oracle 11gR2 shell limits

oracle soft nproc 2048

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

8. 创建欺骗Oracle安装程序系统类型的文件

sudo vim /etc/RedHat-release

文件内容设置为如下的一行,用于欺骗安装程序让它以为系统是RedHat:

Red Hat Linux release 4.1

9. 将Oracle11R2的安装文件复制到UbuntuServer上

将下载的两个安装文件放置在/home/oracle目录下

cd /home/oracle

unzip linux.x64_11gR2_database_1of2.zip

unzip linux.x64_11gR2_database_2of2.zip

10. 登录到oracle用户进行安装

su oracle

cd /home/oracle

chmod 777 -R database

cd database

./runInstaller -ignoreSysPrereqs

11. 图形界面的配置(绝大部分保持默认即可)

执行oracle安装命令以后

第一步是Configure Security Updates,去掉I wish to receive security updates via My Oracle Support. 点击下一步。

第二步是Installation Option。在Selection Installation Option中选择Create and configure a database。

第三步在System Class中选择Server Class。

第四步在Grid Selection中选择Single instance database installation。

第五步在Install Type中选择Advanced install。

然后是设置语言,这里选择English。

选择版本,这里选择标准版Standard Edition。

选择安装路径,这里保持默认即可(/home/oracle/app/oracle)。

Create Inventory保持默认。

在Select Configure Type中选择General Purpose / Transaction Processing。

Database Identifier保持默认。

在Specify Configuration Options中配置如下:

Memory -> Enable Automatic Memory Management: TRUE

Character sets: Use Unicode (AL32UTF8)

在Specify Management Options中选择默认的Use Database Control for database management。

在Specify Database Storage Options中选择默认的File System,路径保持默认。

Backup and Recovery保持默认。

Schema Password设置密码。

Privileged Operating System Groups保持默认,即:

Database Administrator (OSDBA) Group: dba

Database Operator (OSOPER) Group: oinstall

然后是Preform Prerequisite Checks。(可能会出现一些错误,不用理会这些错误,因为我们使用的是Debian系统,是不受Oracle官网支持的系统,所以有一些错误也是正常的)

然后是Summary

遇到错误参考:

http://my.oschina.net/farces/blog/279434

http://lvstone.blog.163.com/blog/static/1773601512012102914439982/

我出现的错误有:

1.Error in invoking target 'agent nmhs' of makefile '/home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/sysman/lib/ins_emagent.mk'

解决办法:

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

2.Error in invoking target 'all_no_orcl' of makefile '/home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/rdbms/lib/ins_rdbms.mk'.

解决办法:

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

3.Error in invoking target 'install' of makefile '/home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/network/lib/ins_net_server.mk'.

解决办法:

vim $ORACLE_HOME/network/lib/ins_net_server.mk

修改内容为:

#tnslsnr: $(S0NSGL) $(SNSGLP) $(NSGLPNP)

#       $(SILENT)$(ECHO) " - Linking $(TNSLSNR)"

#       $(RMF) $@

#       $(TNSLSNR_LINKLINE)

#itnslsnr: tnslsnr

itnslsnr:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015年11月02日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档