Oracle作为业界非常知名的数据库产品,在企业中得到了普遍的应用。使用软件的第一步是成功安装软件。本例以Oracle在Linux平台下的安装为例,所装版本为Oracle 10g。
1. 安装前的准备
1.1 检查硬件需求
(1)物理内存至少1GB
(2)虚拟内存(SWAP空间)根据物理内存的大小需求如下
(3)/tmp目录至少需要400MB的硬盘空间
(4)根据不同的安装类型,安装Oracle数据库的分区至少要有1.5GB-3.5GB的空闲磁盘空间。(5)确认硬件平台和oracle版本(有32位和64位)匹配
1.2 检查软件需求 (1)操作系统平台 目前Oracle只在以下Linux平台上测试过:
由于在后面安装Oracle时,会检查系统版本号,为了避免检测通不过,最好修改为4.4
方法:修改/etc/issue文件
[root@oracle ~]# cat /etc/issue
Red Hat Enterprise Linux Server release 4.4 (Tikanga)
Kernel \r on an \m
(2)内核版本
推荐在2.4以后的版本上安装
[root@oracle ~]# uname -r
2.6.18-164.el5
(3)安装所依赖的软件包
Oracle 10g所依赖的软件列表如下:
binutils
compat-db
compat-gcc-34
compat-gcc-34-c++
compat-libstdc++-33
compat-libstdc++
gcc
gcc-c++
glibc
glibc-common
glibc-devel
glbic-headers
libgcc
libXp
libXp-devel
libXt
libXtst
libaio
libaio-devel
libgcc
libstdc++
libstdc++-devel
libgomp
make
numactl-devel
sysstat
建议通过yum服务安装所需要的依赖软件包,可以自动解决软件包之间的依赖关系。
yum -y install binutils compat-db compat-gcc-34 compat-gcc-34-c++ compat-libstdc++-33 compat-libstdc++ gcc gcc-c++ glibc glibc-common glibc-devel glbic-headers libgcc libXp libXt libXtst libaio libaio-devel libgcc libstdc++ libstdc++-devel libgomp make numactl-devel sysstat
注意在64位平台下不要忽略安装32位的软件包,否则可能会报错:
/tmp/OraInstall2012-01-07_01-03-21AM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory
1.3 检查主机网络设置
(1)配置名称解析
在/etc/hosts文件中添加名称解析
[root@oracle ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
192.168.60.20 oracle.hanvic.com oracle
127.0.0.1 localhost.localdomain localhost
确保和使用hostname命令看到的结果是一样的
[root@oracle ~]# hostname
oracle.hanvic.com
(2)保证NIS域为空
[root@oracle ~]# domainname
(none)
1.4 创建安装Oracle所需要的用户和组
[root@oracle ~]# groupadd oinstall
[root@oracle ~]# groupadd dba
[root@oracle ~]# groupadd oper
[root@oracle ~]# useradd -g oinstall -G dba,oper oracle
并为oracle用户设置口令
[root@oracle ~]# passwd oracle
查询是否存在nobody用户,如不存在,需要添加。
[root@oracle ~]# id nobody
uid=99(nobody) gid=99(nobody) groups=99(nobody)
1.5 配置内核参数
(1)编辑/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
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144
完成后保存退出,并执行sysctl –p 命令使之生效
这些内核参数的含义是:
kernel.shmall = 2097152
# 表示系统一次可以使用的共享内存总量(以页为单位),缺省值就是2097152,通常不需要修改。
kernel.shmmax = 2147483648
# 该参数定义了共享内存段的最大尺寸(以字节为单位)。缺省为32M,对于oracle来说,通常将其设置为2G
kernel.shmmni=4096
# 整个系统共享内存段的最大数量,该参数的默认值是4096 ,通常不需要更改
kernel.sem = 250 32000 100 128
# 每个信号对象集的最大信号对象数
# 系统范围内最大信号对象数
# 每个信号对象支持的最大操作数
# 系统范围内最大信号对象集数
fs.file-max = 65536
# 系统中所允许的文件句柄最大数目
net.ipv4.ip_local_port_range = 1024 65000
# 应用程序可使用的端口范围
net.core.rmem_default = 10485
# 套接字接收缓冲区大小的默认值
net.core.rmem_max = 1048576
# 套接字接收缓冲区大小的最大值
net.core.wmem_default = 262144
# 套接字发送缓冲区大小的默认值
net.core.wmem_max = 262144
# 套接字发送缓冲区大小的最大值
(2)为Oracle用户设置shell限制
编辑/etc/security/limits.conf文件,添加如下内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
(3)修改登录认证模块
编辑/etc/pam.d/login文件,添加如下内容:
session required /lib/security/pam_limits.so
session required pam_limits.so
(4)修改系统环境变量文件/etc/profile,添加如下内容:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
1.6 标识Oracle所需要的目录
(1)Oracle基本目录(oracle_base)
/mount_point/app/oracle_sw_owner,例如
/u01/app/oracle
(2)oracle的Home Directory
主要用于区分不同的oracle版本,oracle推荐你采用以下的目录结构
oracle_base/product/10.2.0/db_1
(3)为了提高oracle数据库的性能和可靠性,建议把Oracle的数据库文件目录和恢复文件目录放在不同的文件系统,推荐使用下面的目录结构
- Database file directory:
# mkdir /mount_point/oradata
# chown oracle:oinstall /mount_point/oradata
# chmod 775 /mount_point/oradata
- Recovery file directory (flash recovery area):
# mkdir /mount_point/flash_recovery_area
# chown oracle:oinstall /mount_point/flash_recovery_area
# chmod 775 /mount_point/flash_recovery_area
1.7 创建Oracle所需要的目录及设置目录属主和权限
本例中的安排如下:
(1)创建挂载点u01,将sdb1挂载到u01目录下(安装目录),将sdb3挂载到u02目录下(数据库文件目录和恢复文件目录)。如要实现开机挂载,可以在/etc/fstab文件中添加以下语句:
/dev/sdb1 /u01 ext3 defaults 0 0
/dev/sdb3 /u02 ext3 defaults 0 0
然后使用mount –a命令进行挂载
[root@oracle ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 6.7G 4.8G 1.7G 75% /
/dev/sda1 99M 12M 83M 13% /boot
tmpfs 501M 0 501M 0% /dev/shm
/dev/hdc 3.4G 3.4G 0 100% /media/RHEL_5.4 x86_64 DVD
/dev/sdb1 4.6G 138M 4.3G 4% /u01
/dev/sdb3 2.4G 68M 2.2G 3% /u02dv
(2)修改u01的所属主和所属组分别为oracle和oinstall,权限为775
[root@oracle ~]# chown oracle:oinstall /u01 /u02
[root@oracle ~]# chmod 775 /u01 /u02
(3)切换到oracle用户,创建安装oracle的所需的目录结构
[root@oracle ~]# su - oracle
[oracle@oracle ~]$ mkdir -pv /u01/app/oracle/product/10.2.0/db_1/
[oracle@oracle ~]$ mkdir -pv /u02/oradata
[oracle@oracle ~]$ mkdir -pv /u02/flash_recovery_area
1.8 设置Oracle用户的环境变量
(1)切换至Oracle用户,编辑家目录下的.bash_profile文件,添加以下内容
PATH=$PATH:$HOME/bin:/u01/app/oracle/product/10.2.0/db_1/bin
export PATH
umask 022
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
ORACLE_SID=ORCL
export ORACLE_BASE ORACLE_HOME ORACLE_SID
(2)使用下面的命令使设置生效
[oracle@oracle ~]$ source .bash_profile
(3)在UNIX/Linux环境下,需要为DISPLAY环境变量设置一个合适的值,并在通过runInstall脚本启动oracle安装程序之前激活xhost
[root@oracle ~]# xhost + (#允许任何人任何主机在本地主机显示图形窗口)
access control disabled, clients can connect from any host
[oracle@oracle ~]# DISPLAY=192.168.60.90:0.0;export DISPLAY
[root@oracle ~]# su - oracle
[oracle@oracle ~]$ DISPLAY=192.168.60.90:0.0;export DISPLAY
俗话说,磨刀不误砍柴功,安装环境准备好了,这样大功就一半了,接下来就让我们这享受这安装的过程吧,请参阅Oracle在Linux平台下的安装(二),不足之处请大家多指正。
本文出自 “轻舞飞扬” 博客,请务必保留此出处http://xiaofeixia.blog.51cto.com/521300/775987