热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在Ubuntu120464位和CentOS6.564位上安装OracleDatabase11gR2

2019独角兽企业重金招聘Python工程师标准摘要:CentOS,Ubuntu上安装OracleDatabase11gR2过程,记录了遇到的问题

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

摘要:CentOS,Ubuntu上安装Oracle Database 11gR2过程,记录了遇到的问题和解决办法,并记下了相应的注意事项。

在Ubuntu 12.04 64bit 上安装Oracle Database 11gR2


1.首先,将系统更新到最新

代码:

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



2.安装依赖包

代码:

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 ubuntu-sdk gcc++ gcc-multilib libstdc++5



3.创建用户(可选,我就是用自己的账户安装成功的)

4.检查系统变量

代码:

/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



运行一下命令更新内核参数

代码:

sysctl -p

其中oracle是在第三步中创建的用户,跳过第三步的话就写当前用户

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

代码:

session required pam_limits.so



同样检查/etc/pam.d/su,没有以下行就自己加上

代码:

session required pam_limits.so



6.创建需要的文件夹(用于安装oracle)

代码:

mkdir /usr/local/Oracle/oracle11g
mkdir /usr/local/Oracle/oradata



然后用 chmod -R 命令将Oracle的所有者和用户组设置成自己的用户

7.配置环境变量
在/etc/profile中增加以下环境变量

代码:

# /etc/profile

export JAVA_HOME=/opt/jdk1.7.0_21

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export ORACLE_BASE=/usr/local/Oracle/oracle11g

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

export PATH=$PATH:$ORACLE_HOME/bin:$JAVA_HOME/bin

export NLS_LANG=.AL32UTF8

export ORACLE_OWNER=user

export LANGUAGE=zh_CN:zh
export  LANG=zh_CN

export ORACLE_SID=orcl

8.欺骗oracle的安装程序

代码:

mkdir /usr/lib64

ln -s /usr/bin/basename /bin/basename
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

9.重启电脑

10.运行安装程序

代码:

cd /XXX/XXX/XXX
./runInstaller

如果运行中中文是方框,请装java的字体包安装好。libfonts-java,libfontbox-java,ubuntu-restricted-extras

11.然后直接下一步就可以了。只是有几个地方需要注意,在环境检查那里,如果有一些包没有通过,我们是一项项是去检查并安装的,然后再Ignore All
a)有路径设置的地方请多加注意,理论上我们前面已经配置了环境变量,不会有大问题,但是为了以防万一还请多加注意。
b)字符集最好选择utf8
c)在执行'链接二进制文件'时如果遇到错误请在不关闭安装程序的情况下打开一个新终端,输入以下命令
代码:

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一般就可以过去了,如果过不去,直接点击继续。
d)最后一步需要让我们手动执行两个文件,第一个应该没啥问题。第二个会提示无法创建目录,根据提示手动创建就好了。
e)安装过程中最好别点不需要的按钮。避免不必要的错误
f)最后结果:数据库可用,但EM登录后会出现内部错误

启动相关:

一、在Linux下启动Oracle

$sqlplus "/as sysdba"

原本的画面会变为
SQL>

接着请输入
SQL> startup

就可以正常的启动数据库了。

另外停止数据库的指令如下:
SQL> shutdown immediate

二、检查Oracle DB监听器是否正常

回到终端机模式,输入:

$ lsnrctl status

检查看看监听器是否有启动

如果没有启动,可以输入:

$ lsnrctl start

启动监听器

SQL> conn sys@orcl as sysdba

然后输入密码,syssysdba身份登入数据库。

三、启动emctl

另外也可以发现http://localhost.localdomain:1158/em目前是没有反应的,这边要另外启动,启动的指令如下:

$ emctl start dbconsole

这个指令运行时间较长,执行完的画面如下:

让Oracle随系统自启动:

这里需要注意,将/usr/local/Oracle/oracle11g/product/11.2.0/dbhome_1/bin/dbstart和usr/local/Oracle/oracle11g/product/11.2.0/dbhome_1/bin/dbshut中的

ORACLE_HOME_LISTNER=$1

改成

ORACLE_HOME_LISTNER=$ORACLE_HOME

编辑/etc/rc.d/rc.local,添加以下命令

su user -lc "/usr/local/Oracle/oracle11g/product/11.2.0/dbhome_1/bin/lsnrctl start"

su user -lc /usr/local/Oracle/oracle11g/product/11.2.0/dbhome_1/bin/dbstart

su user -lc"/usr/local/Oracle/oracle11g/product/11.2.0/dbhome_1/bin/emctl startdbconsole"

在CentOS 64bit 上安装Oracle Database 11gR2

与在ubuntu安装的内容大部分内容是共通的,环境变量也需要一样的设置和JAVA也需要安装,但与包相关的操作有所区别。我们在CentOS安装成功后,没有错误,这也许是Oracle使用Redhat做Oracle Linux的缘故。

1.  Su root 登录到超级用户

2.  # cd /etc/yum.repos.d

3.   

4.  # wget http://public-yum.oracle.com/public-yum-ol6.repo

5.  vim public-yum-ol6.repo

将所有的enabled=1

6.    yum update

7.    yum upgrade

8.    yum install oracle-rdbms-server-11gR2-preinstall

9.    环境变量设置,参数设置,请参见UBUNTU

10.  su user #切换用户到普通用户(这个请参见ubuntu部分,需要建立目录,并改变owner),其他环境

11.  $ ./runInstaller

这里可能会弹出IP地址无法获取,请千万不要忽略这个错误,我们在这个地方忽略了导致在安装中卡死60%,然后就不动了。这个需要将vim/etc/sysconfig/network配置,以下供参考:

NETWORKING=yes

HOSTNAME=dbone

