页面

2011年3月15日星期二

在Redhat Enterprise Edition 4中安装Oracle 10G

今天在Redhat 4 企业版中安装了oracle 10g,一次通过!
其实在Linux 和Solaris系统中安装oracle 并不难,只是比较繁琐,而且安装说明都是英文,很多同学看到英文就头疼。
其实,oracle的安装说明很详尽,也很易懂!只要你耐住性子安装安装说明一步步来,相信肯定可以成功的!
好废话不说了,下面写下我在Redhat 4企业版中安装Oracle 10g的过程以供参考!
第一步,肯定是下载Oracle 10g 啦,这个可以在Oracle的官网下载,要选择适合自己系统的包来下载,我这里下载的是rpm包!

第二步,以root用户登入系统,检查系统是否符合安装要求。
oracle 10g 安装要求最低要有1024M的物理内存。
以下是oracle 10g的安装要求:
物理内存 swap分区最低要求
1024M~2048M 两倍物理内存
2049M~8192M 和物理内存等同大小
大于8192M 0.75倍物理内存

/tmp 至少要有400M大小。
至少要有1.5GB~3.5GB的磁盘空间用于安装oracle 软件。
至少要有1.2GB的磁盘空间用于oracle数据存储。

如果不确定自己系统的内存等硬件是否满足安装要求可以用以下命令查看。
查看物理内存大小
#grep MemTotal /proc/meminfo
查看swap分区大小
#grep SwapTotal /proc/meminfo
多少内存可以使用
# free
查看/temp空间大少
#df -k /tmp
要是/tmp所在的分区空间不足400MB,可以在别的有足够空间的分区创建临时目录,后面会提到。

查看硬盘空间:
#df -k
查看cpu架构,Oracle针对AMD64和Intel 32bit x86有不同的安装程序。
#grep "mode name" /proc/cpuinfo


第三步,查看软件要求,在安装oracle之前确保以下软件包已经安装在系统。
make-3.79.1
gcc-3.2.3-34
glibc-2.3.2-95.20
compat-db-4.0.14-5
compat-gcc-7.3-2.96.128
compat-gcc-c++-7.3-2.96.128
compat-libstdc++-7.3-2.96.128
compat-libstdc++-devel-7.3-2.96.128
openmotif21-2.1.30-8
setarch-1.3-1
要是系统在安装的时候选择完整安装,那么一般这些包都会在安装系统的时候安装的。
使用rpm -q命令来查看包是否已安装,例如:
#rpm -q make
查看make是否已经安装,查看是要看清版本号,版本号要大于等于以上列出的版本号。
针对以下包:
compat-gcc-7.3-2.96.128
compat-gcc-c++-7.3-2.96.128
compat-libstdc++-7.3-2.96.128
compat-libstdc++-devel-7.3-2.96.128
会有些不同,要是你的系统是x86 32bit的,一般会带有32字样。如
compat-gcc-7.3-2.96.128包名会是 compat-gcc-32-7.3-2.96.128。
要是发现自己的系统有些包没有安装,系统碟里一般会有这些包,那系统碟找到对应的包安装就可以了。
要是没有系统碟,可以上网下载(一些包如compat-gcc-7.3-2.96.128,compat-gcc-c++-7.3-2.96.128,
compat-libstdc++-7.3-2.96.128,compat-libstdc++-devel-7.3-2.96.128我在晚上找了很久都没找到。
哪位仁兄找到了可以贴个网站出来,谢谢!)

安装oracle扩展插件的时候还需要安装别的包。
Oracle Messaging Gateway需要安装以软件:
IBM WebSphere MQ v5.3客户端以及服务器端。
TIBCO Rendezvous 7.2

第四步,创建用户及相关的组。
安装前要创建以下用户以及用户组。
oinstall组
dba组
oracle用户
nobody用户

