设为首页 收藏本站
查看: 1193|回复: 0

[经验分享] Oracle在Linux平台下的安装(一)

[复制链接]

尚未签到

发表于 2018-9-22 14:54:55 | 显示全部楼层 |阅读模式
  Oracle作为业界非常知名的数据库产品,在企业中得到了普遍的应用。使用软件的第一步是成功安装软件。本例以Oracle在Linux平台下的安装为例,所装版本为Oracle 10g。

1. 安装前的准备

1.1 检查硬件需求
  (1)物理内存至少1GB
  (2)虚拟内存(SWAP空间)根据物理内存的大小需求如下
   DSC0000.png
  (3)/tmp目录至少需要400MB的硬盘空间

(4)根据不同的安装类型,安装Oracle数据库的分区至少要有1.5GB-3.5GB的空闲磁盘空间。   DSC0001.png
  (5)确认硬件平台和oracle版本(有32位和64位)匹配

1.2 检查软件需求
  (1)操作系统平台
  目前Oracle只在以下Linux平台上测试过:
DSC0002.png

  由于在后面安装Oracle时,会检查系统版本号,为了避免检测通不过,最好修改为4.4
  方法:修改/etc/issue文件
  [root@oracle ~]# cat /etc/issue
  Red Hat Enterprise Linux Server>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 ~]#>
  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  

DSC0003.png

  

(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           >

/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平台下的安装(二),不足之处请大家多指正。



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-599996-1-1.html 上篇帖子: 完全删除 oracle 11g 下篇帖子: 什么是Oracle主机字符串?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表