2009年2月21日星期六

Linux下,安装oracle 10gR2的准备工作(一)

一、检查硬件需求
至少有1024MB的物理内存
SWP空间的大小:
如果内存为1024MB到2048MB大小,则SWAP空间至少为1.5倍的内存大小
如果内存为2049MB到8192MB大小,则SWAP空间至少与内存大小相同
如果内存大于8192MB,那么SWAP空间至少为内存的0.75倍
/tmp目录下至少有400MB的磁盘空间
为oracle预留1.5GB到3.5GB磁盘空间,根据安装类型不同
为使用文件系统存储的预配置的数据库保留1.2GB的磁盘空间
这步中用到的命令有:
1、查看物理内存大小:grep MemTotal /proc/meminfo
2、查看配置的SWAP空间的大小:grep SwapTotal /proc/meminfo
3、查看/tmp目录下,可用的磁盘空间:df -k /tmp
如果/tmp目录下的磁盘空间不够,可以使用以下步骤:从/tmp目录中删除不必要的文件以满足空间需求;在设置oracle用户的环境时,设置TMP和TMPDIR环境变量;扩展包含/tmp目录的文件系统
4、查看系统中的空闲磁盘空间:df -k
5、查看处理器的类型,以安装正确的版本:grep "model name" /proc/cpuinfo

二、检查软件需求
1、查看操作系统的版本:cat /etc/issue
2、产看操作系统的内核版本:uname -r
3、查看需要的安装包时候已经被正确的安装:rpm -q package_name

三、检查网络配置
一般情况下,安装数据库的电脑已经被连接到了网络,有本地的存储,有显示器,有CD-ROM或者DVD驱动器。
1、配置名字解析
当我们运行OUI(oracle universal installer)的时候,如果名字解析没有被设置,可能会报错。为了避免这个错误,在开始安装前,我们要确定,主机名仅仅通过/etc/hosts文件来被解析
为了确认主机名只通过/etc/hosts文件来解析:
通过检查nsswitch.conf文件中的主机文件条目,来查看/etc/hosts文件时候被用于名字解析:
cat /etc/nsswitch.conf | grep hosts
使用hostname命令来确认,主机名已经被设置:hostname;命令的输出应该类似:myhost.mycount.com
使用domainname命令,来确认域名没有被动态设置:domainname;使用这个命令应该不输出任何结果
确认主机文件包含完整主机名(fully qualified host name),可以使用如下命令:cat /etc/hosts | grep 'eval hostname'
这个命令的输出应该包含一个本地主机的完整主机名。例如:
192.168.100.16 myhost.us.mycompany.com myhost
127.0.0.1 localhost localhost.localdomain
如果主机文件中没有包含完整主机名,那么打开这个文件,做必要的修改。
2、在多网卡的电脑上安装(installing on multihomed computers)
因为改电脑上绑定了多个IP,每个IP地址对应了一个主机名,此外,我们可以为主机名设置别名。默认情况下,OUI使用ORACLE_HOSTNAME环境变量的设置来寻找主机名,如果在多网卡的电脑上安装oracle,同时没有设置ORACLE_HOME,这个时候,OUI会将/etc/hosts文件中的第一个条目作为主机名。
注:必须保证,客户端能够通过主机名或者是主机名的别名来访问到电脑,可以通过从客户端电脑上使用短名字(仅仅主机名)和全名(主机名和域名)来ping服务器,这个两种都应该是成功的。
使用下面的方法来设置ORACLE_HOSTNAME环境变量:
例如,如果完整主机名(fully qualified hostname)是somehost.us.acme.com,那么输入下面的命令:
ORACLE_HOSTNAME=somehost.us.acme.com
export ORACLE_HOSTNAME
注:如果一个电脑只有一个IP地址,但是有多个别名,名字解析服务会将这些别名中的任何一个解析到同一个电脑上,在这种电脑上安装数据库之前,将ORACLE_HOSTNAME环境变量设置成我们想使用的主机名。

