• CentOS静默安装(无图形化界面)Oracle11g数据库


    一、安装前的准备

    需要Oracle11g安装包(自行找资源):       linux.x64_11gR2_database_1of2.zip        linux.x64_11gR2_database_2of2.zip

    需要足够的磁盘空间

    修改主机名,及ip对应关系

    --设置主机名,也可以直接修改配置文件/etc/sysconfig/network,不过这个是重启之后才起作用
    #sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=test/g" /etc/sysconfig/network
    
    --如果不想重启,则使用下面命令,使当前生效
    #hostname test
    
    --添加主机名与IP对应记录
    #vi /etc/hosts 
    10.20.60.74    test

    关闭Selinux

    # sed -i "s/SELINUX=enforcing/SELINUX=disabled/"/etc/selinux/config  
    # setenforce 0

     安装依赖包

    yum -y install binutils compat-libstdc+±33 compat-libstdc+±33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++

    修改内核参数/etc/sysctl.conf

    #设置相关参数的系统默认值。如果该文件中已有相关参数的设置,则确保参数值不小于如下对应值;如果还没有相关参数的设置,则按照如下格式添加相应的参数设置行
    
    net.ipv4.ip_local_port_range= 9000 65500 
    fs.file-max = 6815744 
    kernel.shmall = 10523004 
    kernel.shmmax = 6465333657 
    kernel.shmmni = 4096 
    kernel.sem = 250 32000 100128 
    net.core.rmem_default=262144 
    net.core.wmem_default=262144 
    net.core.rmem_max=4194304 
    net.core.wmem_max=1048576 
    fs.aio-max-nr = 1048576

    # sysctl -p #使配置生效

    修改用户限制文件/etc/security/limits.conf

    # 在配置文件末尾添加
    
     oracle           soft    nproc           2047
     oracle           hard    nproc           16384
     oracle           soft    nofile          1024
     oracle           hard    nofile          102400

    修改配置文件/etc/pam.d/login

    # 在配置文件末尾添加
    
     session  required   /lib64/security/pam_limits.so
     session  required   pam_limits.so

    注意:64位系统使用/lib64/security/pam_limits.so,32位系统是lib,如果配置错误会导致无法登陆linux系统

     二、创建用户及组

    //创建用户及组
    #groupadd oinstall 
    #groupadd dba
    #useradd -g oinstall -G dba -d /home/u11 oracle
    #passwd oracle  //修改oracle用户密码

    创建安装目录

    //创建安装目录
    #mkdir -p /opt/app/oracle/product/11.2.0/dbhome_1
    //数据文件存放目录
    #mkdir -p /opt/app/oracle/oradata
    //数据恢复目录
    #mkdir -p /opt/app/oracle/recovery_area
    //数据库创建及使用过程中的日志目录
    #mkdir -p /opt/app/oracle/oraInventory
    //修改安装目录权限
    #chown -R oracle:oinstall /opt/app/oracle
    #chmod 775 /opt/app/oracle

    登陆oracle用户并设置环境变量

    su - oracle
    vi .bash_profile
    # 在配置文件末尾添加
    export ORACLE_BASE=/opt/app/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
    export PATH=$PATH:$ORACLE_HOME/bin
    
    export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib64:/usr/lib64:/usr/local/lib64
    export ORACLE_SID=orcl
    
    //如果设置NLS_LANG,容易产生导入sql或dmp出错,因为其他环境下的不是utf8
    export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
    
    #source .bash_profile   //使设置生效

     三、安装Oracle数据库

     解压linux.x64_11gR2_database_1of2.zip        linux.x64_11gR2_database_2of2.zip,会得到一个database文件夹,其中

    db_install.rsp //安装应答配置文件
    
    dbca.rsp //创建数据库应答
    
    netca.rsp //建立监听、本地服务名等网络设置应答

    修改配置文件db_install.rsp,主要修改地方如下

    oracle.install.option=INSTALL_DB_SWONLY
    ORACLE_HOSTNAME=DB_m2
    UNIX_GROUP_NAME=oinstall
    INVENTORY_LOCATION=/opt/app/oracle/oraInventory
    SELECTED_LANGUAGES=en,zh_CN
    ORACLE_HOME=/opt/app/oracle/product/11.2.0/dbhome_1
    ORACLE_BASE=/opt/app/oracle
    oracle.install.db.InstallEdition=EE
    oracle.install.db.DBA_GROUP=dba
    oracle.install.db.OPER_GROUP=oinstall
    oracle.install.db.config.starterdb.characterSet=AL32UTF8
    oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
    oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/opt/app/oracle/oradata
    oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/opt/app/oracle/recovery_data
    DECLINE_SECURITY_UPDATES=true    //重要:一定要设为true,否则无法安装

    登陆oracle用户进行安装

    sh runInstaller -silent -responseFile /home/database/response/db_install.rsp 
    //安装过程中,如果提示[WARNING]不必理会,此时安装程序仍在进行,如果出现[FATAL],则安装程序已经停止了。
    //打开另一个终端,执行命令
    #tail -100 f /u01/app/oracle/oraInventory/logs/installActions......log
     
    
    //可以实时跟踪查看安装日志,了解安装的进度。
    //当出现
      以下配置脚本需要以 "root" 用户的身份执行。
       #!/bin/sh
       #要运行的 Root 脚本
    
      /opt/app/oracle/oraInventory/orainstRoot.sh
      /opt/app/oracle/product/11.2.0/dbhome_1/root.sh
      要执行配置脚本, 请执行以下操作:
         1. 打开一个终端窗口
         2. 以 "root" 身份登录
         3. 运行脚本
         4. 返回此窗口并按 "Enter" 键继续
    
      Successfully Setup Software.
    
    //出现这个的话,说明已安装成功,则需要按提示操作,操作完返回Enter成功

     配置监听配置文件response/netca.rsp

    $netca /silent /responsefile response/netca.rsp

      INSTALL_TYPE=""custom"" 

      LISTENER_NUMBER=1 

      LISTENER_NAMES={"LISTENER"} 

      LISTENER_PROTOCOLS={"TCP;1521"} 

      LISTENER_START=""LISTENER""

    
    
    正在对命令行参数进行语法分析:
     参数"silent" = true
     参数"responsefile" = /home/oracle/response/netca.rsp
     完成对命令行参数进行语法分析。
     Oracle Net Services 配置:
     完成概要文件配置。
     Oracle Net 监听程序启动:
      正在运行监听程序控制:
        /opt/app/oracle/11.2.0/bin/lsnrctl start LISTENER
      监听程序控制完成。
      监听程序已成功启动。
     监听程序配置完成。
     成功完成 Oracle Net Services 配置
    
    //成功运行后,在/opt/oracle/11.2.0/network/admin目录下生成sqlnet.ora和listener.ora两个文件。
    //完成后通过命令“netstat -tlnp”可以查看到1521端口已开
    tcp  0   0 :::1521        :::*      LISTEN      5477/tnslsnr

     修改配置文件dbca.rsp,静默建立新库

     RESPONSEFILE_VERSION = "11.2.0"  //不能更改
     OPERATION_TYPE = "createDatabase"
     GDBNAME = "orcl.dlxg.gov.cn"  //全局数据库的名字=SID+主机域名
     SID = "orcl"    //对应的实例名字
     TEMPLATENAME = "General_Purpose.dbc" //建库用的模板文件
     DATAFILEDESTINATION = /opt/oracle/oradata //数据文件存放目录
     RECOVERYAREADESTINATION=/opt/oracle/recovery_data //恢复数据存放目录
     CHARACTERSET = "AL32UTF8"   //字符集,重要!!! 建库后一般不能更改,所以建库前要确定清楚。
     TOTALMEMORY = "5120"    //oracle内存5120MB

    //还可以在该文件中修改初始用户名密码

    配置完成后执行命令

    $dbca -silent -responseFile /home/database/response/dbca.rsp
    
     1% 已完成
     3% 已完成
     11% 已完成
     18% 已完成
     26% 已完成
     37% 已完成
     正在创建并启动 Oracle 实例
     40% 已完成
     45% 已完成
     50% 已完成
     55% 已完成
     56% 已完成
     60% 已完成
     62% 已完成
     正在进行数据库创建
     66% 已完成
     70% 已完成
     73% 已完成
     85% 已完成
     96% 已完成
     100% 已完成
     有关详细信息, 请参阅日志文件 "/opt/app/oracle/cfgtoollogs/dbca/orcl/orcl.log"

    su - oracle
    sqlplus / as sysdba

     数据库可以正常使用了!

     四、遇到的问题

    1.启动数据库时报错

    SQL> startup
    ORA-00119: invalid specification for system parameter LOCAL_LISTENER
    ORA-00130: invalid listener address '(ADDRESS=(PROTOCOL=TCP)(HOST=infosec)(PORT=1521))'

    解决方法:
    /etc/hosts中添加项:
    10.20.60.74    infosec
    重启服务:

     2.切换oracle用户时提示:

    [root@infosec ~]# su - oracle
    -bash: ulimit: open files: cannot modify limit: Operation not permitted

     主要是/etc/security/limits.conf的配置问题,之前参考其它博客,改为了如下内容,和本机的配置不一致,才导致出错:

    oracle  soft   nproc     2047
    oracle  hard   nproc     16384
    oracle  soft   nofile    1024
    oracle  hard   nofile    65536

    而在本机的/etc/profile设置是如下的:

     只需将/etc/security/limits.conf中内容改为:

     oracle    hard    nofile    102400

    此时再次切换至oracle用户,不会报错

  • 相关阅读:
    硬盘内部结构简析
    python之集合
    Python中的浅拷贝与深拷贝
    Python内存管理机制
    python之编码decode
    project euler之Large sum
    project euler之 网格中最大的产品
    project euler之 素数的总和
    project euler之特殊的毕达哥拉斯三重奏
    project euler之系列中最大的产品
  • 原文地址:https://www.cnblogs.com/werr370/p/14786493.html
Copyright © 2020-2023  润新知