红联Linux门户
Linux帮助

成功安装Oracle for Linux

发布时间:2008-01-31 11:13:26来源:红联作者:onquer
经过几天的折腾,终于安装成功Oracle for linux,开始安装了RS4.0下载了Oracle10g的若干版本,要么出现Oracle和linux不兼容的问题,要么就是找不到inventory目录的问题,要么就是安装过程中不能启动net config的问题,昨天经过大胆尝试终于成功,下面把自己的经验记录下来以做备忘:
1、下载RS5.0企业版,我是在迅雷里面下载的DVD版,不要忘了找个序列号,我找到一个Red Hat Enterprise Linux (Server including virtualization):
2515dd4e215225dd
2、到Oracle官方网站下载Oracle11g
下面我们就开始安装吧:
1。新建用户组
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
2。新建用户并设置密码
# /usr/sbin/useradd -g oinstall -G dba oracle
# passwd oracle
3.设置目录权权限
# chown -R oracle:oinstall /ora10g/app/oracle /ora10b/oradata
# chmod -R 775 /ora10g/app/oracle /ora10b/oradata
4.将下列配置加到 /etc/security/limits.conf 文件中:
soft nproc 2047
hard nproc 16384
soft nofile 1024
hard nofile 65536
增加下列配置到 /etc/pam.d/login 文件中:
session required /lib/security/pam_limits.so
对于单独使用Oracle用户的shell,增加下列脚本到配置文件/etc/profile 中:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
设置用户oracle的环境变量
1。以用户oracle登录:
在配置文件.bash_profile文件中增加: umask 022 设置该用户的默认umask
执行$ . ./.bash_profile 配置生效。
2。设置临时文件目录
$ TEMP=/directory
$ TMPDIR=/directory
$ export TEMP TMPDIR
4。设置ORACLE_BASE和ORACLE_SID变量
$ ORACLE_BASE= /ora10g/app/oracle //这是在前面建立的Oracle的主程序目录
$ ORACLE_SID=sales
$ export ORACLE_BASE ORACLE_SID
5。确认ORACLE_HOME和TNS_ADMIN环境变量没有设置,如有设置用 unset ORACLE_HOME 删除

呵呵经过以上设置好像环境变量不太管用,还是直接安装吧

貌似/directory没起作用,还是切换root用户自己建立一个/directory目录吧。

开始吧,前面的活不能白干吧
运行runInstaller开始安装,下面我不用说了,一直Next就OK了

安装成功了,让我们来启动Oracle

启动和停止数据库及工具
用oracle用户登录后设置下列变量
export ORACLE_BASE=/oracle/app/oracle(根据情况自己修改)
export ORACLE_SID=sales
export ORACLE_HOME=$ORACLE_BASE/product/11.1.0/db_1(根据情况自己修改)
export PATH=$PATH:$ORACLE_HOME/bin

启动和停止监听:
lsnrctl start
lsnrctl stop

启动和停止Oracle Enterprise Manager:
emctl start dbconsole
emctl stop dbconsole

启动和停止iSQL*Plus
isqlplusctl start
isqlplusctl stop

启动和停止数据库
启动:
sqlplus
Enter usr-name: / as syadba
SQL>startup
停止:
SQL>shutdown immediate

似乎上面的命令不行,来先让我们做的别的

又是一个11g的bug,在安装完数据库后,启动sqlplus命令,会发现下面的错误:

[oracle@** ~]$ sqlplus "/ as sysdba"
sqlplus: error while loading shared libraries: /data/oracle/product/11.1/lib/libnnz11.so: cannot restore segment prot after reloc: Permission denied

这个问题发生在ORACLE ENTERPRISE LINUX R5上,无论是32位还是64位都存在这个问题。

第一次在安装32位的ORACLE 11G for Linux的时候也碰到了,当时没有记录下来,这次特意查询了一下Metalink,Oracle在metalink的文档:Doc ID: Note:454196.1中对于问题进行了详细的描述。

最简单的解决方法莫过于将SElinux设置位PERMISSIVE状态:

切记:切换用户用su - root

[root@** ~]# getenforce
Enforcing
[root@** ~]# setenforce 0
[root@** ~]# getenforce
Permissive
[root@** ~]# su - oracle
[oracle@** ~]$ sqlplus "/ as sysdba"

SQL*Plus: Release 11.1.0.6.0 - Production on Mon Oct 22 13:57:07 2007

Copyright (c) 1982, 2007, Oracle. All rights reserved.

Connected to an idle instance.

貌似还不行,export一下没有ORACLE_HOME变量,我们还是把变量定义

export ORACLE_BASE=/oracle/app/oracle(根据情况自己修改)
export ORACLE_SID=sales
export ORACLE_HOME=$ORACLE_BASE/product/11.1.0/db_1(根据情况自己修改)
export PATH=$PATH:$ORACLE_HOME/bin

放在.bash_profile中吧

然后再启动sqlplus "/ as sysdba"

一切OK了。
文章评论

共有 12 条评论

  1. chaipeng 于 2011-08-18 12:29:14发表:

    ????!!!!!

  2. hooqee 于 2011-08-15 23:56:08发表:

    学习下!

  3. dongyichen 于 2011-08-05 00:58:34发表:

    学习学习~

  4. gomelong 于 2010-01-02 06:43:21发表:

    学习下,谢谢。

  5. 血之哀伤 于 2009-10-19 17:58:13发表:

    来看看学习下

  6. yyrex 于 2009-10-14 17:11:45发表:

    ooooooooooooooooo

  7. heijunmasd 于 2009-10-12 21:29:53发表:

    谢谢了啊

  8. hyt0931 于 2009-09-29 14:36:44发表:

    留名,经后要用到

  9. shiweimath 于 2009-09-24 00:35:48发表:

    我早装过了,也来学习下,很好,支持!

  10. linux_fancier 于 2009-08-17 11:22:06发表:

    好,加深了一点理解。

  11. online0066 于 2009-08-16 18:11:39发表:

    不错 可以借鉴一下

  12. atmasking 于 2009-08-03 16:02:53发表:

    汗。。想找一个安装全过程的文档哩。