2.1 安装之前的准备
在安装Oracle软件之前,我们需要进行一系列的准备工作,包括对硬件资源和软件资源两方面的准备。
对于硬件资源来说,主要是针对硬盘和内存而言。由于Oracle 10g版本增加了一个基于网页的管理工具(叫做Enterprise Manager,也叫做Database Control),因此相对于以前版本来说,会需要更多的内存资源。根据Oracle官方的建议,如果要流畅地使用该管理工具,至少需要为其准备1GB的内存(注意,这1GB的内存并不参与Oracle服务器本身的运行)。
对于硬盘来说,至少需要1.5GB的swap区域。所谓swap区域,就是指用于将物理内存里那些暂时用不到的数据临时交换到硬盘上来,从而在物理内存中释放出一定的空间给那些当前急需内存的进程使用。Oracle建议swap区域为物理内存大小的2倍。
在操作系统的临时目录下需要至少400MB的可用空间。对于UNIX/Linux来说是/tmp目录;而对于Windows来说则为%HOMEDRIVE%%HOMEPATH%\Local Settings\Temp目录。要确定我们在Windows下的临时目录,只需要在command窗口下输入以下命令即可。
C:\>echo %HOMEDRIVE%%HOMEPATH%\Local Settings\Temp C:\Documents and Settings\hsj\Local Settings\Temp
可以看到,当前的临时目录为C:\Documents and Settings\hsj\Local Settings\Temp。
对于Oracle软件本身所需要的磁盘空间,则依赖于操作系统的不同而有所不同。在UNIX/Linux平台,需要1.3GB到3.5GB的空间(具体所占据的空间依赖于我们选择的组件的多少);而在Windows平台上,则所需空间会减少,大概在1GB到1.5GB之间。
在软件资源方面,首先要考虑Oracle在不同的操作系统下的特殊要求。这就需要在安装前,参考具体的安装文档了。其次,应该了解并实践Oracle所提出的OFA的概念。
所谓OFA指的是最佳灵活体系结构(Optimal Flexible Architecture)。它是Oracle公司所提出的一个如何设置Oracle软件所在目录以及数据库相关文件所在目录的指导。从而通过遵循OFA的指导,使得整个系统可以更加灵活。如果所有的Oracle DBA都能够遵循并实践该指导,则任何一个DBA接手一个新的数据库时就会很容易地了解该数据库中整个物理文件方面的分布情况。
OFA的核心是一个命名机制,指导我们如何定义目录名以及目录结构。在UNIX/Linux下,OFA主要包括以下几个方面。
(1)UNIX/Linux下对于mount点的命名应该采取/pm的格式。p表示字符常量;m表示固定长度(通常为2)的数字。比如Oracle相关文件所在的mount点通常会为/u01、/u02、/u03等。
(2)对于Oracle软件的基本目录(也就是BASE目录)的命名应该采取/pm/h/u的格式。/pm表示mount点;h表示一个常量名,比较常见的叫app;而u则表示目录的所有者,对于Oracle软件来说其所有者应该为oracle。因此,Oracle软件的BASE目录通常应该为/u01/app/oracle、/u02/app/oracle等。
(3)具体到Oracle软件所在的目录,叫做Oracle的Home目录,其命令则应该采取/pm/h/u/product/V的格式。其中的product是一个字符常量;而V则表示版本号。因为不同版本的Oracle软件可以安装在一台主机上,因此,对于9.2.0版本的Oracle来说其软件所在的目录就应该为/u01/app/oracle/product/9.2.0;而对于10.2.0版本的Oracle来说其软件所在的目录就应该是/u01/app/oracle/product/10.2.0。不过由于在Oracle 10g中,增加了一些数据库相关软件,比如ASM、agent等,因此在Oracle 10g中,Oracle数据库的Home目录为/pm/h/u/product/V/db_1,其通常为/u01/app/Oracle/product/10.2.0/db_1。而ASM的Home目录则是/pm/h/u/product/V/asm,而agent的Home目录是/pm/h/u/product/V/agent。
(4)对于某个数据库特定的管理文件,比如启动参数文件、转储文件等,其所在的目录名应为/pm/h/u/admin/d/a的格式。其中,admin表示固定字符;d表示数据库名;a表示子目录的名字,比如启动参数文件所在的目录为pfile,用户转储文件所在的目录为udump,数据库名为ora10g,则参数文件所在目录就是/u01/app/oracle/admin/ora10g/pfile。
(5)对于数据库的三种关键文件来说,它们所在的目录名应为/pm/q/d的格式,其中q表示一个字符串,用来与其他Oracle文件相区分,比如通常为oradata;d表示数据库的名称,假设我们的数据库的名称为ora10g,则这三种关键文件所在的目录就是/u01/oradata/ora10g。而对于这三种关键文件的命名规范来说,控制文件的命名应该采用controln.ctl的格式,其中的n表示两位长度的数字,比如01、02、03等;联机日志文件的命名应该采用redon.log的格式,其中的n表示两位长度的数字,比如01、02、03等;而对于数据文件的命名应该采用tn.dbf的格式,其中的t表示表空间名,n表示两位长度的数字,比如01、02、03等。比如对于名为users的表空间来说,其中包含的数据文件可以为users01.dbf、users02.dbf、users03.dbf等。