0

0

Ubuntu 12.04 (amd64)安装Oracle 11G 总结

php中文网

php中文网

发布时间:2016-06-07 15:13:47

|

1114人浏览过

|

来源于php中文网

原创

这学期开了Oracle数据库这门课,课本和老师讲课均用的10g,但是Oracle 11g发布已久,功能趋于稳定,网上各种相关资料也比较齐全,所以就打算装个Oracle 11g来学习学习。 我目前用的系统是Ubuntu 12.04 amd64,有root和wwr两个用户,下面安装步骤是在wwr用户

      这学期开了oracle数据库这门课,课本和老师讲课均用的10g,但是oracle 11g发布已久,功能趋于稳定,网上各种相关资料也比较齐全,所以就打算装个oracle 11g来学习学习。

      我目前用的系统是Ubuntu 12.04 amd64,有root和wwr两个用户,下面安装步骤是在wwr用户下进行的。从Oracle官网上下载到相应的Oracle数据库版本(linux.x64_11gR2_database,一共两个文件)。下面的安装步骤综合了网上的几篇帖子,亲测后虽然出现了许多小问题,但Oracle数据库大体已安装成功。

      一、将系统更新到最新,在终端执行如下代码。需要联网,且花费时间较长。

               sudo apt-get update

               sudo apt-get dist-upgrade

      二、安装依赖包。同样需要联网,且时间较长。

sudo apt-get install alien binutils build-essential cpp-4.4 debhelper g++-4.4 gawk gcc-4.4 gcc-4.4-base gettext html2text ia32-libs intltool-debian ksh lesstif2 lib32bz2-dev lib32z1-dev libaio-dev libaio1 libbeecrypt7 libc6 libc6-dev libc6-dev-i386 libdb4.8 libelf-dev libelf1 libltdl-dev libltdl7 libmotif4 libodbcinstq4-1 libodbcinstq4-1:i386 libqt4-core libqt4-gui libsqlite3-0 libstdc++5 libstdc++6 libstdc++6-4.4-dev lsb lsb-core lsb-cxx lsb-desktop lsb-graphics lsb-qt4 make odbcinst pax po-debconf rpm rpm-common sysstat unixodbc unixodbc-dev unzip
      三、创建用户、用户组(可选,用当前wwr用户也可,但我安装时候新建了一个oracle用户)

sudo groupadd oinstall 

sudo groupadd dba 

sudo mkdir -p /opt/oracle 

sudo useradd -g oinstall -G dba  -d /opt/oracle -s /bin/bash oracle 

sudo passwd oracle 

sudo chown -R oracle:oinstall /opt/oracle

sudo groupadd oinstall 

sudo groupadd dba 

sudo mkdir -p /opt/oracle 

sudo useradd -g oinstall -G dba  -d /opt/oracle -s /bin/bash oracle 

sudo passwd oracle 

sudo chown -R oracle:oinstall /opt/oracle

sudo groupadd oinstall 

sudo groupadd dba  

sudo mkdir -p /opt/oracle  

sudo useradd -g oinstall -G dba  -d /opt/oracle -s /bin/bash oracle 

sudo passwd oracle  

sudo chown -R oracle:oinstall /opt/oracle

       四、检查系统变量
/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 = 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

执行以下命令更新内核参数

sudo sysctl -p

       五、添加对Oracle用户的内核限制,在/etc/security/limits.conf文件中增加以下数据,其中oracle是在第三步中创建的用户,跳过第三步的话就写当前用户。

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

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

万彩商图
万彩商图

专为电商打造的AI商拍工具,快速生成多样化的高质量商品图和模特图,助力商家节省成本,解决素材生产难、产图速度慢、场地设备拍摄等问题。

下载

session required pam_limits.so

同理检查/etc/pam.d/su,没有就加上

session required pam_limits.so

       六、创建需要的文件夹(用于安装oracle)

mkdir ~/Oracle/oracle11g
mkdir ~/Oracle/oradata

然后用chown -R 命令将文件夹Oracle的所有者和用户组设置成自己的用户(oracle:oinstall)      关于此步,我最终将oracle安装到了/opt/oracle,即oracle用户的主目录下面,这个Oracle文件夹没有用到。

       七、配置环境变量,在 ~/.bashrc中增加以下环境变量,把~替换成绝对路径

               

