zoukankan      html  css  js  c++  java
  • oracle 19C 静默安装(单机版)

    一、前期环境准备

    1.硬件信息

    (1)主机版本

    [root@localhost ~]# cat /etc/redhat-release

    Red Hat Enterprise Linux Server release 7.7 (Maipo)

    [root@localhost ~]# 

    (2)CPU

    [oracle@localhost soft19]$ cat /proc/cpuinfo | grep "physical id" | uniq |wc -l

    8

    [root@localhost ~]# cat /proc/cpuinfo | grep "cpu cores" | uniq

    cpu cores       : 1

    (3)内存大小

    [root@localhost ~]# cat /proc/meminfo | grep MemTotal

    MemTotal:       16413444 kB

    2.介质信息

    [oracle@localhost ~]$ pwd

    /home/oracle

    [oracle@localhost ~]$ ls -lrt LINUX.X64_193000_db_home.zip 

    -rw-r--r-- 1 oracle oinstall 3059705302 Jun 30  2020 LINUX.X64_193000_db_home.zip

    [oracle@localhost ~]$ 

    unzip LINUX.X64_193000_db_home.zip -d $ORACLE_HOME

    3.环境准备

    (1)检查依赖包

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

    ##如果缺少依赖包,并且服务器已配置了 yum,可采用如下方式进行安装

    yum install bc

    gcc

    gcc-c++

    binutils

    compat-libcap1

    compat-libstdc++

    dtrace-modules

    dtrace-modules-headers

    dtrace-modules-provider-headers

    dtrace-utils

    elfutils-libelf

    elfutils-libelf-devel

    fontconfig-devel

    glibc

    glibc-devel

    ksh

    libaio

    libaio-devel

    libdtrace-ctf-devel

    libX11

    libXau

    libXi

    libXtst

    libXrender

    libXrender-devel

    libgcc

    librdmacm-devel

    libstdc++

    libstdc++-devel

    libxcb

    make

    smartmontools

    sysstat

    (2)修改内核参数

    cp /etc/sysctl.conf /etc/sysctl.conf_bak_20200327

    vi /etc/sysctl.conf ##添加如下内容

    fs.aio-max-nr = 1048576

    fs.file-max = 6815744

    kernel.shmall = 33554432

    kernel.shmmax = 137438953471

    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

    修改后执行 sysctl -p

    (3)禁用防火墙和 selinux

    systemctl stop firewalld.service

    systemctl disable firewalld.service

    systemctl status firewalld.service

    systemctl status NetworkManager.service

    ##从 RHEL7 开始,使用 systemctl 工具来管理服务程序,包括了 service 和 chkconfig

    以下是一些常用命令

    systemctl list-unit-files|grep enabled

    启动一个服务:systemctl start firewalld.service

    关闭一个服务:systemctl stop firewalld.service

    重启一个服务:systemctl restart firewalld.service

    显示一个服务的状态:systemctl status firewalld.service

    在开机时启用一个服务:systemctl enable firewalld.service

    在开机时禁用一个服务:systemctl disable firewalld.service

    查看服务是否开机启动:systemctl is-enabled firewalld.service;echo $?

    查看已启动的服务列表:systemctl list-unit-files|grep enabled

    [oracle@localhost ~]$ cat /etc/selinux/config

    # This file controls the state of SELinux on the system.

    # SELINUX= can take one of these three values:

    #     enforcing - SELinux security policy is enforced.

    #     permissive - SELinux prints warnings instead of enforcing.

    #     disabled - No SELinux policy is loaded.

    SELINUX=disabled

    # SELINUXTYPE= can take one of three values:

    #     targeted - Targeted processes are protected,

    #     minimum - Modification of targeted policy. Only selected processes are protected. 

    #     mls - Multi Level Security protection.

    SELINUXTYPE=targeted 

    [oracle@localhost ~]$ 

    (4)配置 host

    vi /etc/hosts

    10.135.102.133 localhost

    (5)创建用户、组

    groupadd -g 501 oinstall

    groupadd -g 502 dba

    groupadd -g 503 oper

    useradd -u 501 -g oinstall -G dba,oper oracle

    passwd oracle

    (6)创建目录并设置权限

    mkdir -p /u01/app/oracle/product/19.3/db_1

    chown -R oracle:oinstall /u01/

    chmod -R 775 /u01/

    (7)修改用户安全限制

    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

    ##在/etc/pam.d/login 文件添加如下内容

    session required pam_limits.so

    (8)设置用户环境变量

    su - oracle

    vi .bash_profile

    export ORACLE_SID=ecis

    export ORACLE_BASE=/u01/app/oracle

    export ORACLE_HOME=$ORACLE_BASE/product/19.3/db_1

    export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH:$JAVA_HOME/bin

    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

    source .bash_profile

    二、正式安装

    ##由于当前环境无法使用图形化进行安装,这里将采用静默安装 Oracle 19c 数据库

    1.静默安装数据库软件

    (1)修改响应文件

    cd /u01/app/oracle/product/19.3/db_1/install/response

    cat db_install.rsp|grep -v "^#"|grep -v "^$"

    mv db_install.rsp db_install.rsp.bak

    vi db_install.rsp

    oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0

    oracle.install.option=INSTALL_DB_SWONLY

    UNIX_GROUP_NAME=oinstall

    INVENTORY_LOCATION=/u01/app/oraInventory

    ORACLE_HOME=/u01/app/oracle/product/19.3/db_1

    ORACLE_BASE=/u01/app/oracle

    oracle.install.db.InstallEdition=EE

    oracle.install.db.OSDBA_GROUP=dba

    oracle.install.db.OSOPER_GROUP=oper

    oracle.install.db.OSBACKUPDBA_GROUP=dba

    oracle.install.db.OSDGDBA_GROUP=dba

    oracle.install.db.OSKMDBA_GROUP=dba

    oracle.install.db.OSRACDBA_GROUP=dba

    oracle.install.db.rootconfig.executeRootScript=false

    oracle.install.db.rootconfig.configMethod=ROOT

    (2)安装数据库软件

    /u01/app/oracle/product/19.3/db_1/runInstaller -force -silent -noconfig -ignorePrereq -responseFile /u01/app/oracle/product/19.3/db_1/install/response/db_install.rsp

    (3)根据安装提示查看安装日志

    tail -200f /u01/app/oraInventory/logs/InstallActions2020-03-31_04-49-29PM/installActions2020-03-31_04-49-29PM.log

    (4)执行脚本

    su - root

    [root@localhost ~]# /u01/app/oracle/product/19.3/db_1/root.sh

    Check /u01/app/oracle/product/19.3/db_1/install/root_localhost_2020-03-31_17-00-53-190777891.log for the output of root script

    2.静默安装数据库

    (1)修改响应文件

    cd /u01/app/oracle/product/19.3/db_1/assistants/dbca

    cat dbca.rsp |grep -v "^#"|grep -v "^$"

    mv dbca.rsp dbca.rsp.bak

    vi dbca.rsp

    gdbName=zjipnm

    sid=zjipnm

    createAsContainerDatabase=true

    numberOfPDBs=1

    pdbName=zjipnmpdb

    pdbAdminPassword=Gzb$akptY

    templateName=General_Purpose.dbc

    sysPassword=Gzb$akptY

    systemPassword=Gzb$akptY

    emExpressPort=5500

    datafileDestination={ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/

    characterSet=ZHS16GBK

    nationalCharacterSet=AL16UTF16

    memoryPercentage=40

    automaticMemoryManagement=false

    totalMemory=12288

    (2)安装数据库

    dbca -silent -createDatabase -responseFile /u01/app/oracle/product/19.3/db_1/assistants/dbca/dbca.rsp

    Prepare for db operation

    8% complete

    Copying database files

    31% complete

    Creating and starting Oracle instance

    32% complete

    36% complete

    40% complete

    43% complete

    46% complete

    Completing Database Creation

    51% complete

    53% complete

    54% complete

    Creating Pluggable Databases

    58% complete

    77% complete

    Executing Post Configuration Actions

    100% complete

    Database creation complete. For details check the logfiles at:

    /u01/app/oracle/cfgtoollogs/dbca/ECIS.

    Database Information:

    Global Database Name:ECIS

    System Identifier(SID):zjipnmpdb

    Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/PROD/PROD.log" for

    further details.

    3.创建监听

    (1)响应文件

    cd /u01/app/oracle/product/19.3/db_1/assistants/netca

    cat netca.rsp|grep -v "^#"|grep -v "^$"

    mv netca.rsp netca.rspbak

    [GENERAL]

    RESPONSEFILE_VERSION="19.0"

    CREATE_TYPE="CUSTOM"

    [oracle.net.ca]

    INSTALLED_COMPONENTS={"server","net8","javavm"}

    INSTALL_TYPE=""typical""

    LISTENER_NUMBER=1

    LISTENER_NAMES={"LISTENER"}

    LISTENER_PROTOCOLS={"TCP;1521"}

    LISTENER_START=""LISTENER""

    NAMING_METHODS={"TNSNAMES","ONAMES","HOSTNAME"}

    NSN_NUMBER=1

    NSN_NAMES={"EXTPROC_CONNECTION_DATA"}

    NSN_SERVICE={"PLSExtProc"}

    NSN_PROTOCOLS={"TCP;HOSTNAME;1521"}

    netca -silent -responsefile /u01/app/oracle/product/19.3/db_1/assistants/netca/netca.rsp

    [oracle@localhost ~]$ lsnrctl status

    LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 13-JAN-2021 17:37:44

    Copyright (c) 1991, 2019, Oracle.  All rights reserved.

    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))

    STATUS of the LISTENER

    ------------------------

    Alias                     LISTENER

    Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production

    Start Date                13-JAN-2021 13:39:31

    Uptime                    0 days 3 hr. 58 min. 12 sec

    Trace Level               off

    Security                  ON: Local OS Authentication

    SNMP                      OFF

    Listener Parameter File   /u01/app/oracle/product/19.3/db_1/network/admin/listener.ora

    Listener Log File         /u01/app/oracle/diag/tnslsnr/localhost/listener/alert/log.xml

    Listening Endpoints Summary...

      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))

      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

    Services Summary...

    Service "86b637b62fdf7a65e053f706e80a27ca" has 1 instance(s).

      Instance "ecis", status READY, has 1 handler(s) for this service...

    Service "b8c10d35dc4e8f1ee055000000000001" has 1 instance(s).

      Instance "ecis", status READY, has 1 handler(s) for this service...

    Service "zjipnm" has 1 instance(s).

      Instance "ecis", status READY, has 1 handler(s) for this service...

    Service "zjipnmXDB" has 1 instance(s).

      Instance "ecis", status READY, has 1 handler(s) for this service...

    Service "zjipnmpdb" has 1 instance(s).

      Instance "ecis", status READY, has 1 handler(s) for this service...

    The command completed successfully

    问题1

    [oracle@localhost ~]$ sqlplus "/as sysdba"

    SQL*Plus: Release 11.2.0.3.0 - Production on Wed Dec 15 10:54:03 2010

    Copyright (c) 1982, 2007, Oracle.  All rights reserved.

    Connected to an idle instance.

    SQL> startup

    ORA-01078: failure in processing system parameters

    LRM-00109: could not open parameter file '/oracle/app/oracle/product/11.2.0/db_1/dbs/initicare1.ora'

    没有initicare1.ora文件

    解决此问题的方法就是到cd /u01/app/oracle/admin/zjipnm/pfile/目录下,将init.ora.0132021114328复制到dbs目录下:

    cp init.ora.0132021114328 /u01/app/oracle/product/19.3/db_1/dbs/initicare1.ora

    问题2

    ORA-01102: cannot mount database in EXCLUSIVE mode

    1、重启服务器可解决

    2、查$ORACLE_HOME/dbs目录:

    $ cd $ORACLE_HOME/dbs

    $ ls sgadef*

    sgadef* not found

    $ ls lk*

    /opt/oracle/product/ 10.2.0/db_1/dbs/lkSIMPLY

    lkSIMPLY

    果然,lk<sid>文件没有被删除。将它删除掉

    $ rm lk*

    再次启动时又遇到下面的错误

    ORA-00205: error in identifying control file, check alert log for more info   : (

    查看共享内存段

    [root@simply bdump]# ipcs -map

    ------ Shared Memory Creator/Last-op --------

    shmid   owner  cpid    lpid

    786444  root    6490   6438

    819213  root    6549   6438

    1409040 oracle   31502  16728

    根据ID号清楚共享内存段

    ipcrm –m 1409040

    我这里操作是没有成功的,不过执行了下面的操作就ok了!

    查看信号量

    [root@simply bdump]# ipcs -s

    key       semid      owner   perms    nsems

    0x17ff6454 360448     oracle    640     154

    清除oracle的信号量

    [root@simply bdump]# ipcrm -s 360448

    再次查询确认

    [root@simply bdump]# ipcs -s

    ------ Semaphore Arrays --------

    key  semid  owner  perms   nsems

    再查询共享内存段也ok了!

    [root@simply bdump]# ipcs -m

    如果是Oracle进程没有关闭,

    $kill -9 <PID>

    安装oracle后实例不存在:Oracle报错 ORA-01078

    报错:

    在启动Oracle数据库时报错,如下:

    [oracle@localhost ~]$ sqlplus / as sysdba

    SQL*Plus: Release 11.2.0.1.0 Production on Sat Feb 16 19:43:43 2013

    Copyright (c) 1982, 2009, Oracle. All rights reserved.

    Connected to an idle instance.

    SQL> startup
    ORA-01078: failure in processing system parameters
    LRM-00109: could not open parameter file '/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/initorcl.ora'


    原因分析:


    这是因为在oracle10g和oracle11g中,数据库默认将使用spfile启动数据库,如果spfile不存在,则就会出现上述错误。

    解决一:

    用find /u01  -name pfile命令查找pfile文件的位置,/u01/app/oracle/admin/orcl/pfile/
    将$ORACLE_BASE/admin/orcl/pfile目录下的init.ora.2212013132036形式的文件copy 到$ORACLE_HOME/dbs目录下命名为initorcl.ora即可。

    (注:initorcl.ora中的orcl为你的实例名 ORACLE_SID,这里我的SID为:center)

    方法二:

    将$ORACLE_HOME/dbs目录下spflieorcl.ora改名为spfilecenter.ora即可。(注:spfilecenter.ora中的center为环境变量中设置的SID,我的是center)


    方法三:

    拷贝pfile文件下的init.ora.61420130339到dbs下,并重命名成init+实例名.ora即可

    {{{
    [oracle@localhost oracle]$ find /u01 -name pfile
    /u01/app/admin/orcl/pfile
    [oracle@localhost oracle]$ cd /u01/app/admin/orcl/pfile
    [oracle@localhost pfile]$ ls
    init.ora.61420130339
    [oracle@localhost pfile]$ cp init.ora.61420130339 /u01/app/oracle/dbs/initdevdb.ora
    }}}

  • 相关阅读:
    Reverse Integer
    First Bad Version
    Heaters
    Number of Segments in a String
    RPI学习--环境搭建_串口连接
    关键字const
    main函数参数的使用
    Redis 简单使用 and 连接池(python)
    南宁AI项目
    Go part 1 初探
  • 原文地址:https://www.cnblogs.com/chenjunjie/p/14273426.html
Copyright © 2011-2022 走看看