专栏首页明年我18Linux red hat enterprise5下安装oracle

Linux red hat enterprise5下安装oracle

我对linux是绝对的菜鸟,但今天有份工作是给一台装在linux上的oracle服务器设置自动数据备份。这很可能是只做一次的工作,只做一次的东西,时间久了肯定会忘掉,所以把整个安装和配置过程记录下来,供下次需要时翻看。

Linux我是装在vmware上的,大概一个月前装的,当时没记下了,现在也忘记是怎么装的了。

Oracle可以从它的官网上下载,我下载的是oracle 11g(11.2.0.1.0)for linux x86版,地址是http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-linuxsoft-085393.html。有两个文件,分别是linux_11gR2_database_1of2.zip和linux_11gR2_database_2of2.zip。

下载下来之后要把文件传到linux上,我用ssh的secure file transfer来传。

1.安装oracle之前,需要先装一些必备。我参考的是http://www.liusuping.com/ubuntu-linux/redhat-linux-oracle-11g-r2.html

有些必备可能之前就已经装上了,所以在安装前,先用rpm –qa|grep xxx来看一下有没有安装。例如要装这个elfutils-libelf-devel,则先运行一下:

  1. [root@localhost Server]# rpm -qa|grep elfutils-libelf-devel

如果已经安装了,会有下面的提示:

  1. [root@localhost Server]# rpm -qa|grep elfutils-libelf-devel
  2. elfutils-libelf-devel-static-0.125-3.el5
  3. elfutils-libelf-devel-0.125-3.el5

可以发现,我们grep后面不需要把这个Package的全名写完。

如果没装,则什么提示也没有。此时需要运行下面的命令来安装它。

  1. [root@localhost Server]# rpm -ivh elfutils-libelf-devel*
  2. warning: elfutils-libelf-devel-0.125-3.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
  3. Preparing... ########################################### [100%]
  4. 1:elfutils-libelf-devel-s########################################### [ 50%]
  5. 2:elfutils-libelf-devel ########################################### [100%]
  6. [root@localhost Server]# rpm -qa|grep elfutils-libelf-devel
  7. elfutils-libelf-devel-static-0.125-3.el5
  8. elfutils-libelf-devel-0.125-3.el5

这个*是通配符,即我们不需要写全,它会自己找。不过要注意的是,需要把linux的安装光盘放进wmware里,然后cd到media/光盘名/Server目录下才能找到这个包。

需要装的包如下:

  1. binutils-2.17.50.0.6
  2. compat-libstdc++-33-3.2.3
  3. elfutils-libelf-0.125
  4. elfutils-libelf-devel-0.125
  5. elfutils-libelf-devel-static-0.125
  6. gcc-4.1.2
  7. gcc-c++-4.1.2
  8. glibc-2.5-24
  9. glibc-common-2.5
  10. glibc-devel-2.5
  11. glibc-headers-2.5
  12. kernel-headers-2.6.18
  13. ksh-20060214
  14. libaio-0.3.106
  15. libaio-devel-0.3.106?
  16. libgcc-4.1.2
  17. libgomp-4.1.2
  18. libstdc++-4.1.2?
  19. libstdc++-devel-4.1.2
  20. make-3.81
  21. sysstat-7.0.2
  22. unixODBC-2.2.11
  23. unixODBC-devel-2.2.11

我在别的文章里看到的这些包有点不同,有些文章会多出几个,有些会少一些。暂时不纠结到底需要哪些了。

由于我要装的是oracle 11g,是支持RHEL5的,所以不用像有些文章里装10时去改系统的版本。

2.创建用户

  1. # /usr/sbin/groupadd oinstall
  2. # /usr/sbin/groupadd dba
  3. # /usr/sbin/useradd -g oinstall -G dba oracle
  4. # passwd oracle

最后一条命令运行时,会出现提示,让我们输入oracle用户的密码。

3.修改系统参数

用vi命令修改/etc/sysctl.conf,加上下面的参数:

  1. fs.aio-max-nr = 1048576
  2. fs.file-max = 6815744
  3. kernel.shmall = 2097152
  4. kernel.shmmax = 536870912
  5. kernel.shmmni = 4096
  6. kernel.sem = 250 32000 100 128
  7. net.ipv4.ip_local_port_range = 9000 65500
  8. net.core.rmem_default = 262144
  9. net.core.rmem_max = 4194304
  10. net.core.wmem_default = 262144
  11. net.core.wmem_max = 1048586

