• linux 下oracle 11g静默安装(完整版)


    1.操作系统及Oracle版本
    Linux版本:CentOS release 6.5
    Oracle版本:Oracle Database 11g Release 2 (11.2.0.1.0) for Linux x86-64 (linux.x64_11gR2_database_1of2.zip、linux.x64_11gR2_database_2of2.zip)

    2.硬件检测:
    物理内存不少于1G
    硬盘可以空间不少于5G
    swap分区空间不少于2G
    支持256色以上显卡
    cpu主频不小于550mHZ

    cat /etc/issue
    uname -r
    grep MemTotal /proc/meminfo
    grep SwapTotal /proc/meminfo
    grep "model name" /proc/cpuinfo
    free
    df -k /tmp
    df -k

    3.检查安装依赖系统包
    操作系统依赖的具体包,请参考官方安装文档。
    以下为 Asianux 3, Oracle Linux 5, Red Hat Enterprise Linux 5, CentOS 5 操作系统依赖的包
    binutils-2.17.50.0.6
    compat-libstdc++-33-3.2.3
    compat-libstdc++-33-3.2.3 (32 bit)
    elfutils-libelf-0.125
    elfutils-libelf-devel-0.125
    gcc-4.1.2
    gcc-c++-4.1.2
    glibc-2.5-24
    glibc-2.5-24 (32 bit)
    glibc-common-2.5
    glibc-devel-2.5
    glibc-devel-2.5 (32 bit)
    glibc-headers-2.5
    ksh-20060214
    libaio-0.3.106
    libaio-0.3.106 (32 bit)
    libaio-devel-0.3.106
    libaio-devel-0.3.106 (32 bit)
    libgcc-4.1.2
    libgcc-4.1.2 (32 bit)
    libstdc++-4.1.2
    libstdc++-4.1.2 (32 bit)
    libstdc++-devel 4.1.2
    make-3.81
    sysstat-7.0.2
    unixODBC-2.2.11 (32-bit) or later
    unixODBC-devel-2.2.11 (64-bit) or later
    unixODBC-2.2.11 (64-bit) or later

    检查依赖包

    rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc-2.12 glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel
    如果包有显示is not installed(没安装),就用yum install 命令安装,如:

    yum install compat-libstdc++-33

    4.创建所需的操作系统组和用户
    userdel -r oracle

    groupadd oinstall
    groupadd dba
    useradd -g oinstall -G dba oracle
    设置oracle用户密码

    passwd oracle

    5.修改内核参数
    在/etc/sysctl.conf 文件中,使用文本编辑器或vi命令增加或修改以下参数

    fs.aio-max-nr = 1048576
    fs.file-max = 6815744
    kernel.shmall = 4294967296
    kernel.shmmax = 68719476736
    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    net.ipv4.ip_local_port_range = 9000 65500
    net.core.rmem_default = 6291456
    net.core.rmem_max = 12582912
    net.core.wmem_default = 6291456
    net.core.wmem_max = 12582912
    修改后,使设置生效

    /sbin/sysctl -p

    6.修改用户限制
    要用oracle 检测是否有read权限
    在/etc/security/limits.conf 文件中,使用文本编辑器或vi命令增加或修改以下参数

    oracle soft nproc 2047
    oracle hard nproc 16384
    oracle soft nofile 1024
    oracle hard nofile 65536
    oracle soft stack 10240
    在/etc/pam.d/login 文件中,使用文本编辑器或vi命令增加或修改以下内容

    session required /lib/security/pam_limits.so
    session required pam_limits.so
    在/etc/profile 文件中,使用文本编辑器或vi命令增加或修改以下内容

    if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
    else
    ulimit -u 16384 -n 65536
    fi
    fi
    使设置生效

    source /etc/profile
    7.创建安装目录(可根据情况,选择比较多空间的目录创建)

    mkdir -p /u01/app/
    chown -R oracle:oinstall /u01/app/
    chmod -R 775 /u01/app/

    8.创建/etc/oraInst.loc文件,内容如下

    nventory_loc=/u01/app/oracle/oraInventory
    inst_group=oinstall
    更改文件的权限

    chown oracle:oinstall /etc/oraInst.loc
    chmod 664 /etc/oraInst.loc

    9.设置oracle环境变量

    su - oracle

    vi ~/.bash_profile

    在最后加上以下内容

    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_SID=orcl
    注意,除了ORACLE_BASE和ORACLE_SID,( /etc/profile和.bash_profile中)不设置任何oracle相关环境变量(ORACLE_HOME, PATH, LD_LIBRARY_PATH等)。

    使设置生效

    source /home/oracle/.bash_profile
    检查环境变量:

    env

    10.解压oracle安装文件

    unzip linux.x64_11gR2_database_1of2.zip
    unzip linux.x64_11gR2_database_2of2.zip

    11.复制响应文件模板

    mkdir etc
    cp /home/oracle/database/response/* /home/oracle/etc/
    设置响应文件权限

    su - root
    chmod 700 /home/oracle/etc/*.rsp
    12.静默安装Oracle软件

    su - oracle
    修改安装Oracle软件的响应文件/home/oracle/etc/db_install.rsp

    oracle.install.option=INSTALL_DB_SWONLY //29 行 安装类型
    ORACLE_HOSTNAME=java-linux-test //37 行 主机名称
    UNIX_GROUP_NAME=oinstall //42 行 安装组
    INVENTORY_LOCATION=/u01/app/oracle/oraInventory //47 行 INVENTORY目录
    SELECTED_LANGUAGES=en,zh_CN,zh_TW //78 行 选择语言
    ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 //83 行 oracle_home
    ORACLE_BASE=/u01/app/oracle //88 行 oracle_base
    oracle.install.db.InstallEdition=EE //99 行 oracle版本
    oracle.install.db.isCustomInstall=true //108行 自定义安装
    oracle.install.db.DBA_GROUP=dba //142行 dba用户组
    oracle.install.db.OPER_GROUP=oinstall //147行 oper用户组
    oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //160行 数据库类型
    oracle.install.db.config.starterdb.globalDBName=orcl //165行 globalDBName
    oracle.install.db.config.starterdb.SID=orcl //170行 SID
    oracle.install.db.config.starterdb.memoryLimit=512 //200行 自动管理内存的最小内存(M)
    oracle.install.db.config.starterdb.password.ALL=oracle //233行 设定所有数据库用户使用同一个密码
    DECLINE_SECURITY_UPDATES=true //385行 设置安全更新
    进行静默安装Oracle软件

    su - oracle
    cd database
    ./runInstaller -silent -responseFile /home/oracle/etc/db_install.rsp -ignorePrereq
    安装中,如果提示[WARNING]不必理会,此时安装程序仍在进行,如果出现[FATAL],则安装程序已经停止了。
    查看安装日志信息了解安装进度

    cd $ORACLE_BASE/oraInventory/logs
    cd /tmp
    tail -100f installActions*.log
    出现类似如下提示表示安装完成:
    #-------------------------------------------------------------------
    ...
    /u01/app/oracle/product/11.2.0/db_1/root.sh
    To execute the configuration scripts:
    1. Open a terminal window
    2. Log in as "root"
    3. Run the scripts
    4. Return to this window and hit "Enter" key to continue

    Successfully Setup Software.
    #-------------------------------------------------------------------

    使用root用户执行root.sh

    su root
    /u01/app/oracle/product/11.2.0/db_1/root.sh
    增加oracle环境变量

    su - oracle

    vi ~/.bash_profile

    在最后加上以下内容

    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
    export TNS_ADMIN=$ORACLE_HOME/network/admin
    export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin
    export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib
    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
    export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE
    export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE/lib
    export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
    export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
    export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
    export LIBPATH=${CLASSPATH}:$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib
    export ORACLE_OWNER=oracle
    export SPFILE_PATH=$ORACLE_HOME/dbs
    export ORA_NLS10=$ORACLE_HOME/nls/data
    使设置生效

    source /home/oracle/.bash_profile

    13.静默配置网络
    su - oracle
    $ORACLE_HOME/bin/netca /silent /responseFile /home/oracle/etc/netca.rsp

    14.静默安装数据库
    修改仅安装数据库的响应文件/home/oracle/etc/dbca.rsp

    GDBNAME="orcl.java-linux-test" //78 行 全局数据库的名字=SID+主机域名
    SID="orcl" //149行 SID
    CHARACTERSET="AL32UTF8" //415行 编码
    NATIONALCHARACTERSET="UTF8" //425行 编码
    进行静默安装数据库

    $ORACLE_HOME/bin/dbca -silent -responseFile /home/oracle/etc/dbca.rsp
    建库后实例检查

    ps -ef | grep ora_ | grep -v grep | wc -l
    ps -ef | grep ora_ | grep -v grep
    建库后监听检查

    lsnrctl status
    如果出现以下错误

    lsnrctl: error while loading shared libraries: /u01/app/oracle/product/11.2.0/db_1/lib/libclntsh.so.11.1: cannot restore segment prot after reloc: Permission denied

    解决办法:在root用户下执行以下命令

    su - root
    setenforce 0
    15.修改oracle启动配置文件

    su - oracle
    vi /etc/oratab

    racl:/u01/app/oracle/product/11.2.0/db_1:Y //把“N”改成“Y”

    这样就可以通过dbstart 启动此实例,监听器。

    dbstart $ORACLE_HOME
    此时所有oracle的进程关闭,监听器也停止。

    dbshut $ORACLE_HOME
    再次查看监听器状态。

    lsnrctl status

    如果使用归档日志

    sqlplus / as sysdba

    SQL> shutdown immediate;
    SQL> startup mount;
    SQL> alter database archivelog;
    SQL> alter database flashback on; (如果要启用数据库闪回功能则执行)
    SQL> alter database open;
    SQL> execute utl_recomp.recomp_serial(); (重新编译所有可能失效对象)
    SQL> alter system archive log current; (手工归档测试)

    默认安装的数据库用户检查

    SQL> set lines 256 pages 500
    SQL> select USER_ID,USERNAME,ACCOUNT_STATUS,DEFAULT_TABLESPACE from dba_users order by

  • 相关阅读:
    解析Java反射java.lang.IllegalArgumentException: wrong number of arguments
    java中参数" ..."的用法和意思
    Synchronized方法锁、对象锁、类锁区别
    瀚云平台kafka简单原理
    ReflectionUtils.invokeMethod的作用
    实用———springmvc接收参数校验
    卷积神经网络CNN
    第一个TensorFlow程序
    TF从文件中读取数据
    TF基础5
  • 原文地址:https://www.cnblogs.com/staryea/p/8513985.html
Copyright © 2020-2023  润新知