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;
    
    授权成功。
    
  • 相关阅读:
    11111 Generalized Matrioshkas
    Uva 442 Matrix Chain Multiplication
    Uva 10815 Andy's First Dictionary
    Uva 537 Artificial Intelligence?
    Uva 340 MasterMind Hints
    SCAU 9508 诸葛给我牌(水泥题)
    Uva 10420 List of Conquests(排序水题)
    Uva 409 Excuses, Excuses!
    10/26
    11/2
  • 原文地址:https://www.cnblogs.com/laramia/p/11283760.html
Copyright © 2011-2022 走看看