用vi命令修改/etc/security/limits.confi,加入下面的参数:

  1. oracle soft nproc 2047
  2. oracle hard nproc 16384
  3. oracle soft nofile 1024
  4. oracle hard nofile 65536

修改/etc/pam.d/login,加入:

  1. session required pam_limits.so

修改/etc/profile,加入:

  1. if [ $USER = "oracle" ]; then
  2. if [ $SHELL = "/bin/ksh" ]; then
  3. ulimit -p 16384
  4. ulimit -n 65536
  5. else
  6. ulimit -u 16384 -n 65536
  7. fi
  8. fi

安装目录配置:

  1. # mkdir -p /u01/
  2. # chown -R oracle:oinstall /u01/
  3. # chmod -R 775 /u01/

然后用su oracle命令切换到oracle用户,然后修改用户变量.bash_profile文件:

  1. [oracle@localhost ~]$ vi .bash_profile

增加下面的内容:

  1. export ORACLE_BASE=/u01/app
  2. export ORACLE_HOME=$ORACLE_BASE/oracle
  3. export ORACLE_SID=liusuping
  4. export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin

注销root,用oracle登录,并启动图形界面。

进入下载的oracle那两个zip包所在的文件夹, 我的目录是/usr/tools/oracle,分别解压这两个zip包,如下图:

两个包都要解压,解到同一个目录下,然后运行下面./runInstaller,稍等一会,就弹出了oracle的安装向导,如下图:

但这个向导的显示好像有些问题,一闪一闪的,下面的"下一步"按钮根本点不了。应该是分辨率的问题,装个vmware tool就好了。

Vmware tool装的也不容易,这里就不写出来了。

装完wmware tool之后重启linux后,就可以调分辨率了,调完之后,oracle的安装界面也就不闪了。但安装程序检查系统时,又报了内存不足和交换空间不足的错误。内存不足很好解决,加点内存就行了,但把交换空间调大则需要linux命令来做了。

参考http://lanlfeng.blog.51cto.com/337014/123130,依次执行下面的命令:

  1. dd if=/dev/zero of=/opt/image/swap bs=1024 count=2048000
  2. mkswap /opt/image/swap
  3. swapon /opt/image/swap

然后用free –m命令来查看现有的交换区是不是变大了。

  1. [root@localhost ~]# free -m
  2. total used free shared buffers cached
  3. Mem: 1434 1140 293 0 43 848
  4. -/+ buffers/cache: 247 1186
  5. Swap: 3983 0 3983

然后重新运行oracle的安装程序,可以顺利通过检测了:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • RHEL装完oracle 11g后遇到的问题

    编辑/etc/sysconfig/selinux配置文件, 把SELINUX=enforcing 改为 SELINUX=disabled。

    明年我18
  • MyEclipse的安装和汉化

    我不愿意直接用notepad去编辑java代码,因为我要从实际的Project中感受java,不需要一开始就从compile学起,当初学C#的时候不也...

    明年我18
  • (翻译)LearnVSXNow! #12- “VsxLibrary” 和“HowToPackage”

    前面的11篇文章涉及到了在VSX开发中最重要的知识,利用这些知识,我们已经可以开始开发VSPackage了。但是,还有很多重要的主题我们并没有涉及到(...

    明年我18
  • 云函数公测!小程序开发节省 60% 的成本

    知晓君
  • 生产系统中EXP-00000的问题及解决(66天)

    早上刚来的时候,客户的dba就急忙找到我说生产系统exp出问题了。exp的时候报了错误,让我帮着看一下。 > exp xxxxx file=tui.dmp l...

    jeanron100
  • Python使用系统聚类算法对随机元素进行分类

    系统聚类算法又称层次聚类或系谱聚类,首先把样本看作各自一类,定义类间距离,选择距离最小的一对元素合并成一个新的类,重复计算各类之间的距离并重复上面的步骤,直到将...

    Python小屋屋主
  • Python学习笔记(五)——函数式编程

    成功!说明变量f现在已经指向了abs函数本身。直接调用abs()函数和调用变量f()完全相同。

    后端技术漫谈
  • C++基础系列の函数

    前几天我们讲了一下C++中的函数,不过还有一部分没有讲完,今天我们继续讨论一下。如果你没有看过那篇文章,可以点击右边的链接前往:C++の函数

    leoay
  • Python 基础 高阶函数

    python 把函数作为参数   如果传入abs 作为参数     def add(x,y,y):       return f(x) + f(y)     a...

    用户1197315
  • 第二章(1.6)Python基础知识(高阶函数)

    定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。

    两只橙

扫码关注云+社区

领取腾讯云代金券