• Oracle数据库安装


    1. 准备工作

    1.1 硬件检测

    物理内存不少于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
    

    关闭SELinux

    1.2 安装依赖包

    yum install unixODBC unixODBC-devel libaio libaio-devel libstdc++ libstdc++-devel libgcc libgomp kernel-headers sysstat numactl-devel make ksh glibc-headers glibc-devel glibc-common glibc gcc-c++ gcc elfutils-libelf-devel elfutils-libelf compat-libstdc++ binutils
    

    1.3 创建组及用户

    /usr/sbin/groupadd oinstall
    /usr/sbin/groupadd dba
    /usr/sbin/useradd -g oinstall -G dba oracle
    passwd oracle
    

    1.4 检测内核参数

    修改内核参数
    vim /sbin/sysctl.conf
    增加或修改以下参数

    fs.aio-max-nr = 1048576
    fs.file-max = 6815744
    kernel.shmall = 2097152
    kernel.shmmax = 536870912
    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
    

    修改后,使设置生效
    /sbin/sysctl -p

    1.5 修改用户限制

    • vi /etc/security/limits.conf
      增加以下内容
    oracle soft nproc 2047
    oracle hard nproc 16384
    oracle soft nofile 1024
    oracle hard nofile 65536
    oracle soft stack 10240
    
    • vi /etc/pam.d/login
      增加以下内容
      session required /lib/security/pam_limits.so
      session required pam_limits.so

    • vi /etc/profile

    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

    1.6 创建安装目录

    mkdir -p /mnt/installer/orcale
    chown -R orcale:oinstall /mnt/installer/orcale
    chmod -R 755 /mnt/installer/orcale

    • 创建/etc/oraInst.loc文件,内容如下
    nventory_loc=/usr/oracle/oraInventory
    inst_group=oinstall
    
    • 更改文件的权限
      chown oracle:oinstall /etc/oraInst.loc
      chmod 664 /etc/oraInst.loc

    1.7 设置环境变量

    su - oracle
    vim ~/.bash_profile
    增加以下内容

    umask 022
    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_SID=orcl
    

    使设置生效
    source /home/oracle/.bash_profile

    检查环境变量env

    2. 安装Oracle

    2.1 复制响应文件模板

    • 解压Oracle安装文件
      mkdir etc
      cp /home/oracle/database/response/* /home/oracle/etc/

    • 设置响应文件权限
      su - root
      chmod 700 /home/oracle/etc/*.rsp

    • 修改安装Oracle软件的响应文件
      su - oracle
      vim /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=/home/oracle/oraInventory //47 行 INVENTORY目录
    SELECTED_LANGUAGES=en,zh_CN,zh_TW        //78 行 选择语言
    ORACLE_HOME=/u01/app/oracle/11.2.0/db_1 //83 行 oracle_home
    ORACLE_BASE=/u01/app/oracle //88 行 oracle_base
    oracle.install.db.InstallEditi·on=EE    //99 行 oracle版本
    oracle.install.db.isCustomInstall=false //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      //192行 自动管理内存的最小内存(M)
    oracle.install.db.config.starterdb.password.ALL=oracle  //233行 设定所有数据库用户使用同一个密码
    DECLINE_SECURITY_UPDATES=true   //385行 设置安全更新
    

    2.2 开始静默安装

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

    执行相关脚本
    su - root
    /mnt/installer/orcale/11.2.0/db_1/root.sh
    /usr/oracle/oraInventory/orainstRoot.sh

    2.3 增加oracle环境变量

    su - oracle
    vi ~/.bash_profile
    添加以下内容(具体路径,根据实际路径修改)

    export ORACLE_HOME=$ORACLE_BASE/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

    3. 部署数据库

    3.1 静默配置网络

    $ORACLE_HOME/bin/netca /silent /responseFile /home/oracle/etc/netca.rsp

    3.2 静默安装数据库

    修改仅安装数据库的响应文件
    vim /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

    3.3 启动数据库

    • 修改oracle启动配置文件
      su - oracle
      vi /etc/oratab
      orcl:/usr/oracle/product/11.2.0/db_1:Y //把“N”改成“Y”

    • 启动 dbstart $ORACLE_HOME

    • 关闭 dbshut $ORACLE_HOME

    再次查看监听器状态。
    lsnrctl status

    3.4 使用归档日志

    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 1;
    

    4. 附:故障

    4.1 问题一:

    The Oracle system identifier(SID) "xxx" already exists. Specify another SID
    解决办法:
    1、删除/mnt/installer/oracle/admin下的xxx文件
    2、删除/mnt/installer/oracleoradata下的xxx文件夹
    3、用root用户以远程登录模式编辑etc/oratab,删除最后一 行:xxx:/mnt/installer/oracle/11.2.0/db_1:N,保存 退出问题解决。

    监听检查 lsnrctl status

    4.2 问题二:

    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
    解决办法:关闭SELinux
    su - root
    setenforce 0

  • 相关阅读:
    图解Eclipse中配置Maven并创建Maven的Web工程
    Bzoj1922: [Sdoi2010]大陆争霸
    Bzoj2007: [Noi2010]海拔
    Bzoj5212: [Zjoi2018]历史
    NOIP2017:列队
    NOIP2017:逛公园
    CF908D New Year and Arbitrary Arrangement
    HDU4652:Dice
    HDU4336:Card Collector(min-max容斥)
    [NOI2017]游戏
  • 原文地址:https://www.cnblogs.com/cy-8593/p/9505030.html
Copyright © 2020-2023  润新知