• Oracle Install 19c@CentOS 7.6


    Oracle Install 19c@CentOS 7.6

    拓扑图

    在这里插入图片描述

    环境准备

    • CentOS 7 1908
    • ELF 5.0.2 of SMTX OS

    CPU绑定

    在NUMA结构中,尽量把vCPU放到最少的NUMA

    #virsh list查看哪些虚机和序号
    [root@smtx-01 19:08:10 smartx]$virsh list
     Id    Name                           State
    ----------------------------------------------------
     1     e9eafd7a-9b19-4dd3-bce4-60635252528c running
     2     c4ea06f4-8084-4cdb-8010-a72e05402ce8 running
    
    #查看vcpu和vm的绑定
    [root@smtx-01 19:53:54 smartx]$virsh vcpuinfo 1
    VCPU:           0
    CPU:            31
    State:          running
    CPU time:       619.7s
    CPU Affinity:   -y-y-y-y-y-yyyyyyyyyyyyyyyyyyyyy
    
    VCPU:           1
    CPU:            7
    State:          running
    CPU time:       616.4s
    CPU Affinity:   -y-y-y-y-y-yyyyyyyyyyyyyyyyyyyyy
    
    #总cores
    [root@smtx-01 20:01:02 smartx]$cat /proc/cpuinfo | grep 'processor' | wc -l
    32
    #物理cores
    [root@smtx-01 20:03:34 smartx]$cat /proc/cpuinfo | grep "cores"|uniq
    cpu cores       : 8
    #cpus
    [root@smtx-01 20:03:40 smartx]$grep 'physical id' /proc/cpuinfo | sort -u | wc -l
    2
    
    [root@smtx-01 15:00:22 smartx]$virsh vcpupin 2 4 20#绑定2号虚拟机的4号vCPU到20 core
    [root@smtx-01 14:31:30 smartx]$virsh vcpupin 2 --current
    VCPU: CPU Affinity
    ----------------------------------
       0: 16
       1: 17
       2: 18
       3: 19
       4: 20
       5: 21
       6: 22
       7: 23
       8: 24
       9: 25
    ......
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46

    磁盘准备

    • 16C+64G+200G+100G(/u01)
    # 挂载/u01
    *mkdir /u01
    mkfs -t xfs /dev/vdb   
    mount /dev/vdb /u01
    echo "/dev/vdb  /u01                   xfs     defaults        0 0" >> /etc/fstab*
    
    [root@oracle-19 ~]# lsblk
    NAME                       MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sr0                         11:0    1  4.4G  0 rom  
    vda                        252:0    0  200G  0 disk 
    ├─vda1                     252:1    0    1G  0 part /boot
    └─vda2                     252:2    0  199G  0 part 
      ├─centos_oracle--19-root 253:0    0   50G  0 lvm  /
      ├─centos_oracle--19-swap 253:1    0   20G  0 lvm  [SWAP]
      └─centos_oracle--19-home 253:2    0  129G  0 lvm  /home
    vdb                        252:16   0  100G  0 disk
    [root@oracle-19 ~]# mkdir /u01
    [root@oracle-19 ~]# mkfs.xfs -f /dev/vdb
    meta-data=/dev/vdb               isize=512    agcount=4, agsize=6553600 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=1        finobt=0, sparse=0
    data     =                       bsize=4096   blocks=26214400, imaxpct=25
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
    log      =internal log           bsize=4096   blocks=12800, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0
    [root@oracle-19 ~]# mount /dev/vdb /u01
    [root@oracle-19 ~]# df -h
    Filesystem                          Size  Used Avail Use% Mounted on
    devtmpfs                             32G     0   32G   0% /dev
    tmpfs                                32G     0   32G   0% /dev/shm
    tmpfs                                32G   12M   32G   1% /run
    tmpfs                                32G     0   32G   0% /sys/fs/cgroup
    /dev/mapper/centos_oracle--19-root   50G  4.0G   47G   8% /
    /dev/vda1                          1014M  184M  831M  19% /boot
    /dev/mapper/centos_oracle--19-home  129G   33M  129G   1% /home
    tmpfs                               6.3G   20K  6.3G   1% /run/user/988
    tmpfs                               6.3G     0  6.3G   0% /run/user/0
    /dev/vdb                            100G   33M  100G   1% /u01
    
    [root@oracle-19 ~]# vim /etc/fstab
    
    #
    /dev/vdb                /u01                    xfs     defaults        0 0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45

    网络接口调优

    ethtool -g enp94s0f0np0  #查看10G端口,如果没有设置为8K,可用修改
    ethtool -G enp94s0f0np0 rx 8192
    ethtool -G enp94s0f0np0 tx 8192
    
    [root@smtx-02 20:07:56 smartx]$ethtool -g enp94s0f0np0
    Ring parameters for enp94s0f0np0:
    Pre-set maximums:
    RX:             8192
    RX Mini:        0
    RX Jumbo:       0
    TX:             8192
    Current hardware settings:
    RX:             1024
    RX Mini:        0
    RX Jumbo:       0
    TX:             1024
    
    [root@smtx-02 20:08:00 smartx]$ethtool -G enp94s0f0np0 rx 8192
    [root@smtx-02 20:08:27 smartx]$ethtool -G enp94s0f0np0 tx 8192
    [root@smtx-02 20:08:28 smartx]$ethtool -g enp94s0f0np0
    Ring parameters for enp94s0f0np0:
    Pre-set maximums:
    RX:             8192
    RX Mini:        0
    RX Jumbo:       0
    TX:             8192
    Current hardware settings:
    RX:             8192
    RX Mini:        0
    RX Jumbo:       0
    TX:             8192
    
    ethtool -g enp24s0f0  #查看1G端口,如果没有设置为4K,可用修改
    ethtool -G enp24s0f0 rx 4096
    ethtool -G enp24s0f0 tx 4096
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35

    禁用防火墙等系统服务

    *systemctl disable firewalld
    systemctl stop firewalld
    systemctl disable avahi-daemon
    systemctl disable bluetooth
    systemctl disable cups
    systemctl stop NetworkManager.service   
    systemctl disable NetworkManager.service*
    
    [root@oracle-19 ~]# systemctl disable firewalld.service 
    Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
    Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
    [root@oracle-19 ~]# systemctl stop firewalld.service 
    [root@oracle-19 ~]# systemctl disable avahi-daemon
    Removed symlink /etc/systemd/system/multi-user.target.wants/avahi-daemon.service.
    Removed symlink /etc/systemd/system/sockets.target.wants/avahi-daemon.socket.
    Removed symlink /etc/systemd/system/dbus-org.freedesktop.Avahi.service.
    [root@oracle-19 ~]# systemctl disable bluetooth.service 
    Removed symlink /etc/systemd/system/dbus-org.bluez.service.
    Removed symlink /etc/systemd/system/bluetooth.target.wants/bluetooth.service.
    [root@oracle-19 ~]# systemctl disable cups.service 
    Removed symlink /etc/systemd/system/multi-user.target.wants/cups.path.
    Removed symlink /etc/systemd/system/multi-user.target.wants/cups.service.
    Removed symlink /etc/systemd/system/sockets.target.wants/cups.socket.
    Removed symlink /etc/systemd/system/printer.target.wants/cups.service.
    [root@oracle-19 ~]# systemctl disable NetworkManager
    Removed symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service.
    Removed symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.
    Removed symlink /etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service.
    [root@oracle-19 ~]# systemctl stop NetworkManager
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    启用系统服务

    chmod +x /etc/rc.d/rc.local
    systemctl enable rc-local
    systemctl start rc-local
    systemctl is-active rc-local
    systemctl enable polkit
    
    [root@oracle-19 ~]# chmod +x /etc/rc.d/rc.local 
    [root@oracle-19 ~]# systemctl enable rc-local
    [root@oracle-19 ~]# systemctl start rc-local.service 
    [root@oracle-19 ~]# systemctl is-active rc-local.service 
    active
    [root@oracle-19 ~]# systemctl enable polkit
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    安装依赖

    yum install -y binutils  compat-libstdc++-33  compat-libcap1  elfutils-libelf  elfutils-libelf-devel  gcc  gcc-c++  glibc  glibc-common  glibc-devel  glibc-headers  ksh libaio  libaio-devel  libgcc  libstdc++  libXext  libXtst  kde-l10n-Chinese.noarch  libstdc++-devel  make  xclock  sysstat  libvirt-devel  man  nfs-utils  lsof  expect  unzip  redhat-lsb  openssh-clients  smartmontools  unixODBC  perl  telnet  vsftpd  ntsysv  lsscsi  libX11  libxcb  libXau  libXi  strace  sg3_utils  kexec-tools  net-tools  nmap  lrzsz  tree  dos2unix  ncurses  ncurses-devel  unixODBC-devel
    
    
    • 1
    • 2
    [root@oracle-19 ~]# rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm 
    Preparing...                          ################################# [100%]
            package compat-libstdc++-33-3.2.3-72.el7.x86_64 is already installed
    
    #这个rpm yum的方法很难装上
    链接:https://pan.baidu.com/s/1JG4Nm6t9El_OT6vEeb13pg 
    提取码:erl1 
    --19c安装软件也在此
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 禁用SELUNIX
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
    setenforce 0
    
    • 1
    • 2
    • 创建scsi_id软连接
    ln -s /lib/udev/scsi_id /sbin/scsi_id
    ll /sbin/scsi_id
    
    [root@oracle-19 ~]# ln -s /lib/udev/scsi_id /sbin/scsi_id
    [root@oracle-19 ~]# ll /sbin/scsi_id 
    lrwxrwxrwx. 1 root root 17 May 24 20:17 /sbin/scsi_id -> /lib/udev/scsi_id
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    禁用透明大页

    原因

    - Huge pages(标准大页)和Transparent Hugepages(透明大页)
        - 透明HugePages内存与标准HugePages内存不同,因为内核khugepaged线程在运行时动态分配内存。
        - 标准HugePages内存在启动时预先分配,并且在运行时不会更改。
        - 透明Hugepages可能会在运行时导致内存分配延迟。
        - 为避免性能问题,Oracle建议您在所有Oracle数据库服务器上禁用透明HugePages。
        - Oracle建议使用标准HugePages来提高性能
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    echo "### disable transparent_hugepage"  >>/etc/rc.local
    echo "if test -f /sys/kernel/mm/transparent_hugepage/enabled; then "  >>/etc/rc.local
    echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled"  >>/etc/rc.local
    echo "fi"  >>/etc/rc.local
    echo "if test -f /sys/kernel/mm/transparent_hugepage/defrag; then"  >>/etc/rc.local
    echo "echo never > /sys/kernel/mm/transparent_hugepage/defrag"  >>/etc/rc.local
    echo "fi"  >>/etc/rc.local
    
    chmod +x /etc/rc.local
    source /etc/rc.local
    sh /etc/rc.local
    cat /sys/kernel/mm/transparent_hugepage/defrag
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 创建用户组
    groupadd -g 1001 oinstall 
    groupadd -g 1002 dba 
    groupadd -g 1003 oper 
    groupadd -g 1004 asmadmin 
    groupadd -g 1005 asmoper 
    groupadd -g 1006 asmdba  
    
    useradd -u 1001 -g oinstall -G dba,asmadmin,asmdba,oper oracle 
    useradd -u 1002 -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid
    
    chage -M -1 oracle
    chage -M -1 grid
    echo "cisco123" |passwd oracle --stdin
    echo "cisco123" |passwd grid --stdin
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 修改内核参数
    cat>>/etc/sysctl.conf<<EOF
    fs.aio-max-nr = 1048576
    fs.file-max = 6815744
    kernel.shmall = 16443117
    kernel.shmmax = 53880805785
    kernel.shmmni = 4096
    kernel.sem = 250 256000 100 1024
    net.ipv4.ip_local_port_range = 9000 65500  
    net.core.rmem_default = 262144
    net.core.rmem_max = 10485860
    net.core.wmem_default = 262144
    net.core.wmem_max = 10485860
    vm.min_free_kbytes = 524288
    
    net.ipv4.ipfrag_high_thresh = 16777216
    net.ipv4.ipfrag_low_thresh = 15728640
    
    vm.swappiness = 0
    vm.dirty_background_ratio = 5
    vm.dirty_ratio = 15
    vm.dirty_expire_centisecs = 500
    vm.dirty_writeback_centisecs = 100 
    vm.overcommit_memory = 1
    EOF
    
    sysctl -p
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    kernel.shmall = memory size / pagesize (这个pagesize是OS的,可以通过getconf PAGESIZE得知,可以通过执行以下命令获取到)

    echo "`cat /proc/meminfo | grep "MemTotal" | awk '{print $2}'` / (`getconf PAGESIZE` / 1024)" | bc
    
    • 1

    kernel.shmmax 推荐: 1/2 memory < shmmax <= memory - 1. Limit max SGA size.

    (注意,这里的单位是byte,可以通过下面命令计算–此处示例以物理内存的80%进行设置:

    echo "`cat /proc/meminfo | grep "MemTotal" | awk '{print $2}'` * 1024 * 0.8" | bc  | sed 's#\..*$##' 
    
    
    • 1
    • 2
    [root@oracle-19 ~]# echo "`cat /proc/meminfo | grep "MemTotal" | awk '{print $2}'` / (`getconf PAGESIZE` / 1024)" | bc 
    16443117
    [root@oracle-19 ~]# echo "`cat /proc/meminfo | grep "MemTotal" | awk '{print $2}'` * 1024 * 0.8" | bc  | sed 's#\..*$##' 
    53880805785
    
    • 1
    • 2
    • 3
    • 4

    注:
    对于OLTP类,Oracle数据库:SGA=系统内存*80%70%,PGA=系统内存80%20%
    对于OLAP类,Oracle数据库:SGA=系统内存
    80%50%,PGA=系统内存80%*50%

    别忘了执行命令生效:sysctl -p

    • 修改Limits配置
    cp /etc/security/limits.conf /etc/security/limits.conf.`date +%Y%m%d`
    
    echo " grid soft nofile 1024
    grid hard nofile 65536
    grid soft stack 10240
    grid hard stack 32768
    grid soft nproc 4096
    grid hard nproc 16384
    oracle soft nofile 1024
    oracle hard nofile 65536
    oracle soft stack 10240
    oracle hard stack 32768
    oracle soft nproc 4096
    oracle hard nproc 16384
    root soft nproc 2047 " >> /etc/security/limits.conf
    
    echo "session required pam_limits.so"   >>/etc/pam.d/login
    echo "NOZEROCONF=yes" >> /etc/sysconfig/network
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 修改默认shell启动配置

    修改/etc/profile,添加如下设置:

    cat >>/etc/profile <<EOF
     
    if [ \$USER = "oracle" ] || [ \$USER = "grid" ]; then
     if [ \$SHELL = "/bin/ksh" ]; then
        ulimit -p 16384
        ulimit -n 65536
     else
        ulimit -u 16384 -n 65536
     fi
    umask 022
    fi
    EOF
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    修改/etc/csh.login,添加如下设置:

    cat >>/etc/csh.log <<EOF
    
    if ( \$USER = "oracle" || \$USER = "grid" ) then
    limit maxproc 16384
    limit descriptors 65536
    endif
    EOF
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 创建目录
    mkdir -p /u01/app/oraInventory
    chown -R grid:oinstall /u01/app/oraInventory
    chmod -R 775 /u01/app/oraInventory
    
    mkdir -p /u01/app/grid
    chown -R grid:oinstall /u01/app/grid
    chmod -R 775 /u01/app/grid
    
    mkdir -p /u01/app/19c/grid
    chown -R grid:oinstall /u01/app/19c/grid
    chmod -R 775 /u01/app/19c/grid
    
    mkdir -p /u01/app/oracle
    chown -R oracle:oinstall /u01/app/oracle
    chmod -R 775 /u01/app/oracle
    
    mkdir -p /u01/app/oracle/product/19c/db_1
    chown -R oracle:oinstall /u01/app/oracle/product/19c/db_1
    chmod -R 775 /u01/app/oracle/product/19c/db_1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 设置grid 环境变量
    #vim /home/grid/.bash_profile
    
    export ORACLE_BASE=/u01/app/grid
    export ORACLE_SID=+ASM1 
    export ORACLE_HOME=/home/u01/app/19c/grid
    export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
    NAME=oracle-19
    PS1="[$NAME:$LOGNAME]:\${PWD}>"  
    umask 022
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    设置oracle 环境变量

    #vim /home/oracle/.bash_profile
    
    export ORACLE_SID=odb
    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/19c/db_1
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
    export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
    
    export TMP=/tmp
    export TMPDIR=$TMP
    
    NAME=oracle-19
    PS1="[$NAME:$LOGNAME]:\${PWD}>" 
    
    umask 022
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 检查操作系统时区
    [root@oracle-19 ~]# date
    Tue May 24 21:54:45 CST 2022
    
    • 1
    • 2
    • 设置NOZEROCON
    echo "NOZEROCONF=yes" >> /etc/sysconfig/network
    
    • 1
    • 修改grid 和 oracle 进程数量限制
    echo "oracle soft nproc 16384"  >>/etc/security/limits.d/20-nproc.conf
    echo "grid soft nproc 16384"    >>/etc/security/limits.d/20-nproc.conf
    echo "oracle hard nproc 16384"  >>/etc/security/limits.d/20-nproc.conf
    echo "grid hard nproc 16384"    >>/etc/security/limits.d/20-nproc.conf
    
    • 1
    • 2
    • 3
    • 4
    • 修改GRUB参数
    #vim /etc/default/grub
    
    • 1

    在GRUB_CMDLINE_LINUX后增加

    iommu=soft elevator=noop apm=off transparent_hugepage=never numa=off powersaved=off spectre_v2=off nopti
    
    • 1

    保存

    #grub2-mkconfig -o /boot/grub2/grub.cfg
    
    • 1

    配置磁盘(根据配置修改)

    根据系统使用存储的不同而配置磁盘,进行磁盘名称持久化的方法略有不同。

    编辑 /etc/udev/rules.d/99-oracle-asmdevice.rules

    #vim /etc/udev/rules.d/99-oracle-asmdevice.rules
    
    • 1

    本次部署的虚拟机的虚拟磁盘选择Virtio总线方式,可以发挥更好的I/O性能,

    [root@oracle-19 ~]# lsblk
    NAME                       MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sr0                         11:0    1  4.4G  0 rom  /run/media/grid/CentOS 7 x86_64
    vda                        252:0    0  200G  0 disk 
    ├─vda1                     252:1    0    1G  0 part /boot
    └─vda2                     252:2    0  199G  0 part 
      ├─centos_oracle--19-root 253:0    0   50G  0 lvm  /
      ├─centos_oracle--19-swap 253:1    0   20G  0 lvm  [SWAP]
      └─centos_oracle--19-home 253:2    0  129G  0 lvm  /home
    vdb                        252:16   0  100G  0 disk /u01
    vdc                        252:32   0   80G  0 disk 
    vdd                        252:48   0   80G  0 disk 
    vde                        252:64   0   80G  0 disk 
    vdf                        252:80   0   80G  0 disk 
    vdg                        252:96   0   40G  0 disk 
    vdh                        252:112  0   40G  0 disk 
    vdi                        252:128  0   40G  0 disk 
    vdj                        252:144  0   40G  0 disk
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    具体格式为:

    SUBSYSTEM=="block",KERNEL=="vdc",GROUP="asmadmin",OWNER="grid",MODE="0660"
    SUBSYSTEM=="block",KERNEL=="vdd",GROUP="asmadmin",OWNER="grid",MODE="0660"
    SUBSYSTEM=="block",KERNEL=="vde",GROUP="asmadmin",OWNER="grid",MODE="0660"
    SUBSYSTEM=="block",KERNEL=="vdf",GROUP="asmadmin",OWNER="grid",MODE="0660"
    
    SUBSYSTEM=="block",KERNEL=="vdg",GROUP="asmadmin",OWNER="grid",MODE="0660"
    SUBSYSTEM=="block",KERNEL=="vdh",GROUP="asmadmin",OWNER="grid",MODE="0660"
    SUBSYSTEM=="block",KERNEL=="vdi",GROUP="asmadmin",OWNER="grid",MODE="0660"
    SUBSYSTEM=="block",KERNEL=="vdj",GROUP="asmadmin",OWNER="grid",MODE="0660"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    执行配置:

    #/sbin/udevadm trigger --type=devices --action=change
    
    • 1

    reboot

    GRID 安装(图形化安装)

    解压安装介质,root

    unzip V982068-01.zip -d /u01/app/19c/grid/
    chown -R grid:oinstall /u01/app/19c/grid/
    chmod +x -R /u01/app/19c/grid/
    
    • 1
    • 2
    • 3

    注:V982068-01.zip是GRID安装介质

    以grid用户登陆

    图形化安装Grid

    cd /u01/app/19c/grid
    ./gridSetup.sh
    
    • 1
    • 2

    在这里插入图片描述

    第1步:配置选项

    在这里插入图片描述

    第2步:选择磁盘组

    在这里插入图片描述

    更改搜索路径为 /dev/vd*

    在这里插入图片描述

    冗余:选择 外部

    选择磁盘:勾选需要的磁盘
    在这里插入图片描述

    第3步:指定ASM口令

    在这里插入图片描述

    对这些账户使用同一口令:xxx123

    第4步:管理选项

    在这里插入图片描述

    不用注册,略过

    第5步:特权操作系统组

    在这里插入图片描述

    第6步:指定安装位置

    在这里插入图片描述

    第7步:创建产品清单

    在这里插入图片描述

    第8步:Root脚本执行配置

    在这里插入图片描述

    第9步:执行先决条件检查

    在这里插入图片描述

    交换空间大小告警可忽略(不使用交换空间)

    包:cvuqdisk-1.0.10.1 本次部署不使用,告警可忽略
    在这里插入图片描述

    忽略告警,选择继续

    在这里插入图片描述

    第10步 概要

    在这里插入图片描述

    第11步 安装产品

    在这里插入图片描述

    执行配置脚本:

    在这里插入图片描述

    执行1:

    /u01/app/oraInventory/orainstRoot.sh
    
    • 1

    在这里插入图片描述

    执行2:

    /u01/app/19c/grid/root.sh
    
    • 1

    在这里插入图片描述

    继续执行:
    在这里插入图片描述

    第12步 完成

    在这里插入图片描述

    ASM磁盘管理

    前面安装Grid的作用就是可用ASM使用磁盘

    在VM中增加磁盘

    在DBVM增加4块磁盘用于REDO log文件。

    在DBVM的操作系统OS中显示为:vdg、vdh、vdi、vdj
    在这里插入图片描述

    配置磁盘

    根据系统使用存储的不同而配置磁盘,进行磁盘名称持久化的方法略有不同。

    编辑 /etc/udev/rules.d/99-oracle-asmdevice.rules

    #vim /etc/udev/rules.d/99-oracle-asmdevice.rules
    
    • 1

    本次部署的虚拟机的虚拟磁盘选择Virtio总线方式,可以发挥更好的I/O性能,

    具体格式为:

    SUBSYSTEM=="block",KERNEL=="vdc",GROUP="asmadmin",OWNER="grid",MODE="0660"
    SUBSYSTEM=="block",KERNEL=="vdd",GROUP="asmadmin",OWNER="grid",MODE="0660"
    SUBSYSTEM=="block",KERNEL=="vde",GROUP="asmadmin",OWNER="grid",MODE="0660"
    SUBSYSTEM=="block",KERNEL=="vdf",GROUP="asmadmin",OWNER="grid",MODE="0660"
    
    SUBSYSTEM=="block",KERNEL=="vdg",GROUP="asmadmin",OWNER="grid",MODE="0660"
    SUBSYSTEM=="block",KERNEL=="vdh",GROUP="asmadmin",OWNER="grid",MODE="0660"
    SUBSYSTEM=="block",KERNEL=="vdi",GROUP="asmadmin",OWNER="grid",MODE="0660"
    SUBSYSTEM=="block",KERNEL=="vdj",GROUP="asmadmin",OWNER="grid",MODE="0660"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述

    执行配置:

    /sbin/udevadm trigger --type=devices --action=change
    
    • 1

    ASM磁盘组配置

    以grid用户登陆DBVM

    cd /u01/app/19c/grid/bin
    ./asmca
    
    • 1
    • 2

    运行asmca

    在这里插入图片描述

    选择磁盘组

    在这里插入图片描述

    创建磁盘组

    在这里插入图片描述

    选择之前配置的4块redo磁盘vdg、vdh、vdi、vdj。

    选用 外部 冗余模式。

    执行操作

    点击确定,执行操作

    完成

    在这里插入图片描述
    完成后,可以看到新建的REDO磁盘组。
    在这里插入图片描述

    • 安装Oracle数据库

    解压安装介质,oracle login

    unzip V982063-01.zip -d /u01/app/oracle/product/19c/db_1/
    
    • 1

    图形化安装Oracle数据库

    cd /u01/app/oracle/product/19c/db_1/
    ./runInstaller
    
    • 1
    • 2

    第1步 配置选项

    选择 仅设置软件
    在这里插入图片描述

    第2步 数据库安装选项

    在这里插入图片描述

    选择单实例数据库安装

    第3步 数据库版本

    选择 企业版

    在这里插入图片描述

    第4步 指定安装位置

    在这里插入图片描述

    第5步 已授权的操作系统组

    在这里插入图片描述

    第6步 Root脚本执行

    在这里插入图片描述

    第7步 先决条件检查

    在这里插入图片描述

    交换空间大小告警可忽略(不使用交换空间)

    在这里插入图片描述

    在这里插入图片描述
    选择 是

    第8步 概要

    在这里插入图片描述

    第9步 安装产品

    在这里插入图片描述
    在这里插入图片描述

    执行配置脚本
    在这里插入图片描述

    第10步 完成

    在这里插入图片描述

    用DBCA创建数据库

    cd /u01/app/oracle/product/19c/db_1/bin
    ./dbca
    
    • 1
    • 2

    图形化创建数据库

    在这里插入图片描述

    第1步 选择数据库操作

    在这里插入图片描述

    选择 创建数据库

    第2步 选择数据库创建模式

    在这里插入图片描述

    选择 高级配置

    第3步 选择数据库部署类型

    在这里插入图片描述

    选择 一般用途或事务处理

    第4步 指定数据库标识详细信息

    在这里插入图片描述

    填写 全局数据库名:odb

    PDB名称:pdb01

    第5步 选择数据库存储选项

    在这里插入图片描述

    选择将以下项用于数据库存储属性

    第6步 快速恢复选项

    在这里插入图片描述

    第7步 指定网络配置详细信息

    在这里插入图片描述

    第8步 选择Oracle Data Vault配置选项

    在这里插入图片描述

    第9步 指定配置选项

    在这里插入图片描述

    配置内存为VM总内存的80%(SGA、PGA自动分配)

    在这里插入图片描述

    第10步 指定管理选项

    在这里插入图片描述

    第11步 指定数控用户身份证明

    在这里插入图片描述

    选择 所有账户使用同一管理口令: xxx123

    第12步 选择数据库创建选项

    在这里插入图片描述

    第13步 概要

    在这里插入图片描述

    第14步 进度页

    在这里插入图片描述

    第15步 完成

    在这里插入图片描述

    • 检查测试

    连接Oracle数据库

    sqlplus / as sysdba
    
    • 1

    查看连接数据库名称

    SQL> show con_name;
    
    • 1

    查看全局数据库名

    SQL>select name from v$database;
    
    • 1

    查看PDBS

    SQL> show pdbs;
    
    • 1

    查看数据库SGA设置

    SQL> show parameter sga;
    
    • 1

    查看数据库PGA设置

    SQL> show parameter pga;
    
    • 1

    连接CDB

    SQL> alter session set container=CDB$ROOT;
    
    • 1
  • 相关阅读:
    二叉树的直径
    Effective objective-C---第六章学习--块
    OpenAI Whisper论文笔记
    Java 数组_方法_static关键字
    汽车企业能源管理工具_汽车生产能源管理系统_综合能源管控系统
    极客笔记你这个偷人家文章的贼
    @Autowired与@Resource区别
    科研笔记(八) 深度学习及其在 WiFi 人体感知中的应用(上)
    JS(WebAPI部分)
    会声会影2024有哪些新功能?好不好用
  • 原文地址:https://blog.csdn.net/weixin_43394724/article/details/126091647