文档章节

在Ubuntu1204-64位和CentOS6.5-64位上安装Oracle Database 11gR2

 大东家
发布于 2015/01/13 10:28
字数 1841
阅读 21
收藏 0

摘要: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

© 著作权归作者所有

粉丝 22
博文 255
码字总数 111936
作品 0
长沙
项目经理
私信 提问
linux 静默安装oracle11g

本例: 通过SSH远程连接云主机,上传oracle11g安装包,在centos6.5上无图形化界面静默安装oracle11g。 涉及工具及环境: 1、本地环境windows7+ssh远程连接工具xShell 2、远程云主机CentOS6.5...

lybb_lbb
2018/02/28
149
1
centos6.5 install oracel11g

1、安装依赖包 yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c++ libaio-devel libaio libgcc libstdc++ ......

send2ocean
2018/06/26
0
0
Plsql连接Oracle 64位

安装64位oracle后,用plsql连接时,发现数据库选项为空。为了解决这下问题,产生以下记录: 1、 下载并安装oracle 11g r2 http://download.oracle.com/otn/nt/oracle11g/112010/win6411gR2da...

鱼中鱼
2016/06/02
51
0
oracle环境配置与使用指南

一、oracle安装 首先说oracle service,我使用的是oracle 11g,直接官网下载的版本,下载下来是:win6411gR2database1of2.zip、win6411gR2database2of2.zip两个解压包,注意的是要把两个包里的...

雪飘七月
2018/06/26
0
0
linux oracle 11g安装

centos6.5 64位基本服务器安装oracle11g_r2 64位 作者:刘美求 日期:2017.06.05 1、安装依赖包 # yum -y install gcc gcc-c++ make binutilscompat-libstdc++-33 elfutils-libelf elfutils......

lmq506
2017/06/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

sync.Mutex 互斥锁

说明: 互斥锁用来保证在任一时刻,只能有一个例程访问某对象。Mutex 的初始值为解锁状态。Mutex 通常作为其它结构体的匿名字段使用,使该结构体具有 Lock 和 Unlock 方法。Mutex 可...

李琼涛
13分钟前
5
0
自建redis笔记

自建redis笔记 最近在linux安装了一下redis,特做一些笔记! 本文先单节点启动redis,然后再进行持久化配置,在次基础上,再分享搭建主从模式的配置以及Sentinel 哨兵模式及集群的搭建 单节点...

北极之北
16分钟前
3
0
扛住阿里双十一高并发流量,Sentinel是怎么做到的?

Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景 本文介绍阿里开源限流熔断方案Sentinel功能、原理、架构、快速入门以及相关框架比较 基本介绍 1 名词解释 服务限流 :当系统资源...

分布式系统架构
17分钟前
4
0
事假杨晨龙(Z16021)月薪请假单

svn co URL --username xxx-- password yyy ./

桃花飞舞
41分钟前
4
0
当Activity关闭后,网络请求回调的处理

当我们在使用网络请求的时候,一般都是通过回调来获取请求到的数据。对于网络请求的回调需要注意的几个点 比如我们的回调在Activity中处理数据,当我们把Activity关闭后,如果获取到数据时,...

shzwork
42分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部