`
moxu
  • 浏览: 63767 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
文章分类
社区版块
存档分类
最新评论

在linux下安装oracle的方法以 及自己遇到的一些问题的解决方案

阅读更多

 

linux下安装oracle的方法以 及自己遇到的一些问题的解决方案

自己准备学习oracle数据库,昨天花了一个晚上在虚拟机上的linuxFedora 8)上成功安装了oracle 10g,总结自己在安装时遇到的问题以及安装的步骤和大家分享一下。

1.首先,在官网上面下载oracle –xe rpm)格式的数据库,下载地址如下

http://download.oracle.com/otn/linux/oracle10g/xe/10201/oracle-xe-univ-10.2.0.1-1.0.i386.rpm

 

2.通过ssh或者其它方式,将源文件复制到linux系统下的home文件下。

 

3.通过cd  /home/ 进去到home目录下。然后用

[root@localhost home]# ls –l

 #查看home文件下的是否有oracle-xe-univ-10.2.0.1-1.0.i386.rpm

上面过程先停一下,进入到[oracle@localhost ~]$ 下去创建用户

 

3. 创建 Oracle 组和用户帐户

接下来,创建用于安装和维护 Oracle 10g Linux 组和用户帐户。用户帐户将称为 oracle,而组将称为 oinstall dba。执行以下命令:

 

[oracle@localhost ~]$ groupadd oinstall

[oracle@localhost ~]$ groupadd dba

[oracle@localhost ~]$ useradd -m -g oinstall -G dba oracle

[oracle@localhost ~]$ id oracle

uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba)

 

设置 oracle 帐户的口令:输密码的时候都是没有回显的,输完就回车就好。

[oracle@localhost ~]$  passwd oracle

Changing password for user oracle.

New password:

Retype new password:

passwd:all authentication tokens updated successfully.

 

注意:我在网上看了有些帖子,在这里,有的还需要查看一下内存和修改内核参数等一些硬件是否满足要求,因为考虑到现在的机器绝大部分都满足oracle数据库的安装,这里就不作过多的说明了。

 

4前提工作都做好了,下面我们就一起来安装oracle

执行下面命令:

[root@localhost home]# rpm  -ivh oracle-xe-univ-10.2.0.1-1.0.i386.rpm

在这里,要注意了可能会出现错误,需要将命令改成下面的,所有建议使用

[root@localhost home]# rpm -ivh oracle-xe-univ-10.2.0.1-1.0.i386.rpm --nodeps –force

然后会进入以下过程

Preparing...                ########################################### [100%]

        package oracle-xe-univ-10.2.0.1-1.0 is already installed

# rpm -e oracle-xe-univ-10.2.0.1-1.0.i386

# rpm -ivh oracle-xe-univ-10.2.0.1-1.0.i386.rpm

Preparing...                ########################################### [100%]

   1:oracle-xe-univ         ########################################### [100%]

Executing Post-install steps...

 

You must run '/etc/init.d/oracle-xe configure' as the root user to

configure the database.

配置oracle初始端口及超级用户密码,执行下面命令

[root@localhost home]#   /etc/init.d/oracle-xe configure

其两个端口设为默认状态。密码自己设定好

 

根据提示设置80801521端口,还有syssystem的密码,开机是否启动等。

Starting Oracle Net Listener...Done

Configuring Database...Done

Starting Oracle Database 10g Express Edition Instance...Done

Installation Completed Successfully.

To access the Database Home Page go to [url]http://127.0.0.1:8080/apex[/url]

 

5. [root@localhost home]# reboot  重新启动

现在用netstat看看80801521是否已经监听了。

[oracle@localhost ~]$  netstat –tnl

如果有

tcp     0   0 0.0.0.0:8080         0.0.0.0:*                   LISTEN     

tcp     0   0 0.0.0.0:1521         0.0.0.0:*                   LISTEN

就启动成功

 

6接下来就开始配置环境变量

首先通过注销一次,通过上面创建的oracle用户登录系统。进行如下设置

执行命令:

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

出现以下画面,红色的是我设置环境变量

# User specific environment and startup programs

export ORACLE_SID=XE

export ORACLE_OWNER=oracle

export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server

export PATH=$PATH:$ORACLE_HOME/bin:/sbin

然后:wq!保存

注意:ORACLE_HOMEoracle的安装路径,如果没有指定的话,默认是在/usr/lib/oracle/目录下的。在配置环境变量时“=”号两边不能有空格,否则配置不会成功。至于ORACLE_HOMEPATH等一些名词是什么意思,你懂的。

好环境变量也就ok

7.启动oracle数据库

启动数据库实例,分为两步:第一步,启动监听;第二步,启动数据库实例。
 
一、如何启动数据库实例
   1.
进入到sqlplus启动实例
[oracle@localhost ~]$ su - oracle                                 --“切换到oracle用户
Password:
[oracle@localhost ~]$ lsnrctl start                               --“打开监听
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 14-OCT-2009 19:06:40
Copyright (c) 1991, 2005, Oracle.  All rights reserved.
Starting /home/oracle/product/10g/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 10.2.0.1.0 - Production
System parameter file is /home/oracle/product/10g/network/admin/listener.ora
Log messages written to /home/oracle/product/10g/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC2)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=redhat)(PORT=1522)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC2)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 10.2.0.1.0 - Production
Start Date                14-OCT-2009 19:06:40
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /home/oracle/product/10g/network/admin/listener.ora
Listener Log File         /home/oracle/product/10g/network/log/listener.log
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC2)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=redhat)(PORT=1522)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
[oracle@localhost ~]$ sqlplus /nolog                                --“进入到sqlplus”
SQL*Plus: Release 10.2.0.1.0 - Production on Wed Oct 14 19:06:45 2009
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
SQL> conn /as sysdba                                              --“
连接到sysdba”
Connected to an idle instance.

(注意这个地方可能会报错误:oracleorcl: error while loading shared libraries:libaio.so.1:cannot open shared object file: No such file or directory)是因为有个包没有将,在网上下载libaio.so.1rpm包,下载地址http://liuxiaochun2010.download.csdn.net/,不知道传上去没,如果没有上传成功,在此表示歉意。然后切换到root用户下安装这个两个包libaio-0.3.105-2.x86_64.rpmlibaio-0.3.105-2.i386.rpm。具休是什么原因,谷歌一下吧,这里我也不花时间详细解释了。)
SQL> startup                                                     --“
启动数据库实例
ORACLE instance started.
Total System Global Area  285212672 bytes
Fixed Size      1218968 bytes
Variable Size     88082024 bytes
Database Buffers   188743680 bytes
Redo Buffers      7168000 bytes
Database mounted.
Database opened.
SQL> shutdown immediate                                          --“
关闭数据库实例
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
[oracle@redhat ~]$ lsnrctl stop                                 --“
关闭监听
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 14-OCT-2009 19:08:06
Copyright (c) 1991, 2005, Oracle.  All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC2)))
The command completed successfully
 
   2.
dbstartdbshut启动和关闭数据库实例
 
先启动监听 lsnrctl start
启动实例  dbstart
 
使用dbstart命令启动数据库比较方便,但是在linux上安装好oracle之后,第一次使用dbstart命令可能会报如下错误:
 
ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener
Usage: /u01/app/oracle/oracle/product/10.2.0/db_1/bin/dbstart ORACLE_HOME

原因:
dbstart
dbshut脚本文件中ORACLE_HOME_LISTNER的设置有问题,分别打开两个文件找到:用vi编辑dbstartORACLE_HOME_LISTNER=$1,修改为
ORACLE_HOME_LISTNER=$ORACLE_HOME
 
 
然后保存退出,此时再运行dbstart,已经不报错了,但是没有任何反应,ps一下进程,没有oracle的进程,说明oracle实例没有正常启动。
 
此时的原因是在/etc/oratab的设置问题,我们vi一下,发现
zgz:/home/oracle/product/10g:N
最后设置的是"N"(我的环境中只有一个实例,因此只有一行配置语句),我们需要把“N”修改为“Y”
 
以上的工作做好之后,dbstart就可以正常使用了:
 
[oracle@redhat bin]$ lsnrctl start                                   --“
启动监听
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 14-OCT-2009 19:44:53
Copyright (c) 1991, 2005, Oracle.  All rights reserved.
Starting /home/oracle/product/10g/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 10.2.0.1.0 - Production
System parameter file is /home/oracle/product/10g/network/admin/listener.ora
Log messages written to /home/oracle/product/10g/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC2)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=redhat)(PORT=1522)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC2)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 10.2.0.1.0 - Production
Start Date                14-OCT-2009 19:44:53
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /home/oracle/product/10g/network/admin/listener.ora
Listener Log File         /home/oracle/product/10g/network/log/listener.log
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC2)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=redhat)(PORT=1522)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
[oracle@redhat bin]$ dbstart                                   --“
启动数据库实例
Processing Database instance "zgz": log file /home/oracle/product/10g/startup.log
[oracle@redhat bin]$ dbshut                                    --“
关闭数据库实例
[oracle@redhat bin]$ lsnrctl stop                              --“
关闭监听
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 14-OCT-2009 19:45:33
Copyright (c) 1991, 2005, Oracle.  All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC2)))
The command completed successfully


 
如何使数据库实例和linux系统一起启动
/etc/rc.d/rc.local中加入如下语句即可实现同系统启动实例:
su - oracle -c "lsnrctl start"
su - oracle -c "dbstart" 

(因为课程比较紧,所以匆匆完稿,中途还借鉴了一些大虾的详解,就此对他们表示感谢。同时文章中有此没有说清楚的地方,还请读者见谅)

 

分享到:
评论

相关推荐

    Linux下安装Oracle完美解决版

    在Linux环境下安装Oracle数据库是一项复杂的过程,涉及到多个步骤和组件的配置。...在安装过程中,可能会遇到各种问题,如依赖性错误、权限问题或配置错误,因此,熟悉Linux和Oracle的知识是至关重要的。

    linux oracle 安装错误解决方法

    在Linux环境下安装Oracle数据库可能会遇到各种问题,但别担心,我们可以通过一些常见错误的解决方案来克服这些挑战。这里,我们将重点讨论"Linux Oracle安装错误解决方法",并结合提供的文件名称,推测可能遇到的...

    Linux上安装Oracle汉字乱码完整解决方案

    本文提供了一个完整的解决方案,旨在帮助用户在保持Linux中文环境的情况下,顺利安装Oracle并解决汉字乱码问题。 首先,我们需要安装Java Development Kit (JDK),因为Oracle数据库的安装和配置过程需要用到JDK。在...

    linux安装oracle解决安装界面中文乱码

    在Linux环境下安装Oracle数据库时,可能会遇到一个常见的问题:安装界面中文显示为“小方块”或乱码。这个问题通常是由于系统缺少必要的字体支持导致的。以下是一套详细的解决方案,帮助你解决这个问题。 1. **确认...

    linux下安装oracle10G

    在安装过程中,可能遇到的问题包括依赖包缺失、内核参数不匹配、磁盘空间不足等。解决这些问题通常需要查阅Oracle官方文档、社区论坛和经验分享。 总的来说,安装Linux下的Oracle 10G数据库是一个复杂的过程,涉及...

    oracle linux7.2 安装oracle 11.2.0.4全过程图文附各种bug解决方案

    在本文中,我们将深入探讨如何在Oracle Linux 7.2环境下安装Oracle 11.2.0.4数据库,同时解决可能出现的各种问题。首先,确保你拥有足够的系统资源,包括至少6.5GB的空间用于Oracle Grid Infrastructure(Grid home...

    手把手教你用VMware在Linux下安装Oracle 10g RAC

    4. **安装脚本和输出结果**:在安装过程中记录所有脚本配置及执行输出结果,以便出现问题时能快速定位并解决。 5. **错误处理**:安装过程中可能会遇到各种各样的错误,及时查阅文档或在线资源,寻求解决方案。 6. *...

    在Linux系统下Oracle数据库的安装及设计方案.pdf

    通过以上介绍可以看出,在Linux环境下安装Oracle数据库不仅需要注意系统环境的配置,还需要在安装后进行多方面的优化,以确保数据库的高效稳定运行。对于从事IT行业的技术人员来说,掌握这些知识和技术是非常重要的...

    在linux上安装oracle

    ### 在Linux上安装Oracle的相关知识点 #### 一、概述 本文档主要介绍如何在不同的Red Hat版本上安装Oracle 9iR2与Oracle 9iR1 32位数据库。作者Werner Puschitz提供了详细的步骤和注意事项,旨在帮助读者顺利完成...

    Oracle 12C安装文档

    在安装 Oracle 12C 之前,需要进行一些系统配置准备工作: * 创建 Oracle 用户和用户组:创建一个专门的用户和用户组,以便于 Oracle 12C 的安装和运行。 * 创建安装目录:创建一个专门的目录,以便于存储 Oracle ...

    linux安装oracle图形化界面问题处理

    Linux安装Oracle图形化界面时经常会遇到各种问题,本文将总结这些问题的解决方法。 一、错误描述:xlib connection to ":0.0" refused by server 解决方案:此错误是由于用户身份问题引起的,可以通过切换到root...

    linux下安装oracle10详细配置

    在Linux环境下安装Oracle 10g是一个相对复杂的过程,涉及到多个步骤和配置。...在实际操作中,遇到问题时可查阅官方文档或在线社区,寻求解决方案。通过深入理解和实践,可以更好地掌握Oracle数据库的管理和维护。

    Linux系统下安装oracle

    在Linux系统下安装Oracle数据库是一项复杂的工作,需要遵循一系列步骤并注意一些常见的错误。以下是详细的安装过程和解决常见问题的方法: 一、系统要求 在安装Oracle之前,确保你的Linux系统满足以下基本要求: 1....

    LINUX系统安装oracle10g

    本文详细介绍了在Linux环境下安装Oracle 10g的过程,包括准备工作、具体安装步骤、监听器配置以及常见问题解决方法。通过遵循本文的指导,用户可以在Linux系统上成功部署Oracle 10g数据库环境,为后续的应用开发和...

    Linux下安装oracle的常见问题小结

    在Linux环境下安装Oracle数据库时,可能会遇到一系列的问题。本文主要针对三个常见的错误进行了总结和解决方案的提供。 **错误一:缺少libXp.so.6动态链接库** 这个问题出现在尝试运行Oracle安装程序时,系统提示找...

    Linux上安装Oracle汉字乱码完整解决方案_javacn

    在Linux环境中安装Oracle数据库并处理汉字乱码问题是一项常见的任务,尤其对于中文用户来说,确保数据库正确显示和处理汉字是至关重要的。以下是一份详细的步骤和解决方案,旨在帮助你克服这个挑战。 首先,我们...

    红旗linux安装oracle9.2.04

    ### 红旗Linux下Oracle 9.2.04的安装步骤与注意事项 #### 一、安装前的准备工作 **1.1 安装环境准备** - **操作系统**: 红旗 Linux ...此外,在安装过程中遇到任何问题时,请参照文档或官方指南进行排查。

    Linux 下安装Oracle11g_R2时中文显示成"囗囗囗囗囗囗囗囗"的解决方法

    在Linux环境下安装Oracle 11g R2数据库时,可能会遇到一个常见的问题,即中文字符显示为"囗囗囗囗囗囗囗囗"的乱码现象。这个问题通常是由于系统环境变量配置不当或者字体支持不足所引起的。下面将详细介绍解决这个...

    Linux下安装oracle

    在Linux系统中安装Oracle数据库是一项复杂但重要的任务,因为Oracle数据库是企业级的数据存储和管理解决方案。以下是对整个安装过程的详细说明: 首先,确保你的Linux系统满足Oracle的最低硬件要求,包括至少1GB的...

Global site tag (gtag.js) - Google Analytics