zoukankan      html  css  js  c++  java
  • CentOS 7.X 静默安装Oracle 12C数据库

    环境

    System : CentOS 7.x

    jrxxfwb-zrgldb://> uname -a
    Linux jrxxfwb-zrgldb 3.10.0-693.17.1.el7.x86_64 #1 SMP Thu Jan 25 20:13:58 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

    SELINUX: 关闭

    FIREWALL:关闭

    systemctl stop firewalld.service --关闭防火墙
    systemctl disable firewalld.service -- 禁止防火墙开机启动
    systemctl status firewalld.service  -- 查看防火墙状态


    操作步骤

    A、环境准备

    B、用户组创建

    C、修改系统内核参数

    D、修改用户配置

    E、数据库应用安装

    F、数据库初始化

    A、环境准备

    1、选择Oracle安装包,直接去官网选择自己需要的版本(需要注册oracle账号),如果下载不了的话也可以联系我度盘共享。

    地址:https://www.oracle.com/technetwork/cn/database/enterprise-edition/downloads/index.html

    本次使用的版本下载地址:https://www.oracle.com/technetwork/database/enterprise-edition/downloads/database12c-linux-download-2240591.html

    image


    2、使用root用户登录,进行系统基础环境准备。

    执行以下命令:

    yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*i686 compat-libstdc++-33*.devel compat-libstdc++-33 compat-libstdc++-33*.devel gcc gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 ksh libaio libaio*.i686 libaio-devel libaio-devel*.devel libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.devel libXi libXi*.i686 libXtst libXtst*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686

    静待系统进行软件更新安装,成功后如下:

    image

    执行检查命令:

    rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel

    image

    5

    B、用户组创建

    1、创建 oinstall 和 dba 组

    zrgldb:/root/> groupadd oinstall
    zrgldb:/root/> groupadd dba

    2、创建 oracle 用户,设置密码

    jrxxfwb-zrgldb:/root/> useradd -g oinstall -G dba oracle
    jrxxfwb-zrgldb:/root/> passwd oracle
    Changing password for user oracle.
    New password:
    BAD PASSWORD: it is based on a dictionary word
    BAD PASSWORD: is too simple
    Retype new password:
    BAD PASSWORD: The password is shorter than 8 characters
    Retype new password:
    passwd: all authentication tokens updated successfully.

    3、查看用户 id oracle

    zrgldb:/root/> id oracle
    uid=1004(oracle) gid=1004(oinstall) groups=1004(oinstall),1005(dba)


    C、修改系统内核参数

    1、修改系统配置: vi /etc/sysctl.conf ,增加如下内容:

    fs.aio-max-nr = 1048576
    fs.file-max = 6815744
    
    # shmall 是全部允许使用的共享内存大小,shmmax 是单个段允许使用的大小。这两个可以设置为内存的 90%。例如 16G 内存,16*1024*1024*1024*90% = 15461882265,shmall 的大小为 15461882265/4k(getconf PAGESIZE可得到) = 3774873
    # 因为本机是32G内存,所以shmmax 是 32*1024*1024*1024*90% = 30,923,764,531,shmall 是 30,923,764,531/4096 = 7,549,747
    kernel.shmmax = 30923764531
    kernel.shmall = 7549747
    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

    结果如下:

    image


    2、使配置生效:  sysctl -p

    image


    D、修改用户配置

    1、修改用户限制。

    打开文件:  vi  /etc/security/limits.conf

    在文件末尾添加如下6行内容:

    oracle soft nproc 2047
    oracle hard nproc 16384
    oracle soft nofile 1024
    oracle hard nofile 65536
    oracle soft stack 10240
    oracle hard stack 10240

    最终结果如图:

    image


    2、修改用户登录库文件引用

    打开系统文件: vi /etc/pam.d/login

    在文件末尾添加如下2行内容:

    session    required     /lib64/security/pam_limits.so
    session    required     pam_limits.so

    最终结果如图:

    image


    3、修改用户登录环境变量

    打开系统文件: 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

    最终结果如图:

    image

    退出编辑状态,使修改的文件生效:

    source /etc/profile


    4、创建安装目录,配置安装目录权限。

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


    5、配置 Oracle 用户环境变量

    切换用户: su – oracle

    编辑环境变量: vi .bash_profile

    新增配置如下:

    export ORACLE_BASE=/usr/app/oracle
    export ORACLE_SID=orcl
    export PS1=`uname -n`':$PWD/> '
    

    image

    生效配置文件: source .bash_profile

    E、数据库应用安装

    1、使用 oracle 用户,创建数据库安装配置文件夹 etc 。

    zrgldb://> su - oracle
    zrgldb:/home/oracle/> mkdir etc


    2、上传安装文件到 oracle 用户目录下,并解压文件。

    执行命令:

    zrgldb:/home/oracle/> unzip linuxamd64_12102_database_1of2.zip
    zrgldb:/home/oracle/> unzip linuxamd64_12102_database_2of2.zip

    解压完成会在用户目录下出现一个 database 文件夹,如下:

    image


    3、复制 Oracle配置文件到 etc 目录下,并修改配置文件权限

    zrgldb:/home/oracle/> cp  ./database/response/* ./etc/
    zrgldb:/home/oracle/> chmod 700 ./etc/*.rsp

    复制后的etc目录文件如下:

    image


    4、修改静默安装配置文件 db_install.rsp

    vi ./etc/db_install.rsp

    # 修改文件配置
    #-------------------------------------------------------------------------------
    # Specify the installation option.
    # It can be one of the following:
    #   - INSTALL_DB_SWONLY
    #   - INSTALL_DB_AND_CONFIG
    #   - UPGRADE_DB
    #-------------------------------------------------------------------------------
    oracle.install.option=INSTALL_DB_SWONLY
    
    #-------------------------------------------------------------------------------
    # Specify the Unix group to be set for the inventory directory.
    #-------------------------------------------------------------------------------
    UNIX_GROUP_NAME=oinstall
    
    #-------------------------------------------------------------------------------
    # Specify the location which holds the inventory files.
    # This is an optional parameter if installing on
    # Windows based Operating System.
    #-------------------------------------------------------------------------------
    INVENTORY_LOCATION=/usr/app/oracle/oraInventory
    
    # Specify value as the following to select all the languages.
    # Example : SELECTED_LANGUAGES=all_langs
    #-------------------------------------------------------------------------------
    SELECTED_LANGUAGES=en,zh_CN
    
    #-------------------------------------------------------------------------------
    # Specify the complete path of the Oracle Home.
    #-------------------------------------------------------------------------------
    ORACLE_HOME=/usr/app/oracle/product/12/db_1
    
    #-------------------------------------------------------------------------------
    # Specify the complete path of the Oracle Base.
    #-------------------------------------------------------------------------------
    ORACLE_BASE=/usr/app/oracle
    
    #-------------------------------------------------------------------------------
    # Specify the installation edition of the component.
    #
    # The value should contain only one of these choices.
    #   - EE     : Enterprise Edition
    
    #-------------------------------------------------------------------------------
    oracle.install.db.InstallEdition=EE
    
    #------------------------------------------------------------------------------
    # The DBA_GROUP is the OS group which is to be granted OSDBA privileges.
    #-------------------------------------------------------------------------------
    oracle.install.db.DBA_GROUP=dba
    
    #------------------------------------------------------------------------------
    # The OPER_GROUP is the OS group which is to be granted OSOPER privileges.
    # The value to be specified for OSOPER group is optional.
    #------------------------------------------------------------------------------
    oracle.install.db.OPER_GROUP=oinstall
    
    #------------------------------------------------------------------------------
    # The BACKUPDBA_GROUP is the OS group which is to be granted OSBACKUPDBA privileges.
    #------------------------------------------------------------------------------
    oracle.install.db.BACKUPDBA_GROUP=oinstall
    
    #------------------------------------------------------------------------------
    # The DGDBA_GROUP is the OS group which is to be granted OSDGDBA privileges.
    #------------------------------------------------------------------------------
    oracle.install.db.DGDBA_GROUP=oinstall
    
    #------------------------------------------------------------------------------
    # The KMDBA_GROUP is the OS group which is to be granted OSKMDBA privileges.
    #------------------------------------------------------------------------------
    oracle.install.db.KMDBA_GROUP=oinstall
    
    #-------------------------------------------------------------------------------
    # Specify the type of database to create.
    # It can be one of the following:
    #   - GENERAL_PURPOSE
    #   - DATA_WAREHOUSE
    # GENERAL_PURPOSE: A starter database designed for general purpose use or transaction-heavy applications.
    # DATA_WAREHOUSE : A starter database optimized for data warehousing applications.
    #-------------------------------------------------------------------------------
    oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
    
    #-------------------------------------------------------------------------------
    # Specify the Starter Database Global Database Name.
    #-------------------------------------------------------------------------------
    oracle.install.db.config.starterdb.globalDBName=orcl
    
    #-------------------------------------------------------------------------------
    # Specify the Starter Database SID.
    #-------------------------------------------------------------------------------
    oracle.install.db.config.starterdb.SID=orcl
    
    #-------------------------------------------------------------------------------
    # Specify the Starter Database character set.
    #
    #  One of the following
    #  AL32UTF8, WE8ISO8859P15, WE8MSWIN1252, EE8ISO8859P2,
    #  EE8MSWIN1250, NE8ISO8859P10, NEE8ISO8859P4, BLT8MSWIN1257,
    #  BLT8ISO8859P13, CL8ISO8859P5, CL8MSWIN1251, AR8ISO8859P6,
    #  AR8MSWIN1256, EL8ISO8859P7, EL8MSWIN1253, IW8ISO8859P8,
    #  IW8MSWIN1255, JA16EUC, JA16EUCTILDE, JA16SJIS, JA16SJISTILDE,
    #  KO16MSWIN949, ZHS16GBK, TH8TISASCII, ZHT32EUC, ZHT16MSWIN950,
    #  ZHT16HKSCS, WE8ISO8859P9, TR8MSWIN1254, VN8MSWIN1258
    #-------------------------------------------------------------------------------
    oracle.install.db.config.starterdb.characterSet=AL32UTF8
    
    #------------------------------------------------------------------------------
    # This variable should be set to true if Automatic Memory Management
    # in Database is desired.
    # If Automatic Memory Management is not desired, and memory allocation
    # is to be done manually, then set it to false.
    #------------------------------------------------------------------------------
    oracle.install.db.config.starterdb.memoryOption=true
    
    #------------------------------------------------------------------------------
    # This variable holds the password that is to be used for all schemas in the
    # starter database.
    #-------------------------------------------------------------------------------
    oracle.install.db.config.starterdb.password.ALL=oracle
    
    #------------------------------------------------------------------------------
    # Specify whether to enable the user to set the password for
    # My Oracle Support credentials. The value can be either true or false.
    # If left blank it will be assumed to be false.
    #
    # Example    : SECURITY_UPDATES_VIA_MYORACLESUPPORT=true
    #------------------------------------------------------------------------------
    SECURITY_UPDATES_VIA_MYORACLESUPPORT=true
    
    #------------------------------------------------------------------------------
    # Specify whether user doesn't want to configure Security Updates.
    # The value for this variable should be true if you don't want to configure
    # Security Updates, false otherwise.
    #
    # The value can be either true or false. If left blank it will be assumed
    # to be false.
    #
    # Example    : DECLINE_SECURITY_UPDATES=false
    #------------------------------------------------------------------------------
    DECLINE_SECURITY_UPDATES=true
    Look这里


    5、开始安装,执行 db_install.rsp

    zrgldb:/home/oracle/> ./database/runInstaller -silent -responseFile /home/oracle/etc/db_install.rsp
    Starting Oracle Universal Installer...

    Checking Temp space: must be greater than 500 MB.   Actual 44203 MB    Passed
    Checking swap space: 0 MB available, 150 MB required.    Failed <<<<

    Some requirement checks failed. You must fulfill these requirements before

    continuing with the installation,

    Continue? (y/n) [n]

    报错了。我直接输入 n退出了,当然输入 y 也可能安装成功,避免失败,我还是把问题解决一下。如果没报错直接进行安装操作,跳过以下步骤。

    一、是没有swap空间

    ① 检查一下系统的 swap 文件

    zrgldb:/home/oracle/>  swapon –s
    swapon: stat failed –s: No such file or directory

    说明系统不存在swap

    ② 切换 root 用户,创建swap文件

    zrgldb:/root/> dd if=/dev/zero of=/swapfile bs=1024 count=512k
    524288+0 records in
    524288+0 records out
    536870912 bytes (537 MB) copied, 1.49301 s, 360 MB/s

    ③ 格式化并激活 Swap 文件

    zrgldb:/root/> mkswap /swapfile
    Setting up swapspace version 1, size = 524284 KiB
    no label, UUID=ea40b04c-238c-41b1-8f83-7d36b8b7fd66

    zrgldb:/root/> swapon /swapfile
    swapon: /swapfile: insecure permissions 0644, 0600 suggested.

    ④ 再次检查系统的 Swap 文件

    zrgldb:/root/> swapon -s
    Filename                                Type            Size    Used    Priority
    /swapfile                               file    524284  0       -1

    ⑤ 配置机器重启自动挂载Swap,修改 fstab 配置:vi  /etc/fstab

    添加一行

    /swapfile          swap            swap    defaults        0 0

    ⑥ 赋予 Swap 文件权限

    zrgldb://> chmod 600 /swapfile
    zrgldb://> chown root:root /swapfile


    切换到 oracle 用户 ,再次执行本部操作的数据库安装命令:

    zrgldb:/home/oracle/> ./database/runInstaller -silent -responseFile /home/oracle/etc/db_install.rsp
    Starting Oracle Universal Installer...
    
    Checking Temp space: must be greater than 500 MB.   Actual 43690 MB    Passed
    Checking swap space: must be greater than 150 MB.   Actual 511 MB    Passed
    Preparing to launch Oracle Universal Installer from /tmp/OraInstall2019-08-01_03-16-16PM. Please wait ...


    You can find the log of this install session at:
      /usr/app/oracle/oraInventory/logs/installActions2019-08-01_03-20-39PM.log
    The installation of Oracle Database 12c was successful.
    Please check '/usr/app/oracle/oraInventory/logs/silentInstall2019-08-01_03-20-39PM.log' for more details.

    As a root user, execute the following script(s):
             1. /usr/app/oracle/oraInventory/orainstRoot.sh
             2. /usr/app/oracle/product/12/db_1/root.sh


    Successfully Setup Software.

    等待结果,这样安装就成功完成了。

    6、切换 root 用户,修改数据库配置

    zrgldb://> /usr/app/oracle/oraInventory/orainstRoot.sh
    Changing permissions of /usr/app/oracle/oraInventory.
    Adding read,write permissions for group.
    Removing read,write,execute permissions for world.
    
    Changing groupname of /usr/app/oracle/oraInventory to oinstall.
    The execution of the script is complete.
    jrxxfwb-zrgldb://> /usr/app/oracle/product/12/db_1/root.sh
    Check /usr/app/oracle/product/12/db_1/install/root_jrxxfwb-zrgldb_2019-08-01_15-29-54.log for the output of root script


    F、数据库初始化

    1、使用 oracle 用户登录,修改用户环境变量

    export ORACLE_BASE=/usr/app/oracle
    export ORACLE_SID=orcl
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
    export ORACLE_HOME=/usr/app/oracle/product/12/db_1
    export PATH=$PATH:$ORACLE_HOME/bin
    export LANG="zh_CN.UTF-8"
    export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
    export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'
    

    使环境变量生效,执行命令:source .bash_profile


    2、配置监听程序

    zrgldb:/home/oracle/> netca /silent /responsefile /home/oracle/etc/netca.rsp
    


    3、启动监听

    zrgldb:/home/oracle/> lsnrctl start
    LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 01-8月 -2019 15:47:15
    Copyright (c) 1991, 2014, Oracle.  All rights reserved.
    


    4、静默建库文件修改,打开 dbca.rsp 文件。

    vi ./etc/dbca.rsp

    #-----------------------------------------------------------------------------
    # Name          : SID
    # Datatype      : String
    # Description   : System identifier (SID) of the database
    # Valid values  : Check Oracle12c Administrator's Guide
    # Default value : <db_name> specified in GDBNAME
    # Mandatory     : No
    #-----------------------------------------------------------------------------
    SID = "orcl"
    
    #-----------------------------------------------------------------------------
    # Name          : CHARACTERSET
    # Datatype      : String
    # Description   : Character set of the database
    # Valid values  : Check Oracle12c National Language Support Guide
    # Default value : "US7ASCII"
    # Mandatory     : NO
    #-----------------------------------------------------------------------------
    CHARACTERSET = "AL32UTF8"
    
    #-----------------------------------------------------------------------------
    # Name          : LISTENERS
    # Datatype      : String
    # Description   : Specifies list of listeners to register the database with.
    #                 By default the database is configured for all the listeners specified in the
    #                 $ORACLE_HOME/network/admin/listener.ora
    # Valid values  : The list should be comma separated like "listener1,listener2".
    # Mandatory     : NO
    #-----------------------------------------------------------------------------
    LISTENERS = "LISTENERS"


    5、执行静默建库

    zrgldb:/home/oracle/>  dbca -silent -createDatabase  -responseFile  /home/oracle/etc/dbca.rsp
    输入 SYS 用户口令:
     
    输入 SYSTEM 用户口令:

    复制数据库文件
    1% 已完成
    3% 已完成
    11% 已完成
    18% 已完成
    26% 已完成
    37% 已完成
    正在创建并启动 Oracle 实例
    40% 已完成
    45% 已完成
    50% 已完成
    55% 已完成
    56% 已完成
    60% 已完成
    62% 已完成
    正在进行数据库创建
    66% 已完成
    70% 已完成
    73% 已完成
    85% 已完成
    96% 已完成
    100% 已完成
    有关详细信息, 请参阅日志文件 "/usr/app/oracle/cfgtoollogs/dbca/orcl/orcl.log"。

    建库完成了。


    6、创建数据库应用用户并授权。

    zrgldb:/home/oracle/> sqlplus / as sysdba
    
    SQL*Plus: Release 12.1.0.2.0 Production on 星期四 8月 1 16:45:33 2019
    
    Copyright (c) 1982, 2014, Oracle.  All rights reserved.
    
    
    连接到:
    Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
    With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
    
    SQL> create user starring identified by starring;
    
    用户已创建。
    
    SQL> grant connect,resource,dba to starring;
    
    授权成功。
    
  • 相关阅读:
    struct{} //长篇更新
    channel //长篇更新
    切片 //长篇更新
    引用
    核心:数据篇
    ARM指令解析
    arm寄存器解析
    Java-Selenium,获取下拉框中的每个选项的值,并随机选择某个选项
    log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
    eclipse安装springsource-tool-suite遇到的问题及解决方案
  • 原文地址:https://www.cnblogs.com/laramia/p/11283760.html
Copyright © 2011-2022 走看看