Oracle 11g静默安装(详细步骤)

  • 环境准备
    1. root上传Oracle 11g包到服务器/tmp目录,并解压
      1. 文件:linux.x64_11gR2_database_1of2.zip、linux.x64_11gR2_database_2of2.zip
      2. 执行解压命令:unzip linux.x64_11gR2_database_1of2.zip && unzip linux.x64_11gR2_database_2of2.zip

    2. 关闭selinux,设置SELINUX= enforcing 为SELINUX=disabled

      1. 执行命令:vi /etc/selinux/config

    3. 关闭防火墙

      1. 停止防火墙:systemctl stop firewalld

      2. 关闭自启动防火墙服务:systemctl disable firewalld

    4. 修改host

      1. 执行命令:vi  /etc/hosts

      2. 192.168.217.131(ip)    localhost.localdomain(主机名)

    5. 安装Oracle 11g依赖包

      1. 执行命令查看是否有依赖包:rpm -qp gcc make binutils gcc-c++ compat-libstdc++-33 elfutils-libelf-devel elfutils-libelf-devel-static ksh libaio libaio-devel numactl-devel sysstat unixODBC unixODBC-devel pcre-devel

      2. 执行命令安装缺少的包:yum -y install gcc make binutils gcc-c++ compat-libstdc++-33 elfutils-libelf-devel elfutils-libelf-devel-static ksh libaio libaio-devel numactl-devel sysstat unixODBC unixODBC-devel pcre-devel

      3. 如果不能连网,可以先下载安装包copy到服务器,用rpm命令安装。不同系统版本的依赖包版本不一致,安装时需要下载对应版本的,以免安装失败。

    6. 添加oinstall 、dba 组,新建oracle用户并加入oinstall、dba组中

      1. 执行命令添加用户组,设置密码:
        groupadd oinstall
        groupadd dba
        useradd -g oinstall -G dba oracle
        passwd oracle

    7. 修改内核参数:

      1. 修改文件:vi /etc/sysctl.conf

        fs.aio-max-nr = 1048576

        fs.file-max = 6815744

        kernel.shmall = 2097152

        kernel.shmmax = 1073741824

        kernel.shmmni = 4096

        kernel.sem = 250 32000 100 128

        net.ipv4.ip_local_port_range = 9000 65500

        net.core.rmem_default = 262144

        net.core.rmem_max = 4194304

        net.core.wmem_default = 262144

        net.core.wmem_max = 1048576

      2. 让参数生效: /sbin/sysctl -p

    8. 修改用户的限制文件

      1. 执行命令:vi /etc/security/limits.conf

      2. 添加以下配置:

        oracle         soft    nproc         2047

        oracle         hard    nproc         16384

        oracle         soft    nofile        1024

        oracle         hard    nofile        65536

        oracle         soft    stack         10240

    9. 修改/etc/pam.d/login文件

      1. 添加:

        session  required   pam_limits.so

        #session  required   /lib64/security/pam_limits.so

    10. 修改/etc/profile文件

      1. 执行命令:vi /etc/profile

      2. 添加:

        if [ $USER = "oracle" ]; then

          if [ $SHELL = "/bin/ksh" ]; then

           ulimit -p 16384

           ulimit -n 65536

          else

           ulimit -u 16384 -n 65536

          fi

        fi

      3. 执行命令:source /etc/profile (注意如果是copy文件,可能报错。需要删除换行符,手动换行)

    11. 创建安装目录、修改文件权限

      1. 执行命令:

        mkdir -p /u01/app/oracle/product/11.2.0

        mkdir /u01/app/oracle/oradata

        mkdir /u01/app/oracle/inventory

        mkdir /u01/app/oracle/fast_recovery_area

        chown -R oracle:oinstall /u01/app/oracle

        chmod -R 775 /u01/app/oracle

      2. 切换到oracle用户,设置oracle用户环境变量,执行命令:
        su  oracle
        vi /home/oracle/.bash_profile

      3. 添加:
        ORACLE_BASE=/u01/app/oracle

        ORACLE_HOME=$ORACLE_BASE/product/11.2.0

        ORACLE_SID=orcl

        PATH=$PATH:$ORACLE_HOME/bin

        export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH

        export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

        export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'

      4. 执行命令使生效:[oracle@localhost tmp]$ source /home/oracle/.bash_profile

    12. 编辑静默安装响应文件,可以替换下面文件,修改ORACLE_HOSTNAME为主机名称。

      1. 执行命令:
        su root
        vi /tmp/database/response/db_install.rsp

      2. 修改参数:
         

        oracle.install.option=INSTALL_DB_SWONLY

        ORACLE_HOSTNAME=localhost

        UNIX_GROUP_NAME=oinstall

        INVENTORY_LOCATION=/u01/app/oracle/inventory

        SELECTED_LANGUAGES=en,zh_CN

        ORACLE_HOME=/u01/app/oracle/product/11.2.0

        ORACLE_BASE=/u01/app/oracle

        oracle.install.db.InstallEdition=EE

        oracle.install.db.DBA_GROUP=dba

        oracle.install.db.OPER_GROUP=dba

        DECLINE_SECURITY_UPDATES=true

  • 安装数据库监听
    1. 安装Oracle 11g
      1. 切换oracle用户,执行安装命令,如果失败,参考出现问题解决方法2:

        cd /tmp/database

        ./runInstaller -silent -force -ignorePrereq -responseFile /tmp/database/response/db_install.rsp

    2. 切换root用户运行脚本
      su root
      sh /u01/app/oracle/inventory/orainstRoot.sh
      sh /u01/app/oracle/product/11.2.0/root.sh

    3. 用oracle用户登录配置监听
      1. 执行命令:

        su oracle

        netca -silent -responseFile /tmp/database/response/netca.rsp

      2. 出现下图情况时,需要安装yum install libXtst-devel。离线状态下下载安装包安装

      3. 出现下图情况时,则需要执行命令: export DISPLAY=localhost:0.0  配置DISPLAY变量  然后重新执行netca命令

      4. 正确结果:

      5. root用户查看监听端口: netstat -tnulp | grep 1521

  • 建立新库实例

    1. 切换到root用户,执行命令: vi /tmp/database/response/dbca.rsp 修改参数
       

      GDBNAME = "orcl"

      SID = "orcl"

      SYSPASSWORD = "oracle"

      SYSTEMPASSWORD = "oracle"

      SYSMANPASSWORD = "oracle"

      DBSNMPPASSWORD = "oracle"

      DATAFILEDESTINATION =/u01/app/oracle/oradata

      RECOVERYAREADESTINATION=/u01/app/oracle/fast_recovery_area

      CHARACTERSET = "ZHS16GBK"

      TOTALMEMORY = "1638"

    2. 进行静默配置:

      su - oracle

      dbca -silent -responseFile /tmp/database/response/dbca.rsp

    3. 完成建库后进行实例检查:

      1. ps -ef | grep ora_ | grep -v grep

      2. 查看监听状态:lsnrctl status

    4. 登录查看实例状态

      1. sqlplus / as sysdba

      2. SQL> startup

      3. 如果SQL> startup之后报LRM-00109错,执行命令:
        cp /u01/app/oracle/admin/orcl/pfile/init.ora.一串数字 
        /u01/app/oracle/product/11.2.0/dbs/initorcl.ora
        解决方法参考:http://yesican.blog.51cto.com/700694/471052

      4. 若遇到SQL> startup之后报LRM-01102错,可以尝试重启机器得到解决,重启后报错可以参考:http://blog.csdn.net/lzwgood/article/details/26368323
        或者网上搜索关键字:oracle启动报错、LRM-00109、LRM-01102。

    5. 远程测试连接数据库:
      在命令窗口执行:sqlplus system/oracle@ip:1521/orcl

    6. 配置连接池

      1. select count(*) from v$process;--系统当前有多少连接数

      2. select value from v$parameter where name = 'processes';--oracle设置的最大连接数
      3. alter system set processes = 300 scope = spfile;--修改连接池大小
    7. 密码过期限制

      1. SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
      2. ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED ;
    8. 服务器时间设置
      1. date查看系统时间,如果不对重新设置。
      2. 设置时间(注意引号):date -s  “12:12:23 2006-10-10”
      3. 将当前时间和日期写入BIOS,避免重启后失效。命令 : hwclock -w
    9. 设置oracle开启启动
      1. oracle用户新增启动文件,执行命令:vi /u01/app/oracle/start_ora.sh
        文件内容:

        #!/bin/sh

        lsnrctl start

        echo "Oracle just have been started!"

        echo "Begin to start the oracle!"

        sqlplus /nolog <<EOF

        connect / as sysdba

        startup

        exit

        EOF

        exit

      2. root用户修改文件:vi /etc/rc.d/rc.local 增加启动命令:
        su - oracle -c "/u01/app/oracle/start_ora.sh"

      3. root用户,增加执行权限:
        chmod  755  /etc/rc.d/rc.local

        chmod  755  /u01/app/oracle/start_ora.sh

      4. 重启测试,如果不能启动,可能是环境变量没有生效。

        1. 使用source /oracle/home/.bash_profile命令使orale用户环境变量即时生效

        2. 如果重启后oracle用户环境变量每次都没有加载,可以root用户把环境变量配置到/etc/profile文件中   

  • 出现问题解决方法

    1. 启动监听没有发现服务、实例状态未知:

      1. 报错截图:

      2. 查看/etc/hosts文件是否编辑正确

      3. 执行命令:
        su oracle
        sqlplus / as sysdba
      4. 如果数据库没启动,startup启动,执行:
        alter system register;

      5. 查看监听状态:lsnrctl status

    2. runInstaller安装命令执行失败,报下面错误:

      1. 先检查一下系统里有没有既存的swap文件。运行以下命令:swapon -s 如果返回的信息概要是空的,则表示swap文件不存在。

      2. 创建并允许 Swap 文件下面使用 dd 命令来创建 Swap 文件。检查返回的信息,还剩余足够的硬盘空间即可:dd if=/dev/zero of=/swapfile bs=1024 count=512k

      3. 格式化并激活 Swap 文件上面已经创建好 Swap 文件,还需要格式化后才能使用。运行命令:mkswap /swapfile

      4. 激活 Swap ,运行命令:swapon /swapfile

      5. 以上步骤做完,再次运行命令:swapon -s 

      6. 设置机器重启的时候自动挂载 Swap ,那么还需要修改 fstab 配置。用 vim 打开 /etc/fstab 文件,在其最后添加如下一行:/swapfile          swap            swap    defaults        0 0

      7. 最后,赋予 Swap 文件适当的权限:
        chown root:root /swapfile
        chmod 0600 /swapfile

  • 9
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值