分享

redhat Linux5.4 上oracle安装过程

 aaie_ 2012-03-29

一、系统软件版本:(由于系统和软件的不同版本可能导致安装步骤,文件配置不同,所以我只介绍我所采用的版本安装过程)

软件:

Linux版本:[红帽企业Linux.5.4].rhel-server-5.4-i386-dvd.iso

Oracle版本:linux_11gR1_database.zip

我是采用Vmware虚拟机软件为载体,将Linux系统安装在虚拟机上,这样的好处是可以在一台电脑上运行多个系统,模拟系统之间远程连接,对于学习很有帮助。当然,对于如何在虚拟机上安装Linux系统,在此不做详细的介绍。

二、准备安装环境

(1) 创建必要的目录和组(root用户登陆,用户帐户将称为 oracle,而组将称为 oinstall dba。)

命令如下:

#mkdir -p /home/u01/oracle//创建目录

#groupadd dba//创建dba用户组

#groupadd oinstall//创建Oracle安装用户组

#useradd oracle//创建oracle用户

#chown -g oinstall -G dba /home/u01/oracle oracle//oracle用户添加到dbaoinstall组中

#passwd oracle //设置密码

#chown -R oracle:oinstall /home/u01 u01目录赋予oracle用户oinstall

(2) 安装和更新必要的软件包

注意:Linux的软件包之间有的存在依赖关系,所以有些软件包之间安装一定要有顺序,否则会提示错误,导致安装失败,我下面列出的软件包安装顺序是经过我的试验的,网上的文档存在错误,大多在这里,一般是安装顺序不对,导致安装失败。

安装顺序:(这些软件包在Linux系统镜像文件中都可以找到:光盘镜像中server文件夹中都可以找到)

binutils-2.17.50.0.6-12.el5.i386.rpm

compat-libstdc++-33-3.2.3-61.i386.rpm

elfutils-libelf-0.137-3.el5.i386.rpm

elfutils-libelf-devel-0.137-3.el5.i386.rpm

kernel-headers-2.6.18-164.el5.i386.rpm

glibc-headers-2.5-42.i386.rpm

glibc-devel-2.5-42.i386.rpm

libgomp-4.4.0-6.el5.i386.rpm

gcc-4.1.2-46.el5.i386.rpm

libstdc++-devel-4.1.2-46.el5.i386.rpm

gcc-c++-4.1.2-46.el5.i386.rpm

glibc-common-2.5-42.i386.rpm

glibc-2.5-42.i686.rpm

libaio-0.3.106-3.2.i386.rpm

libaio-devel-0.3.106-3.2.i386.rpm

libgcc-4.1.2-46.el5.i386.rpm

libstdc++-4.1.2-46.el5.i386.rpm

make-3.81-3.el5.i386.rpm

sysstat-7.0.2-3.el5.i386.rpm

unixODBC-2.2.11-7.1.i386.rpm

unixODBC-devel-2.2.11-7.1.i386.rpm

(注意:在oracle官方给出的安装需求文档,有些rpm包没有提到,但是这些包可能是其他一些必须包所依赖的包,也必须要安装才可以。另外,对于不同版本的redhat镜像系统,rpm包版本可能不同,但是一定是这些名称的包。还有,Linux安装光盘中有两个glibc-2.5-42 一个是i386.rpm 另一个是i686.rpm,安装时安装i686.rpm i386.rpm会与其他包产生冲突,导致安装失败。)

(3) 设置linux内核 打开修改/etc/sysctl.conf,在最后加入以下内容:

vi /etc/sysctl.conf打开,加完以后安 ESC +:+w 保存,ESC + : + q 退出)

kernel.shmall = 268435456

kernel.sem=1055 32000 100 128

kernel.shmmax=2147483648

kernel.shmall = 2097152

net.ipv4.tcp_sack = 0

net.ipv4.tcp_timestamps = 0

net.ipv4.conf.default.rp_filter = 0

net.core.optmem_max = 65535

net.core.rmem_default = 4194304

net.core.wmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_max = 262144

fs.file-max = 6553600

net.ipv4.ip_local_port_range = 1024 65000

注意:结束后#sbin/sysctl -p 执行一下,使系统生效

4 修改 /etc/security/limits.conf,加入内容(修改方法同上)

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