#这个写刚刚创建的文件夹
export ORACLE_BASE=~/Oracle/oracle11g
#这个后面(貌似)可以随便填写
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
#数据库的sid
export ORACLE_SID="orcl"
#默认字符集
export NLS_LANG=.AL32UTF8
         关于此步,由于我将oracle数据库安装在/opt/oracle目录下面,所以我的.bashrc文件中的内容为:(不知道这个文件有什么作用,后来还需要在/etc/profile中增加                           ORACLE_HOME这个环境变量)

          export ORACLE_BASE=/opt/oracle/app/oracle 
          export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
          export NLS_LANG=.AL32UTF8

       八、欺骗oracle的安装程序

mkdir /usr/lib64
ln -s /etc /etc/rc.d
ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib64/
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/x86_64-linux-gnu/libc_nonshared.a /usr/lib64/
ln -s /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib64/
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /lib64/
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib64/

echo 'Red Hat Linux release 5' > /etc/redhat-release

这一步,我安装的时候有些没有执行成功。最后一条好像要加上sudo
       九、重启电脑(可选)
       十、运行安装程序,前提是已经解压好了

cd /xxx/xxx/xxx

./runInstaller

之后出现图形化安装界面,直接下一步。

由于在执行这个步骤的时候,出现/Oracle/oradata文件夹无法访问的情况,于是第九步重启后直接进入了oracle这个新建的用户,于是数据库就安装到了/opt/oracle/app/oracle这个目录下面。(如下图)

Ubuntu 12.04 (amd64)安装Oracle 11G 总结

安装过程出现如下情况:Ubuntu 12.04 (amd64)安装Oracle 11G 总结

            直接点了 Ignore All,然后下一步,之后出现“链接二进制文件错误”,解决方法是另外打开一个终端,执行以下命令:

sed -i 's/^\(\s*\$(MK_EMAGENT_NMECTL)\)\s*$/\1 -lnnz11/g' $ORACLE_HOME/sysman/lib/ins_emagent.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
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


然后retry。仍然出现类似错误,不知道为什么,然后就直接continue了。

最后一步,需要执行两个文件,另开一个终端执行就好,很easy。








相关专题

更多
Word 字间距调整方法汇总
Word 字间距调整方法汇总

本专题整合了Word字间距调整方法,阅读下面的文章了解更详细操作。

2

2025.12.24

任务管理器教程
任务管理器教程

本专题整合了任务管理器相关教程,阅读下面的文章了解更多详细操作。

2

2025.12.24

AppleID格式
AppleID格式

本专题整合了AppleID相关内容,阅读专题下面的文章了解更多详细教程。

0

2025.12.24

csgo视频观看入口合集
csgo视频观看入口合集

本专题整合了csgo观看入口合集,阅读下面的文章了知道更多入口地址。

29

2025.12.24

yandex外贸入口合集
yandex外贸入口合集

本专题汇总了yandex外贸入口地址,阅读下面的文章了解更多内容。

58

2025.12.24

添加脚注通用方法
添加脚注通用方法

本专题整合了添加脚注方法合集,阅读专题下面的文章了解更多内容。

1

2025.12.24

重启电脑教程汇总
重启电脑教程汇总

本专题整合了重启电脑操作教程,阅读下面的文章了解更多详细教程。

3

2025.12.24

纸张尺寸汇总
纸张尺寸汇总

本专题整合了纸张尺寸相关内容,阅读专题下面的文章了解更多内容。

5

2025.12.24

Java Spring Boot 微服务实战
Java Spring Boot 微服务实战

本专题深入讲解 Java Spring Boot 在微服务架构中的应用,内容涵盖服务注册与发现、REST API开发、配置中心、负载均衡、熔断与限流、日志与监控。通过实际项目案例(如电商订单系统),帮助开发者掌握 从单体应用迁移到高可用微服务系统的完整流程与实战能力。

1

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Rust 教程
Rust 教程

共28课时 | 3.8万人学习

【web前端】Node.js快速入门
【web前端】Node.js快速入门

共16课时 | 1.9万人学习

MySQL 初学入门(mosh老师)
MySQL 初学入门(mosh老师)

共3课时 | 0.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号