四、创建需要的操作系统用户组和用户
根据是否是第一次在这个系统上安装数据库,我们可能需要创建几个用户组和用户:
OSDBA用户组(dba):如果是第一次在这个系统上安装数据库,我们必须创建这个用户组,它定义了拥有数据库管理权限(SYSDBA权限)的用户账户。这个组的默认名字是dba。如果我们想自定义组名,而不是使用默认的组名,我们必须选择自定义安装类型,来安装软件,或者使用一个不是dba用户组(即非默认用户组)的用户,来打开OUI。在这种情况下,OUI会提示你指定这个组的组名。
OSOPER用户组(oper):这是一个可选的组,如果我们想创建一个拥有某些被限制了的数据库管理权限(SYSOPER权限)的用户组。默认情况下,OSDBA用户组中的成员也拥有OSOPER权限。
没有权限的用户(unprivileged user):必须确认有无权限用户nobody的存在,并且在安装完成以后,必须保证这个nobody用户拥有外部工作的运行能力(the nobody user must own the extenal jobs executable)
接下来创建安装时使用的操作系统用户组和用户:
oracle目录组(the oracle inventory group oinstall):如果第一次安装数据库,那必须创建这个用户组。这个用户组通常的名字是oinstall,这个组拥有oracle的详细目录(inventory),这是安装到系统中的所有oracle软件的目录(catalog)
注:如果系统中已经安装了oracle软件,已经存在的oracle目录组必须是我们用来安装新oracle软件的主要用户组。
oracle软件拥有着用户(一般是oracle):第一次安装oracle软件时,必须创建这个用户。这个用户是在安装过程中,所有安装软件的所有者。这个用户必须将oracle目录组作为自己的主组,它也必须使用OSDBA和OSOPER组作为自己的非主组(secondary group)
注:在第一次安装完成以后,我们可以使用相同的oracle目录组来进行别的oracle软件的安装,也可以创建别的用户组来进行安装。我们可以为系统中的每个数据库创建一个用户组,也可以为系统中的所有数据库创建同一个用户组来进行安装。
1、创建oracle目录组(oracle inventory group)
在系统中第一次安装oracle软件时,OUI会创建oraInst.loc文件,这个文件定义了oracle目录组的名字以及oracle目录的路径(oracle inventory directory)。使用命令:more /etc/oraInst.loc来检查oracle目录组是否存在。如果这个命令的输出显示了oinstall组名,那么这个组已经存在。如果oraInst.loc文件已经存在,那么这个命令的输出类似:
inventory_loc=/u01/app/oracle/oraInventory
inst_group=oinstall
inst_group参数的值显示了oraclen inventory 组的名字是oinstall
如果oraInst.loc文件不存在,使用下面命令创建oracle inventory用户组:
/usr/sbin/groupadd oinstall
2、创建OSDBA用户组
在下面情况(circumstances)下,我们必须创建一个OSDBA用户组:
不存在OSDBA用户组,例如这是我们第一次安装数据库软件
OSDBA用户组存在,但是我们想在一个新的安装过程中,给操作系统的另一个用户组数据库管理权限。
如果OSDBA用户组不存在,我们需要创建一个用户组,使用下列命令,除非dba用户已经存在,否则应该使用dba作为OSDBA用户组的组名:/usr/sbin/groupadd dba
3、创建OSOPER用户组(可选)
如果我们想创建一个用户部分数据库管理权限(a limited set of database administrative privilege (SYSOPER operator privilege))的用户组时,我们可以创建OSOPER用户组。对大部分的安装而言,只创建OSDBA组,是比较有效率的。如果我们想使用OSOPER用户组,一般在下面情况下,需要创建OSOPER用户组:
如果一个OSOPER用户组不存在,例如,这是第一次在系统上安装数据库软件
如果一个OSOPER用户组存在,但是我们想在一个新的ORACLE安装过程中,给别的用户组数据库操作权限。
如果需要一个新的OSOPER用户组,使用下列命令创建,同样的,应该使用oper作为组名,除非这个名字已经被占用:/usr/sbin/groupadd oper
4、创建oracle软件拥有者用户
在下列情况下,我们必须创建oracle软件拥有者用户:
如果oracle软件拥有者用户不存在,例如这是我们第一次安装
如果oracle软件拥有者用户存在,但想在一个新的oracle安装过程中使用不同的用户。
为了检查oracle软件拥有者用户oracle是否存在,输入命令:id oracle
如果oracle用户存在,那么这个命令的输出会类似下面的情况:
uid=440(oracle) gid=200(oinstall) groups=201(dba),202(oper)
如果用户存在,决定是否想使用已经存在用户或者重新创建一个oracle用户。如果想使用已经存在的用户,确定这个用户的主组是oracle inventory用户组,并且这个用户是OSDBA和OSOPER用户组的一员。
注:在修改一个已经存在的用户的时候,要确认不要产生其他的问题。
创建一个oracle软件拥有者用户:
如果该用户不存在,我们需要创建一个新的oracle软件拥有者用户,尽量使用oracle作为用户名,除非已经存在。
创建oracle用户,输入以下命令:
/usr/sbin/useradd -g oinstall -G dba[,oper] oracle
注:因为oper是可选的。这个命令可以为:
/usr/sbin/useradd -g oinstall -G dba oracle 或
/usr/sbin/useradd -g oinstall -G dba,oper oracle(多个值时,用逗号进行分隔)
注:-g选项制定主组。-G指定非主组(secondary group)
为oracle用户设定密码:passwd oracle
修改oracle软件拥有者用户
如果oracle用户存在,但是它的主组不是oinstall,或者它不是OSDBA或者OSOPER组的一员,我们可以使用命令来进行修改:
/usr/sbin/usermod -g oinstall -G dba[,oper] oracle
五、确认用户nobody的存在
1、在安装软件前,确认nobody用户的存在:
使用命令:
id nobody
来确认该用户是否存在,如果这个命令的输出中有关于这个用户的信息,那么不必创建这个用户
2、如果nobody用户不存在,那么使用下面的命令来创建:
/usr/sbin/useradd nobody

没有评论:

发表评论