zoukankan      html  css  js  c++  java
  • centOS 6.2 x64系统上安装 oracle 11g R2 x64

    1、首先到官网上下载oracle 11g x64位软件包

    下载地址:

         http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_1of2.zip

         http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_2of2.zip

    2、安装包检测及安装

    [root@struggle ~]# rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc- gcc-c++ libaio-devel libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh

     其中要安装几个32位的包:

        binutils

      compat-libstdc++

      compat-libstdc++(32 bit)

      elfutils-libelf

      elfutils-libelf-devel

      gcc

      gcc-c++

      glibc

      glibc(32 bit)

      glibc-common

      glibc-devel

      glibc-devel(32 bit)

      libaio

      libaio(32 bit)

      libaio-devel

      libgcc

      libgcc (32 bit)

      libstdc++

      libstdc++ (32 bit)

      libstdc++-devel

      make

      sysstat 

    出现 Error: Protected multilib versions: libgcc-4.4.6-4.el6.x86_64 != libgcc-4.4.6-3.el6.i686或者其他冲突需先做更新:yum update libgcc

     3、查看内在及swap,对于服务器来说,肯定是没有问题的(如果安装系统时分了swap分区则可以免去这一步)

    [root@struggle ~]#  grep MemTotal /proc/meminfo
    [root@struggle ~]# grep SwapTotal /proc/meminfo

    (1)创建/home/swap分区文件。文件的大小是5120000个block,1个block为1K。

    dd if=/dev/zero of=/home/swap bs=1024 count=5120000

      (2)把这个分区变成swap分区。

    mkswap /home/swap

      (3)把它加到fstab里面

    echo "/home/swap swap swap defaults 0 0" >> /etc/fstab

     4、配置内核

    [root@struggle ~]#  vim  /etc/sysctl.conf

    # Kernel paramaters required by Oracle 11gR1 
    fs.file-max = 6815744 
    fs.aio-max-nr = 1048576 
    kernel.shmall = 2097152 
    kernel.shmmax = 2147483648 
    kernel.shmmni = 4096 
    kernel.sem = 250 32000 100 128 
    net.ipv4.ip_local_port_range = 9000 65500 
    net.core.rmem_default = 4194304 
    net.core.rmem_max = 4194304 
    net.core.wmem_default = 262144 
    net.core.wmem_max = 1048576

    保存并使之生效: [root@struggle ~]# /sbin/sysctl -p

    如果有如下提示错误,忽略!

    error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key

    error: "net.bridge.bridge-nf-call-iptables" is an unknown key

    error: "net.bridge.bridge-nf-call-arptables" is an unknown key

    注意: kernel.shmmax's 的值是物理内存的一半。

    出现提示需要安装包: pdksh-5.2.14,

    因在linux centos 6上yum找不到这个包,需手动下载安装:

    wget ftp://fr2.rpmfind.net/linux/centos/5.8/os/x86_64/CentOS/pdksh-5.2.14-37.el5.x86_64.rpm

    rpm -ivh pdksh*

    5、对oracle 帐号进行资源限制

    [root@struggle ~]# vi /etc/security/limits.conf

    oracle soft nproc 2047

    oracle hard nproc 16384

    oracle soft nofile 1024

    oracle hard nofile 65536

     

    6、登录认证配置pam模块

    [root@struggle ~]# vim /etc/pam.d/login

    session required pam_limits.so
    session required /lib/security/pam_limits.so (如果是32位系统则要加上这一句)

    7、为oracle用户在bash和ksh中设定资源限制编辑文件

    [root@struggle ~]# vim /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

    8、 创建操作系统用户,作为软件安装和支持组的拥有者

    [root@struggle ~]# groupadd oinstall 
    [root@struggle ~]# groupadd dba 
    [root@struggle ~]# useradd -g oinstall -G dba oracle 
    [root@struggle ~]# passwd oracle

    9、创建软件安装目录

    [root@struggle ~]# mkdir -p /usr/u01/app/
    [root@struggle ~]# chown -R oracle:oinstall /usr/u01/
    [root@struggle ~]# chmod -R 755 /usr/u01/

    10、设置环境变量

    [root@struggle ~]# vi /home/oracle/.bash_profile

    # .bash_profile
      
    # Get the aliases and functions
    if [ -f ~/.bashrc ]; then
        . ~/.bashrc
    fi
      
    # User specific environment and startup programs
      
    PATH=$PATH:$HOME/bin
      
    export PATH
      
    TMP=/tmp; export TMP
    TMPDIR=$TMP; export TMPDIR
    ORACLE_BASE=/usr/u01/app; export ORACLE_BASE
    ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME
    ORACLE_SID=orcl; export ORACLE_SID
    ORACLE_TERM=xterm; export ORACLE_TERM
    PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH; export PATH
    LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
    export LD_LIBRARY_PATH
    CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
    export CLASSPATH
    umask 022

    11、将下载的oracle 11g 安装包解压到/home/oracle目录下

    [root@struggle ~]# unzip linux.x64_11gR2_database_1of2.zip -d /home/oracle
      
    [root@struggle ~]# unzip linux.x64_11gR2_database_2of2.zip -d /home/oracle

    12、进入/home/oracle/database目录下检查文件是否都在

    [root@struggle database]# cd /home/oracle/database

    [root@struggle database]# ls -al

    总用量 44
    drwxr-xr-x.  8 root   root     4096  821 2009 .
    drwx------.  5 oracle oinstall 4096 12月  5 14:19 ..
    drwxr-xr-x. 12 root   root     4096  817 2009 doc
    drwxr-xr-x.  4 root   root     4096  815 2009 install
    drwxrwxr-x.  2 root   root     4096  815 2009 response
    drwxr-xr-x.  2 root   root     4096  815 2009 rpm
    -rwxr-xr-x.  1 root   root     3226  815 2009 runInstaller
    drwxrwxr-x.  2 root   root     4096  815 2009 sshsetup
    drwxr-xr-x. 14 root   root     4096  815 2009 stage
    -rw-r--r--.  1 root   root     5402  818 2009 welcome.html

    13、关闭防火墙

    [root@struggle database]#  service iptables stop

    14、安装,用oracle用户登陆

    [root@struggle database]# exit

    [struggle@struggle ~]$ su - oracle

    [oracle@struggle ~]$ cd /home/oracle/database/

    [oracle@struggle ~]$./runInstaller -jreLoc /usr/lib/jvm/java-6-sun/jre (我是用自己的JDK安装)

    第一步:填写email信息,以便得到支持(需要联网)

    第二步:选择创建并配置一个数据库

    第三步:选择服务端(看自己情况)

    第四步:选择单实例数据库安装

    第五步:选择自定义安装

    第六步:选择产品语言

    第七步:选择要安装的版本

    第八步:选择安装路径(配置环境变量进的路径)

    第九步:选择数据库实例名:orcl

    第十步:选择数据字符集:ZHS16GBK

    一路默认安装下去,到十七步的时候oracle检测必须组件,选择ignore all,这样选择安装完oracle后,oracle是可以正常工作的。

    机器太卡,传图片太慢。。。

    安装完成后进入sqlplus

    SQL> sqlplus/nolog

    SQL> conn /as sysdba

    SQL> startup

    配置开机启动:

    /usr/u01/app/product/11.2.0/dbhome_1/bin下创建一个开机启动脚本:

    [oracle@struggle dbhome_1]$ vim /usr/u01/app/product/11.2.0/dbhome_1/bin/oracledb

    #!/bin/bash
    ## /etc/init.d/oracledb
    ## Run-level Startup script for the Oracle Listener and Instances
    # It relies on the information on /etc/oratab
      
    ORACLE_BASE=/usr/u01/app 
    ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 
    export ORACLE_OWNR=oracle
    export PATH=$PATH:$ORACLE_HOME/bin
    export ORACLE_SID=orcl
    if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
    then  
      echo "Oracle startup: cannot start"  
      exit 1
    fi
    case "$1" in  
      start)        
       # Oracle listener and instance startup        
       echo -n "Starting Oracle: "        
       su $ORACLE_OWNR -c "$ORACLE_HOME/bin/lsnrctl start"        
       su $ORACLE_OWNR -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"        
       touch /var/lock/oracle        
       echo "OK"        
       ;;    
    stop)        
       # Oracle listener and instance shutdown        
         echo -n "Shutdown Oracle: "        
         su $ORACLE_OWNR -c "$ORACLE_HOME/bin/lsnrctl stop"        
         su $ORACLE_OWNR -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"        
         rm -f /var/lock/oracle        
         echo "OK"        
         ;;    
       reload|restart)        
         $0 stop        
         $0 start        
         ;;    
       *)        
         echo "Usage: `basename $0` start|stop|restart|reload"        
         exit 1
    esac
    exit 0

    修改脚本为可执行的:

    [root@struggle ~]# chmod a+x /usr/u01/app/product/11.2.0/dbhome_1/bin/oracledb

    创建连接:

    [root@struggle ~]# ln -s /usr/u01/app/product/11.2.0/dbhome_1/bin/oracledb /etc/rc.d/init.d/oracledb

    授权:

    [root@struggle ~]# chmod 755 /etc/rc.d/init.d/

    添加服务:

    [root@struggle ~]# chkconfig --add oracledb

    修改oracle启动配置

    [root@struggle ~]# vim /etc/oratab

      orcl:/usr/u01/app/product/11.2.0/dbhome_1:Y

    把N改为Y。

    测试:

    service oracledb stop

    service oracledb start

    成功!

  • 相关阅读:
    41.给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数。
    Java反射学习记录
    LeetCode算法笔记-回溯法
    LeetCode算法笔记(二)
    LeetCode算法笔记(一)
    JDBC学习笔记--通用的查询方法
    JDBC学习笔记--ResultSetMetaData
    JDBC学习笔记--PreparedStatement
    Java学习笔记---字符串
    Java学习笔记---通过异常处理错误
  • 原文地址:https://www.cnblogs.com/weaver1/p/2763221.html
Copyright © 2011-2022 走看看