分类: LINUX
2011-11-01 11:34:45
一.前言
之前听坊间传闻说安装Oracle很BT,今日一试,果然如此:<,所以决心把安装中遇到的问题整理成此文档,以备后来者参考。
二.基本配置
在安装Oracle之前,我想先说一下机器配置的问题,因为单机器的问题,就可能会浪费你1天多的时间!
(1)硬盘剩余空间:10G以上
虽然Oracle 10g的安装文件只有800多MB,但安装后的oracle+oraInventory目录会用差不多4G空间,再加上安装时Oracle生成的临时文件 (/tmp目录需要至少400MB)...所以10G的硬盘空间已经是最低配置了,因为你可能还需要应付一些特殊情况。
(2)内存1.5G以上
官方文档说512M内存也可以安装。是的,确实如此,但安装后能不能正常运行,我就不敢保证了...之前我用一台1G内存的虚拟机安装Oracle 10g,正要启动的时候提示:剩余内存不足。为了避免不必要的麻烦,请把内存加多一些。
(3)Swap交换区2G
三.在CenOS5.3上安装Oracle 10g
1.预备资源
【1】《》
【2】 安装包:
2.安装Oracle 10g
【1】准备安装
为了避免缺包导致的Error,请在安装Oracle之前执行以下命令:
yum install yum-fastestmirror -y
【2】安装包解压
zcat /tmp/10201_database_linux_x86_64.cpio.gz /data/setupfiles/Oracle/ | cpio -idmv【3】创建 Oracle 组和用户帐户
创建用于安装和维护Oracle 10g 软件的账户。用户帐户将称为oracle,而组将称为oinstall和dba。以root用户身份执行以下命令:
# /usr/sbin/groupadd oinstall
设置oracle帐户的口令
# passwd oracle【4】创建目录
创建Oracle 10g及其数据库文件的目录,以root用户身份执行以下命令:
# mkdir -p /data1/oracle
【5】修改内核参数
安装Oracle 10g需修改内核参数,否则安装检测时会报Failed,甚至导致安装时出现Error。以root身份执行以下命令:
cat >> /etc/sysctl.conf <
如果检查没有问题后,即可以开始装Oralce 10g。
【6】安装Oracle 10g
(1)先以oracle用户身份登陆XWindow。因为oracle安装会弹出界面让你配置,如果使用putty登陆安装的话,你是没有办法操作弹出框的,所以一定要登录XWindow,然后在Terminal里启动安装程序。
另外一个问题就是,必须要用oracle用户登陆XWindow,并以oracle用户在Terminal中启动安装程序。为什么不用root权限呢?首 先,以root用户登录XWindow并启动安装程序会出错,提示“The user is root. Oracle Universal Installer cannot continue installation if the user is root.”。如果以root登陆XWindow,以oracle用户在Terminal中启动安装程序,可能会出现某些对话框弹不出来,导致安装卡死的 情况,这种情况之前我就遇到过,虽然不能百分百确定是root登陆XWindow导致的问题,但为了避免不必要的问题,还是以oracle用户登录 XWindow,并用oracle身份启动安装程序。
(2)如果你的系统语言为中文,请把他设置为英文,否则安装的时候会出现乱码。
(3)Terminal中启动Oracle 10g安装程序:
[oracle@vmlincn80ce5 /]$ ./data/setupfiles/Oracle/database/runInstaller
如果一切正常,界面会弹出如下对话框:
如果在Terminal启动runInstaller时遇到“Checking operating system version: must be redhat-2.1, redhat-3, SuSE-9, SuSE-8 or UnitedLinux-1.0 Failed ”这种问题,表明oracle不能识别你的系统内核,这个问题可以通过修改内核配置文件解决,如下:
cat > /etc/redhat-release << EOF
(4)Oracle 10g安装配置
修改Oralce Home Localtion,填写database password后,按“Next”。如图:
(5)数据库配置
修改Inventory directory,Specify Operating System group name选:oinstall,然后“Next”,如图:
(6)Oracle安装前检查
检查一下有什么不符合安装要求,看是否需要修改配置,如果按照上面步骤下来,这里的warning应该为0,然后“Next”。
(7)Install Oracle 10g
直接按“Install”。
(8)Installing...
现在你可以去泡壶乌龙茶了......如果在虚拟机上安装,会花时间会更长些......Zzzzzzz
(9)Configuration Assistant
在软件安装完成之后,会自动进行Configuration Assistant的配置。
包括了Oracle Net Configuration Assistant,Oracle Database Configuration Assistant,iSQL*Plus Configuration Assistant的配置。
当Oracle Database Configuration Assistant配置完成时,会弹出一个确认框,里面记录了一些比较重要的信息,包括:SID,Server Parameter Filename以及Database Control URL等,如图:
这些信息以后比较有用,可以记录下来,然后“OK”。
(10)以root权限运行脚本
当iSQL*Plus Configuration Assistant配置完成时,会弹出一下框,里面有两个Srcipt需要你用root权限运行。
在Terminel中以root权限执行以上两个脚本:
[root@vmlincn80ce5 oradata]# ./orainstRoot.sh
然后按“OK”。
(11)Oracle 10g安装完成
恭喜,Oracle 10g终于安装完成了:>,按“Exit”退出安装。
三.后记
其实现在看来,安装Oracle 10g其实也并不是那么难搞,主要是在安装途中,可能会报出各种各样的Warnning/Error,这多数是系统缺少某些包导致的,如果把“【2.1】 准备安装”中的提到的包都装了,这类的问题应该基本上解决了(实在不行就Google吧...)。然后就是硬盘空间问题,每次Oracle安装都会在 /tmp下生成400MB左右的临时文件,如果安装中途出错退出的话,这些文件好像是不会自动删除的,所以记得把这些垃圾清掉,否则很容易导致硬盘空间不 足。
一.引言
在上一篇《在CentOS5.3上安装Oracle 10g总结文档》中,我们成功地把Oracle 10g装上了,那么接下来的问题便是:如何启动Oracle数据库。
二.启动Oracle 10g
1.设置Oracle环境变量
成功安装Oracle后,安装程序会自动把帮你设置相关的环境变量,但它并没有把这些信息写入.bash_profile文件,所以当机器重启后,这些环 境变量便会被清空掉。为了重启后不用重新设置这些烦人的环境变量,我们决定把这些信息写入.bash_profile。
(1)开打.bash_profile文件
vim /home/oracle/.bash_profile(2)设置环境变量
由于安装目录各异,所以大家要根据实际情况调整一下值。在.bash_profile文件的最后加入以下内容:
export ORACLE_BASE=/u01/app/oracle
2.启动Oracle数据库
(1)登陆SQLPLUS
以Oracle身份登录后,启动并登陆SQLPLUS。
[oracle@vmlincn80ce5 admin]$ sqlplus /nologsys:一个Oracle默认账号。
yourpassword:你在安装Oracle时设置的密码。
(2)启动Oracle数据库
以sysdba的身份登陆SQLPLUS后,我们开始启动数据库实例。
SQL> startupstartup:启动数据库实例。因为之前我们设置了这样一个环境变量:ORACLE_SID=orcl ,所以这里启动数据库是:orcl。
exit:数据库实例启动完成后,退出SQLPLUS。
至此,数据库实例启动完成!接下来我简单介绍一下Oracle数据库实例启动流程:
整个流程大概可以分为3个部分,分别对应startup的3个参数:nomount,mount,open。
【1】加载spfile$ORACLE_SID.ora/init$ORACLE_SID.ora文件
这两个文件在$ORACLE_HOME/dbs/目录下,他们的作用非常重要,因为里面记录很多重要的配置信息。一般Oracle会先加载 spfile$ORACLE_SID.ora文件,当spfile$ORACLE_SID.ora文件不存在时,加载 init$ORACLE_SID.ora文件,如果两个文件都不存在才报错。
init$ORACLE_SID.ora是文本文件,spfile$ORACLE_SID.ora是二进制文件,在安装完成后,安装程序会用 init$ORACLE_SID.ora生成spfile$ORACLE_SID.ora文件,当然,我们可以手工生成spfile:
SQL> create spfile from pfile;也可以通过spfile生成pfile:
SQL> create pfile from spfile;
由于spfile$ORACLE_SID.ora是二进制文件,如果需要修改启动配置,可以通过修改pfile配置后重新生成spfile文件,因为直接修改二进制文件很容易出错。
这种状态只启动数据库实例,但不打开数据库,在你希望创建一个新的数据库时使用,或者在你需要这样的时候使用!
nomount参数使用实例:
SQL> startup nomount
【2】加载Control及数据文件
Control文件包括control01.ctl ,control02.ctl ,control03.ctl这三个文件,文件在/data1/oradata/orcl目录下。
这种状态和(3)的区别是,虽然加载了数据文件,但你还不能操作里面的数据。mount一般在进行数据库更名的时候采用。
mount参数使用实例:
SQL> alter database mount
【3】数据文件可读写
在这种状态下,可以访问数据库中的数据了。
open参数使用实例:
SQL> alter database open
如果startup不带参数,相当于执行以下3个命令:
SQL> startup nomount
(3)开启监听器
现在虽然是启动数据库成功了,但如果要其他机器上也能访问本地的数据库,则需要开启监听器。
【1】修改监听器配置
监听器主要的配置文件是:$ORACLE_HOME/network/admin/listener.ora。我的listener.ora配置如下:
SID_LIST_LISTENER =
【2】开启监听器
lsnrctl start至此,我们完成了对监听器的开启。
【3】用PLSQL Developer测试连接数据库
接下来,我们可以用PLSQL Developer测试一下,看数据库是否真的能连上。
在远程的oracle_client上找到tnsnames.ora这个文件,并在文件中加上相应的配置信息,我加上的配置信息如下:
ORCL =启动PLSQL Developer连接数据库:
三.结语
数据库启动这一块花了我差不多2天的时间,其中很大一部分时间花在了了解OEM(Oracle Enterprise Manager)上,OEM是一个基于WEB的界面管理Oracle数据库的工具,使用相当方便,功能也非常强大,不过配置会有点麻烦,最直接方式还是使 用命令行启动。关于OEM的详解介绍,可以参考《》。