检验是否存在oinstall组可以使用以下命令。
#more /etc/oraInst.loc
要是用户组存在一般会有类似以下的输出:
inventory_loc=/u01/app/oracle/oraInventory
inst_group=oinstall

检验dba组是否存在,可以使用以下命令:
# grep dba /etc/group

如果用户组不存在可以使用以下命令来创建以上两个用户组:
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba

检验oracle用户是否存在,使用以下命令
#id oracle
要是存在会有该用户的相关信息的输出,以下是个输出实例:
uid=440(oracle) gid=200(oinstall) groups=201(dba),202(oper)

要是oracle用户存在但不属于oinstall组或不是dba组的成员,可以通过以下命令修改属性:
# /usr/sbin/usermod -g oinstall -G dba oracle

要是oracle用户不存在,通过以下命令创建:
# /usr/sbin/useradd -g oinstall -G dba oracle
然后添加密码
#passwd oracle

检验nobody用户是否存在,使用以下命令。
#id nobody
要是不存在就创建用户
# /usr/sbin/useradd nobody

第五步,修改内核参数。
oracle安装手册说明了各个参数如何查看,在这里不说了。只说明如何修改这些参数:
使用vi或gedit等其他文字编辑器在/etc/sysctl.conf文件后添加以下内容:
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
rmem_default = 262144
rmem_max = 262144
wmem_default = 262144
wmem_max = 262144

系统重启后参数才生效。


为oracle用户设定shell限制

在/etc/security/limits.conf 后添加以下内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

在/etc/pam.d/login文件后添加以下内容:
session required /lib/security/pam_limits.so
要是该条目已存在,不用添加。

在/etc/profile下添加以下内容:
BShell或KShell
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi

Cshell:
if ( $USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
endif


第六步,创建安装目录。
使用以下命令创建安装目录以及更改目录的拥有者和权限:
# mkdir -p /mount_point/app/oracle_sw_owner
# chown -R oracle:oinstall /mount_point/app/oracle_sw_owner
# chmod -R 775 /mount_point/app/oracle_sw_owner

目录例子:
/opt/app/oracle

第七步,设置oracle用户的环境变量
切换到oracle用户
#su - oracle

查看oracle默认shell:
$ echo $SHELL

编辑.profile
在.profile文件末尾添加
umask 022
如果.profile里有ORACLE_SID, ORACLE_HOME, ORACLE_BASE这些变量,请删除!

保存文件.profile。
使.profile生效:
$ . ./.profile

以上.profile是针对redhat的Bourne shell的,要是是bash修改的文件是 .bash_profile 
Cshell 修改的文件是 .login


要是/tmp 所在分区可用空间不足400M,使用以下命令创建tmp目录:
$ su - root
# mkdir /mount_point/tmp
# chmod a+wr /mount_point/tmp
# exit

目录实例:/home/oracle/temp
切换到oracle用户,把刚刚创建的目录写到环境变量里。
Bourne, Bash, or Korn shell:
#su - oracle
$ TEMP=/directory
$ TMPDIR=/directory
$ export TEMP TMPDIR

C shell:
#su - oracle
% setenv TEMP /directory
% setenv TMPDIR /directory


实例:
$ TEMP=/home/oracle/temp
$ TMPDIR=/home/oracle/temp
$ export TEMP TMPDIR


确保ORACLE_HOME和TNS_ADMIN不存在:
Bourne, Bash, or Korn shell:


$ unset ORACLE_HOME
$ unset TNS_ADMIN

C shell:

% unsetenv ORACLE_HOME
% unsetenv TNS_ADMIN



第八步,安装Oracle软件。


使用oracle用户登入系统。
运行runInstaller:
进入runInstaller所在目录,执行以下命令:
$./runInstaller

如无意外,安装很快就会完成!
要是不能出现安装界面,请参考oracle安装说明中有关Xwindow的内容。
不过这种情况一般出现在远程安装中,在本地安装很少出现!

希望你能顺利完成安装……!

1 条评论: