zhangsanfeng88 发表于 2018-9-22 14:54:55

Oracle在Linux平台下的安装(一)

  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文件
  # cat /etc/issue
  Red Hat Enterprise Linux Server>4.4 (Tikanga)
  Kernel \r on an \m
  (2)内核版本
  推荐在2.4以后的版本上安装
  # 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-develglbic-headers libgcc libXp libXt libXtst libaio libaio-devel libgcc libstdc++ libstdc++-devellibgomp 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文件中添加名称解析
  # cat /etc/hosts
  # Do not remove the following line, or various programs
  # that require network functionality will fail.
  192.168.60.20    oracle.hanvic.comoracle
  127.0.0.1       localhost.localdomain localhost
  确保和使用hostname命令看到的结果是一样的
  # hostname
  oracle.hanvic.com
  
(2)保证NIS域为空
  # domainname
  (none)

1.4 创建安装Oracle所需要的用户和组
  # groupadd oinstall
  # groupadd dba
  # groupadd oper
  # useradd -g oinstall -G dba,oper oracle
  并为oracle用户设置口令
  # passwd oracle
  查询是否存在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    nofile1024
  oracle            hard    nofile65536
  (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命令进行挂载
# df -h
Filesystem         >
/dev/sda3             6.7G4.8G1.7G75% /
/dev/sda1            99M   12M   83M13% /boot
tmpfs               501M   0501M   0% /dev/shm
/dev/hdc            3.4G3.4G   0 100% /media/RHEL_5.4 x86_64 DVD
/dev/sdb1             4.6G138M4.3G   4% /u01
/dev/sdb3             2.4G   68M2.2G   3% /u02dv
(2)修改u01的所属主和所属组分别为oracle和oinstall,权限为775
# chown oracle:oinstall /u01 /u02
# chmod 775 /u01 /u02
(3)切换到oracle用户,创建安装oracle的所需的目录结构
# su - oracle
$ mkdir -pv /u01/app/oracle/product/10.2.0/db_1/
$ mkdir -pv /u02/oradata
$ 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)使用下面的命令使设置生效
  $ source .bash_profile
  
  (3)在UNIX/Linux环境下,需要为DISPLAY环境变量设置一个合适的值,并在通过runInstall脚本启动oracle安装程序之前激活xhost
  # xhost + (#允许任何人任何主机在本地主机显示图形窗口)
  access control disabled, clients can connect from any host
  # DISPLAY=192.168.60.90:0.0;export DISPLAY
  # su - oracle
  $ DISPLAY=192.168.60.90:0.0;export DISPLAY
  俗话说,磨刀不误砍柴功,安装环境准备好了,这样大功就一半了,接下来就让我们这享受这安装的过程吧,请参阅Oracle在Linux平台下的安装(二),不足之处请大家多指正。


页: [1]
查看完整版本: Oracle在Linux平台下的安装(一)