在linux下安装oracle的方法以 及自己遇到的一些问题的解决方案
自己准备学习oracle数据库,昨天花了一个晚上在虚拟机上的linux(Fedora 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
其两个端口设为默认状态。密码自己设定好
根据提示设置8080、1521端口,还有sys和system的密码,开机是否启动等。
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看看8080和1521是否已经监听了。
[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_HOME是oracle的安装路径,如果没有指定的话,默认是在/usr/lib/oracle/目录下的。在配置环境变量时“=”号两边不能有空格,否则配置不会成功。至于ORACLE_HOME,PATH等一些名词是什么意思,你懂的。
好环境变量也就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.1的rpm包,下载地址http://liuxiaochun2010.download.csdn.net/,不知道传上去没,如果没有上传成功,在此表示歉意。然后切换到root用户下安装这个两个包libaio-0.3.105-2.x86_64.rpm,libaio-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.用dbstart和dbshut启动和关闭数据库实例
先启动监听 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编辑dbstart,ORACLE_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并解决汉字乱码问题。 首先,我们需要安装Java Development Kit (JDK),因为Oracle数据库的安装和配置过程需要用到JDK。在...
在Linux环境下安装Oracle数据库时,可能会遇到一个常见的问题:安装界面中文显示为“小方块”或乱码。这个问题通常是由于系统缺少必要的字体支持导致的。以下是一套详细的解决方案,帮助你解决这个问题。 1. **确认...
在安装过程中,可能遇到的问题包括依赖包缺失、内核参数不匹配、磁盘空间不足等。解决这些问题通常需要查阅Oracle官方文档、社区论坛和经验分享。 总的来说,安装Linux下的Oracle 10G数据库是一个复杂的过程,涉及...
在本文中,我们将深入探讨如何在Oracle Linux 7.2环境下安装Oracle 11.2.0.4数据库,同时解决可能出现的各种问题。首先,确保你拥有足够的系统资源,包括至少6.5GB的空间用于Oracle Grid Infrastructure(Grid home...
4. **安装脚本和输出结果**:在安装过程中记录所有脚本配置及执行输出结果,以便出现问题时能快速定位并解决。 5. **错误处理**:安装过程中可能会遇到各种各样的错误,及时查阅文档或在线资源,寻求解决方案。 6. *...
通过以上介绍可以看出,在Linux环境下安装Oracle数据库不仅需要注意系统环境的配置,还需要在安装后进行多方面的优化,以确保数据库的高效稳定运行。对于从事IT行业的技术人员来说,掌握这些知识和技术是非常重要的...
### 在Linux上安装Oracle的相关知识点 #### 一、概述 本文档主要介绍如何在不同的Red Hat版本上安装Oracle 9iR2与Oracle 9iR1 32位数据库。作者Werner Puschitz提供了详细的步骤和注意事项,旨在帮助读者顺利完成...
在安装 Oracle 12C 之前,需要进行一些系统配置准备工作: * 创建 Oracle 用户和用户组:创建一个专门的用户和用户组,以便于 Oracle 12C 的安装和运行。 * 创建安装目录:创建一个专门的目录,以便于存储 Oracle ...
Linux安装Oracle图形化界面时经常会遇到各种问题,本文将总结这些问题的解决方法。 一、错误描述:xlib connection to ":0.0" refused by server 解决方案:此错误是由于用户身份问题引起的,可以通过切换到root...
在Linux环境下安装Oracle 10g是一个相对复杂的过程,涉及到多个步骤和配置。...在实际操作中,遇到问题时可查阅官方文档或在线社区,寻求解决方案。通过深入理解和实践,可以更好地掌握Oracle数据库的管理和维护。
在Linux系统下安装Oracle数据库是一项复杂的工作,需要遵循一系列步骤并注意一些常见的错误。以下是详细的安装过程和解决常见问题的方法: 一、系统要求 在安装Oracle之前,确保你的Linux系统满足以下基本要求: 1....
本文详细介绍了在Linux环境下安装Oracle 10g的过程,包括准备工作、具体安装步骤、监听器配置以及常见问题解决方法。通过遵循本文的指导,用户可以在Linux系统上成功部署Oracle 10g数据库环境,为后续的应用开发和...
在Linux环境下安装Oracle数据库时,可能会遇到一系列的问题。本文主要针对三个常见的错误进行了总结和解决方案的提供。 **错误一:缺少libXp.so.6动态链接库** 这个问题出现在尝试运行Oracle安装程序时,系统提示找...
在Linux环境中安装Oracle数据库并处理汉字乱码问题是一项常见的任务,尤其对于中文用户来说,确保数据库正确显示和处理汉字是至关重要的。以下是一份详细的步骤和解决方案,旨在帮助你克服这个挑战。 首先,我们...
### 红旗Linux下Oracle 9.2.04的安装步骤与注意事项 #### 一、安装前的准备工作 **1.1 安装环境准备** - **操作系统**: 红旗 Linux ...此外,在安装过程中遇到任何问题时,请参照文档或官方指南进行排查。
在Linux环境下安装Oracle 11g R2数据库时,可能会遇到一个常见的问题,即中文字符显示为"囗囗囗囗囗囗囗囗"的乱码现象。这个问题通常是由于系统环境变量配置不当或者字体支持不足所引起的。下面将详细介绍解决这个...
在Linux系统中安装Oracle数据库是一项复杂但重要的任务,因为Oracle数据库是企业级的数据存储和管理解决方案。以下是对整个安装过程的详细说明: 首先,确保你的Linux系统满足Oracle的最低硬件要求,包括至少1GB的...