• CentOS7.2 使用Shell安装Oracle12c


    一.操作系统说明

    1.操作系统 版本

    2.磁盘分区用量

    二.安装必要的软件包

    for pkg in 'binutils' 'compat-libcap1' 'compat-libstdc++-33' 'gcc' 'gcc-c++' 'glibc' 'glibc-devel' 'ksh' 'libaio' 'libaio-devel' 'libgcc' 'libstdc++' 'libstdc++-devel' 'libXi' 'libXtst' 'make' 'sysstat'
    do
     rpm -qa | grep $pkg
     if [ $? -ne 0 ] ; then
      sudo yum install $pkg -y
     else
      echo $pkg 	 >>"已安装"
     fi
    done

    三、创建用户组 及 用户

    groupadd -g 54321 oinstall;
    groupadd -g 54322 dba;
    groupadd -g 54323 oper;
    groupadd -g 54324 backupdba;
    groupadd -g 54325 dgdba;
    groupadd -g 54326 kmdba;
    groupadd -g 54327 asmdba;
    groupadd -g 54328 asmoper;
    groupadd -g 54329 asmadmin;
    useradd -u 54321 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba -s /bin/bash -d /home/oracle oracle
    echo "1" | sudo passwd --stdin oracle

    四、修改权限及变量

    1.修改 oracle安装目录 和 数据目录的权限

    chown -R oracle:oinstall /oracle /oradata
    chmod 755 /oracle /oradata

    2. 配置环境变量 ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH

    grep ORACLE_BASE /home/oracle/.bash_profile && echo -e "ORACLE_BASE=/oracle
    ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1
    
    ORACLE_SID=zheng
    PATH=$PATH:$ORACLE_HOME/bin
    
    LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
    
    export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH" >>/home/oracle/.bash_profile

    五、配置系统参数

    1.关闭内存透明大页

    echo "transparent_hugepage=never">> sudo /etc/grub2.cfg

    2.修改操作系统参数和 用户资源限制参数

    cat >/etc/sysctl.d/100-sysctl.conf <<EOF
    fs.aio-max-nr = 1048576
    fs.file-max = 6815744
    kernel.shmall = 2097152
    kernel.shmmax = 1024000000
    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    net.ipv4.ip_local_port_range = 9000 65500
    net.core.rmem_default = 4194304
    net.core.rmem_max = 4194304
    net.core.wmem_default = 262144
    net.core.wmem_max = 1048576
    EOF
    # 同步系统参数
    sysctl -p
    cat >>/etc/security/limit.conf<<EOF oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 20240 oracle hard stack 32768 EOF

    六、启动安装

    unzip oracle12c.zip -d /tmp
    chmod -R +x /tmp/database
    
    /tmp/database/runInstaller
    # 获得当前操作系统的工作模式
    systemctl get-default
    # 安装完成,切换到多用户模式以节省内存
    systemctl set-default multi-user.target

    七、后续问题解决

    ########## 实例启动时问题 #############
    # 1.MEMORY_TARGET 大于 /dev/shm 时 实例无法启动
    # 配置 /dev/shm 大于 MEMORY_TARGET
    # 在 /etc/fstab 中指定 /dev/shm 挂载时的大小
    tmpfs  /dev/shm        tmpfs    defaults,size=4G 0 0
    # 并在命令行手动重新挂在 /dev/shm
    mount -o remount,size=4G /dev/shm
    
    # 2.重新安装数据库,init<SID>.ora 文件名中SID与 当前SID不一致
    # 你的ORACLE_SID参数有问题,有三个地方的SID可以查看一下是否一致:
    # 1 $ORACLE_BASE/admin/SID_NAME/pfile文件夹下的init文件中的SID;
    # 2 /etc/oratab中的最后一行第一个“:”前,如“oracl:/u01/app/oracle/product/11.2.0/dbhome_1:N”中的“oracl”;
    # 3 ~/.bash_profile中的SID;
    # 改好后重启linux系统
    cp /oracle/admin/honor9/pfile/init.ora.81201791110 /oracle/product/12.1.0/db_1/dbs/inithonor9.ora
    #上述的三个一致的话,应该就可以了。
    
    ####### 登陆 SQL*plus 字符问题 ##########
    # SQL*plus字符乱码 需要配置 NLS_LANG
    # 如果操作系统变量 LANG的值是 zh_CN.UTF-8
    # 则在 .bash_profile 配置 NLS_LANG='SIMPLIFIED CHINESE_CHINA.AL32UTF8'
    
    ##########  远程登陆问题   ##############
    # 配置网络 使用 netca 命令
    # ORA-28040: No Matching authentication protocol : $ORACLE_HOME/NETWORK/ADMIN/sqlnet.ora 增加一行 SQLNET.ALLOWED_LOGIN_VERSION=8
  • 相关阅读:
    linux 树型显示文件 tree ls tree 命令
    Linux常用命令大全
    My kingdom for a good timer! 规格严格
    org.dom4j.DocumentException: no protocol 规格严格
    利用GetObject("WinMgmts:")获取系统信息 规格严格
    给力URL 规格严格
    几个Servlet小Sample网站 规格严格
    使用SQL PLUS生成报表 规格严格
    High Resolution Timer in Java 5 规格严格
    GC调优文章精选:逐步添加 规格严格
  • 原文地址:https://www.cnblogs.com/zhengwenqiang/p/7460198.html
Copyright © 2020-2023  润新知