xiayu 发表于 2018-9-23 06:38:09

在CentOS Linux上安装oracle11g

  在CentOS Linux上安装oracle11g之一 CentOS简介

    CentOS与Red Hat 的关系
  CentOS(Community Enterprise Operating System)是在2003年Red Hat决定不再提供免费的技术支持及产品认证之后的部份"红帽重建者"之一。
  CentOS依据Red Hat Enterprise Linux(以下简称RHEL)按照开源许可规定所放出的源代码编译而成,它是RHEL的100%兼容的重新组建,并完全符合Red Hat的再发行要求与RHEL的不同之处在于CentOS不包含封闭代码。
  
  CentOS如何产生
  CentOS社区将Redhat的网站上的所有源代码下载下来,进行重新编译。重新编译后,由于RHEL是商业产品,必须将所有Redhat的Logo和标识改成自己的CentOS标识。比如将RHEL5.2原版的SRPM源码编译后,就成为了CentOS 5.2。而且在 RHEL 的基础上修正了不少已知的 Bug ,相对于其他 Linux 发行版,其稳定性值得信赖。
  
  CentOS所针对的用户
  典型的CentOS用户包括这样一些组织和个人,不需要专门的商业支持就能开展成功的业务。CentOS面向那些需要企业级操作系统稳定性的人们,而且并不涉及认证和支持方面的开销。
  
  CentOS的优势:
  1、CentOS完全免费,不存在RHEL需要序列号的问题。
  2、CentOS独有的yum命令支持在线升级,可以即时更新系统,不像RHEL那样需要花钱购买支持服务!
  3、CentOS修正了许多RHEL的BUG!
  4、CentOS与RHEL相同的性能和感受.
  5、CentOS适用于对稳定性有严格要求的场合。
  CentOS的劣势:
  CentOS不提供技术相关支持.
  在CentOS Linux上安装oracle11g之二 安装oracle11g
  现有机器配置:
  CPU:英特尔双核1.8G
  内存:3G
  硬盘:220G
  安装前硬件准备建议:
  Swap分区必须要3G以上,最好在安装CentOS5.2时就分配好3G以上的空间.
  硬盘不少于10G吧
  安装前软件准备建议:
  CentOS5.2
  Oracle11g linux版
  在安装CentOS时尽量多的安装与程序开发相关的程序包,这样可以免去后面需要单个查找安装程序包的麻烦.
  在安装过程中涉及的几个文件位置及用途
  /etc/sysctl.conf    (修改内核参数)
  /etc/security/limits.conf    (shell对oracle用户的限制)
  /etc/profile   (系统相关的环境变量)
  /opt/oracle/.bash_profile (oracle用户相关的环境变量)
  第一步:创建oracle安装相关用户组及用户:
  安装oracle必须先创建oinstall,dba组和oracle用户,这点与windows不同,在windows上安装oracle会自动创建的这些用户组和用户的.
  创建用户组和用户的命令如下(用root身份):
   groupadd oinstall
   groupadd dba
   useradd –m –d /opt/oracle –g oinstall –G dba oracle
  groupadd oinstall 是创建用户组,用来做oracle的安装和维护工作
  useradd 是创建用户
  -m –d /opt/oracle 是把/opt/oracle目录作为oracle用户的主目录或登录默认目录
  –g oinstall 是表示oracle用户的初始组为oinstall
  –G dba 是表示oracle用户同时属于dba组,做数据维护,和数据库管理工作.
  创建oracle用户的密码:命令如下
   passwd oracle
  根据提示,输入2次密码就可以了.
  为了让oinstall用户组对oracle安装目录有写权限,需要做如下修改
   chmod –R 775 /opt/oracle
  第二步:修改内核参数
  如果内核参数配置的不对,在”产品特定先决条件检查”中也会被检测出来,也需要修改内核参数.在/etc/sysctl.conf中做如下修改.
  net.ipv4.ip_forward = 0
  net.ipv4.conf.default.rp_filter = 1
  net.ipv4.conf.default.accept_source_route = 0
  kernel.sysrq = 0
  kernel.core_uses_pid = 1
  net.ipv4.tcp_syncookies = 1
  kernel.msgmnb = 65536
  kernel.msgmax = 65536
  kernel.shmmax = 4294967295
  kernel.shmall = 268435456
  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=4194304
  net.core.wmem_default=4194304
  net.core.rmem_max=4194304
  net.core.wmem_max=4194304
  配置完成后,执行下面的命令,使配置立刻生效:
   /sbin/sysctl –p /ect/sysctl.conf
  第三步: 设置Shell对于oracle用户的限制:
  这一步需要修改/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
  设置oracle用户的文件权限掩码,并添加特殊的shell限制,通过配置/etc/profile完成,在后面追加如下内容
  if [$USER = "oracle"]; then
  if [$SHELL = "/bin/ksh"]; then
  ulimit -p 16384
  ulimit -p 65536
  else
  ulimit -u 16384 -n 65536
  fi
  umask 022
  fi
  注意:
  在vi中添加和图形编辑器中添加的区别,如果是在vi中添加,需要在$USER前面加上转义字符”\”,变成 if [\$USER = "oracle"]; then
  第四步:设置oracle相关环境变量:
  以oracle用户身份登录,修改当前用户下的.bash_profile(这是用户主目录下的一个隐藏文件)
  ORACLE_BASE=/opt/oracle;export ORACLE_BASE
  ORACLE_HOME=/opt/oracle/app/oracle/product/11.1.0/db_1; export ORACLE_HOME(注意:这个2行应该在一行中)
  ORACLE_SID=orcl;export ORACLE_SID
  PATH=$PATH:$HOME/bin;$ORACLE_HOME/bin;export PATH
  第五步:安装oracle11g及相关命令:
  Linux拷贝命令:
  cp linux_11gR1_database_1013.zip /home/ oracle/
  改变用户命令:
  chown oracle linux_11gR1_database_1013.zip
  把下载的oracle11g(linux_11gR1_database_1013.zip)解压到一个任意目录
  解压缩zip文件命令:
  unzip linux_11gR1_database_1013.zip
  到解压缩后的database目录下,找到 Runinstaller文件,进行安装前检查,在终端中运行./Runinstaller,就会出现如下的画面(如果是非GUI环境,则不会出现下面画面,只有文字描述,意思是一样的):
  在CentOS Linux上安装oracle11g之三 配置oracle11g服务
  在这个过程中需要设计的几个文件:
  文件1:$ORACLE_HOME/bin/dbstart
  文件2:$ORACLE_HOME/bin/dbshut
  文件3:/etc/oratab(需要自己从$ORACLE_HOME/install/目录下拷贝)
  文件4:/etc/rc.d/oracle11g(需要自己创建)
  CentOS中Oracle11g安装完毕以后,如果重新启动Linux ,Oracle是不会自动启动的,我们可以通过手动调用dbstart命令来进行启动。我们可以通过配置Oracle的自动启动脚本,然后利用CentOS的Service来启动Oracle服务器。
  文件1:
  Oracle11g安装完成后,提供dbstart,dbshut两个服务控制脚本,用来控制oracle的启动与关闭.
  dbstart文件受/etc/oratab控制
  dbstart文件只能启动/etc/oratab文件中第三列为Y的SID
  修改dbstart文件中ORACLE_HOME_LITENER,修改了dbstart文件中ORACLE_HOME_LITENER=${ORACLE_HOME}后,可以手动运行dbstart文件,来测试是否可以正确启动oracle11g
  用法:./dbstart $ORACLE_HOME 就可以启动oracle11g
  文件2:
  不必修改
  用法:./dbshut $ORACLE_HOME 就可以关闭oracle11g
  文件3:
  /etc/oratab文件内容
  #SID;ORACLE_HOME;是否自动启动标志位
  orcl; orcl:/opt/oracle/app/oracle/product/11.1.0/db_1:Y
  文件4:
  首先以root身份在/etc/rc.d/init.d/目录下创建Oracle11g的服务文件。
  touch oracle11g
  chmod a+x oracle11g
  然后修改这个文件内容如下:
  # !/bin/bash
  # whoami
  # root
  # chkconfig: 345 51 49
  # description: starts the oracle dabase deamons
  #
  #ORACLE_HOME=/opt/oracle
  ORACLE_OWNER=oracle
  ORACLE_DESC="Oracle 11g"
  ORACLE_LOCK=/var/lock/subsys/oracle11g
  case "$1" in
  'start')
  echo -n \"Starting ${ORACLE_DESC}:\"
  runuser - $ORACLE_OWNER -c '$ORACLE_HOME/bin/lsnrctl start'
  runuser - $ORACLE_OWNER -c '$ORACLE_HOME/bin/dbstart'
  runuser - $ORACLE_OWNER -c '$ORACLE_HOME/bin/emctl start dbconsole'
  touch ${ORACLE_LOCK}
  echo
  ;;
  'stop')
  echo -n "shutting down ${ORACLE_DESC}: "
  runuser - $ORACLE_OWNER -c '$ORACLE_HOME/bin/lsnrctl stop'
  runuser - $ORACLE_OWNER -c '$ORACLE_HOME/bin/dbshut'
  rm -f ${ORACLE_LOCK}
  echo
  ;;
  'restart')
  echo -n "restarting ${ORACLE_DESC}:"
  $0 stop
  $0 start
  echo
  ;;
  *)
  echo "usage: $0 { start | stop | restart }"
  exit 1
  esac
  exit 0
  注意:
  从CentOS4开始如同RHEL一样采用了runuser命令,在以前版本,一般采用su命令,由于RHEL4的安全功能,使得su在自动执行过程中需要手工干涉,不再适合自动运行.
  就可以远程通过IE访问oracle11了

页: [1]
查看完整版本: 在CentOS Linux上安装oracle11g