我一直特别喜欢Linux系统,也喜欢在Linux下完成一些项目开发,以前一直有想法在Linux系统上装Oracle数据库,以前在网上找到的安装步骤很繁琐,所以我就放弃了,但是自己还是不死心,最近这几天我还是按照网上所教的步骤,一步一步的安装下来了,但是在安装过程中发现网上的文档步骤上存在错误(当然也可能是系统和软件不同导致的安装步骤不同),特别是一些技术人员在自己的博客中转载别人的文章,所以网上看到的文档几乎都是一摸一样,所以我想把自己的安装过程详细的记录下来,算作是自己的学习心得,同时也分享给大家:
一、系统软件版本:(由于系统和软件的不同版本可能导致安装步骤,文件配置不同,所以我只介绍我所采用的版本安装过程)
软件:
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用户添加到dba和oinstall组中
#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命令在root和oracle用户之间切换时会提示下列错误:
-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.zip用unzip linux_11gR1_database.zip
解压出来得到database,把它移动到/home、u01目录下
#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.sh和root.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)安装完毕之后,我们可以退出Linux的X-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之后如果想要使用数据库必须要启动数据库的监听器,一般我们安装完数据库之后就已经建立好了监听器,我们只要启动就可以了,在控制台使用以下命令;
A、lsnrctl start //启动监听器命令
B、lsnrctl stop //关闭监听器命令
C、lsnrctl status //查看监听器的状态
(3)在使用sqlplus 连接数据库时还有可能出现如下错误:
提示ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
有人说解决这个问题的办法是改sqlnet.ora将认证方式改为none也没有用。这一点我试过不好用的,不敢恭维,也许遇到的问题不同吧。我采用的一下方法解决的:输入一下命令
1、sqlplus /nolog
2、conn / as sysdba
3、startup
相关推荐
### Linux RedHat Enterprise 5.4 安装与Oracle 10g及VNC服务配置详解 #### 第一部分:Linux RedHat Enterprise 5.4 的安装及其问题解决 Linux RedHat Enterprise 5.4 是一款稳定且功能强大的企业级操作系统。在...
在Redhat Enterprise Linux 5.4上安装Oracle 10g是一个相对复杂的过程,涉及到操作系统配置、环境变量设定以及数据库的安装与管理。本指南将详细介绍这个过程,并着重解决可能出现的em/dbca乱码问题以及如何配置...
### Redhat Linux 5.4 下安装Oracle 10g数据库相关知识点 #### 启动远程服务 在Redhat Linux 5.4操作系统环境下安装Oracle 10g数据库之前,通常需要确保能够进行远程访问,以便于管理和维护。为此,需要安装并启用...
在Red Hat Enterprise Linux ...在Red Hat Enterprise Linux 5.4上安装Oracle 11g R2需要仔细规划和执行,确保每个步骤都正确无误。在整个过程中,遵循最佳实践,保持良好的文档记录,将有助于确保安装过程的顺利进行。
在vmware下安装redhat linux 5.4 环境与oracle 10g 数据库
这篇文档将详细讲解如何在Redhat5.4上安装Oracle11g数据库,以及可能遇到的问题及其解决策略。 首先,让我们了解Redhat5.4。这是Red Hat Enterprise Linux (RHEL)的一个早期版本,它提供了稳定性和安全性,是运行...
本文将详细阐述如何在Linux5.4上安装WebLogic,以WebLogic 9.2.2和10.3.6为例进行说明。 首先,确保你已经准备好了安装介质,即包含`server922_zh_CN_linx32.bin`和`wls1036_linux32.bin`的安装包。这些文件是...
在Linux Red Hat Enterprise Linux 5.4 (RHEL5.4)上安装Oracle数据库是一个涉及多个步骤的过程,这里我们将详细探讨这些步骤以及相关的知识点。 首先,Oracle数据库对系统的硬件和软件配置有一定的要求。在安装...
在Redhat Linux企业版5.4上安装Oracle 10g是一个涉及多个步骤和技术细节的过程。以下是这个过程的详细说明: 1. **硬件要求**: - 内存:至少512MB,可以通过`grep MemTotal /proc/meminfo`来查看。 - 交换分区:...
- **实验目标**:在Red Hat Enterprise Linux 5.4 (RHEL 5.4) 32位操作系统上,利用VMware Server 2.0.2.203138虚拟化平台,部署Oracle 10g R2 RAC(Real Application Clusters)集群。 - **实验背景**:随着业务...
在Red Hat Enterprise Linux (RHEL) 5.4环境下安装Oracle 10g是一个复杂的过程,因为Oracle 10g官方不再直接支持这个版本。不过,通过一些技巧和额外的软件包安装,仍然可以实现这一目标。以下是安装过程中涉及的...
通过以上详细的步骤和知识点说明,我们可以看到在RedHat 5.4_64上安装Oracle 10g的过程涉及到了系统安装、软件包选择、防火墙配置、文件传输等多个方面,这些步骤对于初学者来说是非常宝贵的经验积累。
### Oracle在Linux 5.4上的安装指南 #### 一、系统环境准备 根据所提供的信息,我们可以了解到此次Oracle安装是在Red Hat Enterprise Linux (RHEL) 5.4上进行的。为了确保安装顺利进行,首先需要对操作系统进行...
本文总结了 Linux 下 Oracle Client 的安装过程,包括 Linux 基础版之软件安装、Oracle Client 安装注意事项、安装 Oracle10G 客户端等。同时,文章还提供了一些实用的小技巧和经验,旨在帮助读者更好地安装和使用 ...
在RedHat Enterprise Linux 5.4中安装Oracle11gR1 的详细文档。
这里,我们将详细讲解如何在32位的Red Hat 5.4上安装Oracle 9i,并利用提供的补丁包进行优化。 首先,确保你的系统满足Oracle 9i的最低硬件和软件要求。Red Hat 5.4 32位系统应具备至少1GB的内存和足够的磁盘空间。...