5)修改/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

注意:在进行完这步操作之后,有些时候会出现一些小错误,错误现象是我们使用su命令在rootoracle用户之间切换时会提示下列错误:

-bash: [oracle: command not found

-bash: [root: command not found

解决这个问题很简单:在修改profile文件时第一行、第二行中

if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then

中括号与内容之间一定要有空格,如果没有空格,会提示上面的错误的。

例如if [$USER = "oracle"]; then
if [$SHELL = "/bin/ksh"]; then
和上面比较一下,错误很明显的。

6 编辑 /etc/pam.d/login

  添加以下行:

  session required /lib/security/pam_limits.so

  session required pam_limits.so

以上六步的完成均是在root用户登录下,下面将用户切换到oracle用户

使用命令#su – oracle切换用户

打开 v .bash_profile 加入(/home/oracle

ORACLE_BASE=/home/oracle/app

ORACLE_HOME=$ORACLE_BASE/oracle/product/11.1.0/db_1

ORACLE_SID=orcl(设定SID名称,一般为数据库名字)

PATH=$ORACLE_HOME/bin:$PATH

export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH

三、进行安装

进入root用户把你下的linux_11gR1_database.zipunzip linux_11gR1_database.zip

解压出来得到database,把它移动到/homeu01目录下

#mv database /home/u01

#chown -R oracle:oinstall /home/u01/database

这时使用oracle用户登录到Linux图形用户界面

su oracle database目录下$./runInstaller

(注意:有些文章提示在命令行中执行./runInstaller会提示如过提示diaplay变量错误,需要执行#xhost + #xhost + localhost两个命令,不过本人安装中没有遇到这个问题。

在接下来的安装中,我都是采用默认安装的方式,默认装时Linux系统默认将程序安装在/home/oracle目录中

在安装过程中会弹出一个要求执行oraInstRoot.shroot.sh的提示框,可在命令行窗口中,ROOT用户执行这两个文件,在图形界面打开命令窗口,切换到root用户,按照提示进入两个文件所在目录,分别执行两个文件 ./oraInstRoot.sh ./root.sh。在安装的过程中,在安装路径的选择上本来可以更改安装目录,将Oracle安装在我们新建的目录/home/u01/oracle下的,但是我在安装时疏忽了这一点,系统进行了默认方式安装,安装路径在/home/oracle/app但是这并不影响使用。如果有人更改了默认的安装路径,那么在/home/oracle./bash_profile文件中

ORACLE_BASE=/home/oracle/app

ORACLE_HOME=$ORACLE_BASE/oracle/product/11.1.0/db_1

中内容要进行相应的修改。

经过一段时间的等待之后,oracle数据库就已经安装完毕了。

四、一些小的错误的修正(注:这些操作均是在oracle用户登陆下完成的。)

1)安装完毕之后,我们可以退出LinuxX-windows环境了,继续在控制台上以命令行的方式操作,当我们输入sqlplus /nolog时会提示下面的错误

cannot restore segment prot after reloc: Permission denied

这是SELinux搞的鬼,解决办法有两个
1.
使用chcon 命令
示例: chcon -t texrel_shlib_t /usr/local/rsi/idl_6.1/bin/bin.linux.x86/*.so

(注:这种方法本人没有试验,不知道效果。)
2.
禁止掉SELinux
更改/etc/sysconfig/selinux 文件的内容为 SELINUX=disabled

(注:本人采用的是这种解决方法,解决了这个问题。)

2)在安装完oracle之后如果想要使用数据库必须要启动数据库的监听器,一般我们安装完数据库之后就已经建立好了监听器,我们只要启动就可以了,在控制台使用以下命令;

Alsnrctl start //启动监听器命令

Blsnrctl stop //关闭监听器命令

Clsnrctl status //查看监听器的状态

3)在使用sqlplus 连接数据库时还有可能出现如下错误:

提示ORA-01034: ORACLE not available

ORA-27101: shared memory realm does not exist

有人说解决这个问题的办法是改sqlnet.ora将认证方式改为none也没有用。这一点我试过不好用的,不敢恭维,也许遇到的问题不同吧。我采用的一下方法解决的:输入一下命令

1sqlplus /nolog

2conn / as sysdba

3startup

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多