• 【Centos linux系统】命令行(静默)安装oracle 11gR2


    一.安装前准备

      1.内存及swap要求

        至于swap如何添加,后文将提到

      

    1
    2
    grep MemTotal /proc/meminfo
    grep SwapTotal /proc/meminfo

      2.硬盘空间

      

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

    复制代码
    --设置主机名,也可以直接修改配置文件/etc/sysconfig/network,不过这个是重启之后才起作用
    #sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=DB_2/g" /etc/sysconfig/network
    
    --如果不想重启,则使用下面命令,使当前生效 #hostname DB_2

    --添加主机名与IP对应记录
    #vi /etc/hosts 

    127.0.0.1 cr-testsrv01
    192.168.15.2 cr-testsrv01
    192.168.15.2 db1



    复制代码

      4.关闭Selinux(可以不操作)

    --我自己没有关闭过selinux,这个是网上提供说需要关闭的
    # sed -i "s/SELINUX=enforcing/SELINUX=disabled/"/etc/selinux/config # setenforce 0

      5.下载oracle11gR2

      官网下载地址:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-linx8664soft-100572.html

    二.修改内核参数

      1./etc/sysctl.conf

    复制代码
    --修改或添加,具体参数意思,请百度或参考oracle官网解释
    #vi/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 #使配置生效
    复制代码

      2.用户的限制文件/etc/security/limits.conf 

    复制代码
    #vim /etc/security/limits.conf 在文件后增加
     oracle           soft    nproc           2047
     oracle           hard    nproc           16384
     oracle           soft    nofile          1024
     oracle           hard    nofile          65536
     oracle           soft    stack           10240

    --修改/etc/pam.d/login文件,增加如下:
     session  required   /lib64/security/pam_limits.so  //64为系统,千万别写成/lib/security/pam_limits.so,否则导致无法登录
     session  required   pam_limits.so
    复制代码

    三.创建用户及组

    复制代码
    //创建用户及组
    #groupadd oinstall 
    #groupadd dba
    #useradd -g oinstall -G dba -d /home/u11 oracle
    #passwd oracle

    //创建安装目录 #mkdir -p /opt/app/oracle/product/11.2.0/db_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
    $vim .bash_profile

      

    export ORACLE_BASE=/home/oracle/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
    export ORACLE_SID=orcl
    export ORACLE_TERM=xterm
    export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin/
    export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
    export DISPLAY=192.168.1.128:0.0
    #如果设置NLS_LANG,容易产生导入sql或dmp出错,因为其他环境下的不是utf8

    export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

    $source .bash_profile   //使设置生效
    复制代码

     四.安装oracle

      1.安装依赖包

    复制代码
    # yum -y install gcc gcc-c++ make binutilscompat-libstdc++-33 elfutils-libelf elfutils-libelf-develglibc glibc-commonglibc-devel libaio libaio-devel libgcclibstdc++libstdc++-devel unixODBC unixODBC-devel ksh
    或
    # yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 
    elfutils-libelfelfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common 
    glibc-devel glibc-devel.i686glibc-headers ksh libaio libaio.i686 libaio-devel 
    libaio-devel.i686 libgcclibgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make 
    sysstat unixODBC unixODBC-devel
    复制代码

      2.解压安装包

      3.数据库安装

        db_install.rsp 安装应答配置文件

        dbca.rsp 创建数据库应答

        netca.rsp 建立监听、本地服务名等网络设置应答

        3.1 修改配置文件db_install.rsp,并安装

          下面把主要修改的地方贴出来,具体详细文件,请查看另一篇文章:【Oracle 11gR2】db_install.rsp详解http://www.cnblogs.com/yingsong/p/6031452.html

    复制代码
    oracle.install.option=INSTALL_DB_SWONLY
    ORACLE_HOSTNAME=DB_m2
    UNIX_GROUP_NAME=oinstall
    INVENTORY_LOCATION=/home/oracle/oracle/oraInventory
    SELECTED_LANGUAGES=en,zh_CN
    ORACLE_HOME=/home/oracle/oracle/product/11.2.0/db_1
    ORACLE_BASE=/home/oracle/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=/home/oracle/oracle/oradata
    oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/home/oracle/oracle/recovery_data
    DECLINE_SECURITY_UPDATES=true    //一定要设为true
    复制代码

        登录oracle用户,执行安装

    复制代码
    $./runInstaller -silent -responseFile /home/u11/database/response/db_install.rsp 
    //安装过程中,如果提示[WARNING]不必理会,此时安装程序仍在进行,如果出现[FATAL],则安装程序已经停止了。
    //打开另一个终端,执行命令
    #tail -100 f /u01/app/oracle/oraInventory/logs/installActions......log

    //可以实时跟踪查看安装日志,了解安装的进度。
    //当出现


      以下配置脚本需要以 "root" 用户的身份执行。
       #!/bin/sh
       #要运行的 Root 脚本

      /home/oracle/oracle/oraInventory/orainstRoot.sh
      /home/oracle/oracle/product/11.2.0/db_1/root.sh
      要执行配置脚本, 请执行以下操作:
         1. 打开一个终端窗口
         2. 以 "root" 身份登录
         3. 运行脚本
         4. 返回此窗口并按 "Enter" 键继续

      Successfully Setup Software.

    //出现这个的话,说明已安装成功,则需要按提示操作,操作完返回Enter成功

    复制代码

        

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

    $netca /silent /responsefile /home/oracle/softwares/database/response/netca.rsp
    
    正在对命令行参数进行语法分析:
     参数"silent" = true
     参数"responsefile" = /home/oracle/response/netca.rsp
     完成对命令行参数进行语法分析。
     Oracle Net Services 配置:
     完成概要文件配置。
     Oracle Net 监听程序启动:
      正在运行监听程序控制:
        /opt/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
    复制代码

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

    复制代码
     RESPONSEFILE_VERSION = "11.2.0"  //不能更改
     OPERATION_TYPE = "createDatabase"
     GDBNAME = "hello.dlxg.gov.cn"  //全局数据库的名字=SID+主机域名
     SID = "hello"    //对应的实例名

     SYSPASSWORD = "credit"

       SYSTEMPASSWORD = "credit"

     TEMPLATENAME = "General_Purpose.dbc" //建库用的模板文件
     DATAFILEDESTINATION = /opt/oracle/oradata //数据文件存放目录
     RECOVERYAREADESTINATION=/opt/oracle/recovery_data //恢复数据存放目录
     CHARACTERSET = "AL32UTF8"   //字符集,重要!!! 建库后一般不能更改,所以建库前要确定清楚。
     TOTALMEMORY = "5120"    //oracle内存5120MB
    复制代码

         配置完之后,执行命令

    复制代码
    $dbca -silent -responseFile /home/oracle/softwares/database/response/dbca.rsp
     

    1% 已完成
     3% 已完成
     11% 已完成
     18% 已完成
     26% 已完成
     37% 已完成
     正在创建并启动 Oracle 实例
     40% 已完成
     45% 已完成
     50% 已完成
     55% 已完成
     56% 已完成
     60% 已完成
     62% 已完成
     正在进行数据库创建

    66% 已完成
     70% 已完成
     73% 已完成
     85% 已完成
     96% 已完成
     100% 已完成
     有关详细信息, 请参阅日志文件 "/u01/app/oracle/cfgtoollogs/dbca/wang/wang.log"。

     vim /home/oracle/oracle/product/11.2.0/db_1/network/admin/listener.ora

    添加:

    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = credit)
    (ORACLE_HOME =/home/oracle/oracle/product/11.2.0/db_1)
    )
    )

    查看日志文件
     $ cat /u01/app/oracle/cfgtoollogs/dbca/wang/wang.log

    复制代码

    $ su – oracle 
    $ sqlplus / nolog 
    sql> conn / as sysdba 
    sql> startup (一般不需要加参数,只要设置好环境变量) 
    sql> quit (退出sql模式) 
    $ lsnrctl start (启动监听器)关闭oracle 
    $ lsnrctl stop(关闭监听器,在这之前,应该先关闭应用程序) 
    $ sqlplus  /nolog 
    sql>shutdown 其参数 :shutdown有四个参数,四个参数的含义如下:
    Normal 需要等待所有的用户断开连接
    Immediate 等待用户完成当前的语句
    Transactional 等待用户完成当前的事务
    Abort 不做任何等待,直接关闭数据库
    normal需要在所有连接用户断开后才执行关闭数据库任务,所以有的时候看起来好象命令没有运行一样!在执行这个命令后不允许新的连接
    immediate在用户执行完正在执行的语句后就断开用户连接,并不允许新用户连接。
    transactional 在拥护执行完当前事物后断开连接,并不允许新的用户连接数据库。
    abort 执行强行断开连接并直接关闭数据库。
    前三种方式不回丢失用户数据。第四种在不的已的情况下,不建议采用! 
    经常遇到的问题:

    1)权限问题,解决方法,切换到oracle用户;

    2)没有关闭监听器 ,解决方法:关闭监听器

    3)有oracle实例没有关闭,解决办法:关闭oracle实例

    4)环境变量设置不全,解决办法:修改环境变量

    Oracle数据库的启动和关闭方式小结

    Oracle数据库的启动和关闭方式

    一、几种启动方式:

    1、startup nomount
    非安装启动,这种方式启动下可执行:重建控制文件、重建数据库
    启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件。
    2、startup mount dbname
    安装启动,这种方式启动下可执行:数据库日志归档、数据库恢复、重新命名一些数据库文件
    如:系统表空间或日志文件。
    执行“nomount”,然后打开控制文件
    3、startup open dbname
    先执行“nomount”,然后执行“mount”,再打开包括Redo log文件在内的所有数据库文件,
    这种方式下可访问数据库中的数据。
    4、startup,等于以下三个命令
    startup nomount
    alter database mount
    alter database open
    5、startup restrict
    约束方式启动
    这种方式能够启动数据库,但只允许具有一定特权的用户访问
    非特权用户访问时,会出现以下提示:
    ERROR:
    ORA-01035: ORACLE 只允许具有 RESTRICTED SESSION 权限的用户使用
    6、startup force
    强制启动方式
    当不能关闭数据库时,可以用startup force来完成数据库的关闭
    先关闭数据库,再执行正常启动数据库命令
    7、startup pfile=参数文件名
    带初始化参数文件的启动方式
    先读取参数文件,再按参数文件中的设置启动数据库
    例:startup pfile=E:/Oracle/admin/oradb/pfile/init.ora
    8、startup EXCLUSIVE

    二、几种关闭方式:

    1、shutdown normal
    正常方式关闭数据库。
    2、shutdown immediate
    立即方式关闭数据库。
    在SVRMGRL中执行shutdown immediate,数据库并不立即关闭,
    而是在Oracle执行某些清除工作后才关闭(终止会话、释放会话资源),
    当使用shutdown不能关闭数据库时,shutdown immediate可以完成数据库关闭的操作。
    3、shutdown abort
    直接关闭数据库,正在访问数据库的会话会被突然终止,
    如果数据库中有大量操作正在执行,这时执行shutdown abort后,重新启动数据库需要很长时间。

    五. 开启归档模式,制定归档目录

  • 相关阅读:
    程序执行并发和并行的理解
    计算机的线程和进程的区别理解,不是编程上的进程和线程
    php单线程理解
    一句话题解(2020.12)
    PE328 Lowest-cost Search
    arc109D
    6908. 【2020.11.30提高组模拟】关灯(light)/loj#3385. 「COCI 2020.11」Svjetlo
    CF1456D. Cakes for Clones
    CF1456C. New Game Plus!
    agc025E
  • 原文地址:https://www.cnblogs.com/lambertwe/p/7812941.html
Copyright © 2020-2023  润新知