zoukankan      html  css  js  c++  java
  • 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学习二十八天
    47. Permutations II 全排列可重复版本
    46. Permutations 全排列,无重复
    subset ii 子集 有重复元素
    339. Nested List Weight Sum 339.嵌套列表权重总和
    251. Flatten 2D Vector 平铺二维矩阵
    217. Contains Duplicate数组重复元素
    209. Minimum Size Subarray Sum 结果大于等于目标的最小长度数组
    438. Find All Anagrams in a String 查找字符串中的所有Anagrams
  • 原文地址:https://www.cnblogs.com/staryea/p/8513985.html
Copyright © 2011-2022 走看看