GATEWAY=192.168.156.2

12.  进行系统环境检测,请将没有通过的依赖包一个个地检查并安装一下,这里一定要一个一个的多安装一下,虽然安装后可能还是报错,那就直接忽略好了。

13.  进入安装,完成重启

14.  数据库启动与测试请参见Ubuntu部分

15.如果yum install/update有问题,就把public-yum-ol6.repo 删除,再yum update一下,就好了。

总结

感谢互联网上那些分享的朋友,我们会在后面标注。此文是我们在安装过程中遇到的问题和总结,可能还有一些问题被解决但被我们遗忘了,欢迎交流讨论。在Ubuntu上相对来说比较麻烦,而且最终我们的EM登录进行后还出现内部错误,但数据库是可以用的,监听也是起来的;在centos上较为顺利,只要按照要求一步步做好,将依赖包安装好。

参考

http://www.oracle.com/technetwork/articles/servers-storage-admin/ginnydbinstallonlinux-488779.html

http://forum.ubuntu.org.cn/viewtopic.php?f=44&t=373077

http://blog.sina.com.cn/s/blog_663b470501017p01.html

http://blog.sina.com.cn/s/blog_56d8ea900100noxa.html

http://serverfault.com/questions/12229/how-can-i-start-oracle-enterprise-manager-after-restarting-the-red-hat-server

http://www.cnblogs.com/mchina/archive/2012/11/27/2782993.html

http://zhidao.baidu.com/link?url=gDUYlkuE71TyKycan7jD5o0qdFHR9ctdHuGR77KHaiaAlRy2jCZPE0086xFBMWBeNWaiO0bqOFz_RG9rzOwOhC48zu6zwWNn9zGeZ7vSlk7

http://blog.csdn.net/kimsoft/article/details/8117575

版权声明:本文为博主原创文章,未经博主允许不得转载。


转:https://my.oschina.net/xiaohelong/blog/497884



推荐阅读
  • 利用 Calcurse 在 Linux 终端高效管理日程与任务
    对于喜爱使用 Linux 终端进行日常操作的系统管理员来说,Calcurse 提供了一种强大的方式来管理日程安排、待办事项及会议。本文将详细介绍如何在 Linux 上安装和使用 Calcurse,帮助用户更有效地组织工作。 ... [详细]
  • CentOS7通过RealVNC实现多人使用服务器桌面
    背景:公司研发团队通过VNC登录到CentOS服务器的桌面实现软件开发工作为防止数据外泄,需要在RealVNC设置禁止传输文件、访问粘贴板等策略过程&# ... [详细]
  • 本文详细介绍了在 Ubuntu 16.04 系统上安装和配置 PostgreSQL 数据库的方法,包括如何设置监听地址、启用密码加密、更改默认用户密码以及调整客户端访问控制。 ... [详细]
  • Bootstrap Paginator 分页插件详解与应用
    本文深入探讨了Bootstrap Paginator这款流行的JavaScript分页插件,提供了详细的使用指南和示例代码,旨在帮助开发者更好地理解和利用该工具进行高效的数据展示。 ... [详细]
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
  • 本文介绍了Linux操作系统的核心组成部分——内核及其版本分类,以及市面上常见的几种Linux发行版,旨在为初学者提供一个清晰的学习路径。 ... [详细]
  • 本文介绍了如何在不同操作系统上安装Git,以及一些基本和高级的Git操作,包括项目初始化、文件状态检查、版本控制、分支管理、标签处理、版本回退等,并简要提及了开源许可协议的选择。 ... [详细]
  • 本文详细介绍如何在华为鲲鹏平台上构建和使用适配ARM架构的Redis Docker镜像,解决常见错误并提供优化建议。 ... [详细]
  • 在 Ubuntu 22.04 LTS 上部署 Jira 敏捷项目管理工具
    Jira 敏捷项目管理工具专为软件开发团队设计,旨在以高效、有序的方式管理项目、问题和任务。该工具提供了灵活且可定制的工作流程,能够根据项目需求进行调整。本文将详细介绍如何在 Ubuntu 22.04 LTS 上安装和配置 Jira。 ... [详细]
  • 本文介绍如何通过参数化查询来防止SQL注入攻击,确保数据库的安全性。示例代码展示了在C#中使用参数化查询添加学生信息的方法。 ... [详细]
  • CentOS 7 默认安装了 MariaDB,作为 MySQL 的一个分支。然而,出于特定需求,我们可能仍需在系统中安装 MySQL。本文将详细介绍如何通过 Yum 包管理器在 CentOS 7 上安装 MySQL,并提供一些常用的 MySQL 命令。 ... [详细]
  • Ubuntu 环境下配置 LAMP 服务器
    本文详细介绍了如何在 Ubuntu 系统上安装和配置 LAMP(Linux、Apache、MySQL 和 PHP)服务器。包括 Apache 的安装、PHP 的配置以及 MySQL 数据库的设置,确保读者能够顺利搭建完整的 Web 开发环境。 ... [详细]
  • 本文介绍了在 CentOS 7 系统中如何查看所有活动进程及其运行时间。通过使用 `netstat` 和 `ps` 命令,您可以轻松获取进程的详细信息,包括启动时间、用户、终端和命令等。 ... [详细]
  • Node.js在服务器上的多种部署策略
    本文探讨了Node.js应用程序在服务器上部署的几种有效方法,包括使用Screen、PM2以及通过宝塔面板进行简易管理。 ... [详细]
  • 在处理大量联系人数据的批量插入操作时,发现现有方法的执行效率低下,尤其是在处理数十条记录以上时,与导出操作的速度形成鲜明对比。本文将探讨如何通过代码优化来提升批量插入联系人的效率。 ... [详细]
author-avatar
手机用户2502883075
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有