暂无图片
暂无图片
5
暂无图片
暂无图片
暂无图片

万字总结,达梦数据库守护集群部署!

IT小Chen 2024-05-27
3939

前言

  达梦守护集群部署,类似Oracle DG,本文主要介绍如下12部分内容,仅用于测试,仅供参考,请勿用于生产!

    1.达梦守护集群安装前准备;
    2.达梦守护集群安装;
    3.配置主备;
    4.注册服务;
    5.启动集群;
    6.参数优化;
    7.主从同步测试;
    8.配置服务名;
    9.主备手动切换测试;
    10.主备自动切换测试;
    11.配置定时备份;
    12.常用命令。

    参考达梦官网链接如下:

      https://eco.dameng.com/document/dm/zh-cn/ops/DW-installation-cluster.html

      安装说明

      安装架构

      四台服务器,两台数据库服务器,1-2台监控器,占用资源较低。

      CJC系统测试达梦数据库安装为例:

      注意:

      1.如果服务器有多余稳定的心跳网卡,可以配置单独的心跳IP作为内部通信,如果没有心跳网卡,使用业务IP作为心跳IP

      版本

      8.1.3.26

      8.1.3.26

      8.1.3.26

      8.1.3.26

      架构

      监控器1

      监控器2

      业务IP

      192.168.1.101

      192.168.1.102

      192.168.1.103

      192.168.1.104

      心跳IP

      192.168.1.101

      192.168.1.102

      192.168.1.103

      192.168.1.104

      操作系统版本

      Kylin Linux Advanced Server V10 (Tercel)

      Kylin Linux Advanced Server V10 (Tercel)

      Kylin Linux Advanced Server V10 (Tercel)

      Kylin Linux Advanced Server V10 (Tercel)

      CPU类型

      X86

      X86

      X86

      X86

      数据库实例名

      CJC01

      CJC02

      数据库名

      CJC

      CJC

      数据库字符集

      UTF-8

      UTF-8

      PAGE_SIZE

      32K

      32K

      EXTENT_SIZE

      16

      16

      LENGTH_IN_CHAR

      1

      1

      实例端口号

      35231(默认端口号5236)

      35231(默认端口号5236)

      MAL端口

      35331

      35331

      MAL守护进程端口

      35431

      35431

      守护进程端口

      35531

      35531

      守护组

      GRPCJC

      GRPCJC

      OGUID

      101102

      101102

      业务用户名

      CJC

      CJC

      业务用户名密码

      **********

      **********

      SYSDBA用户密码

      **********

      **********

      操作系统用户

      dmdba

      dmdba

      dmdba

      dmdba

      软件路径

      /dm8/dbms

      /dm8/dbms

      /dm8/dbms

      /dm8/dbms

      控制文件路径

      /dm8/ctl

      /dm8/ctl

      /dm8/ctl

      /dm8/ctl

      数据文件路径

      /dm8/data

      /dm8/data

      /dm8/data

      /dm8/data

      日志文件路径

      /dm8/redo

      /dm8/redo

      /dm8/redo

      /dm8/redo

      归档文件路径

      /dm8/arch

      /dm8/arch

      /dm8/arch

      /dm8/arch

      备份文件路径

      /dm8/bak

      /dm8/bak

      /dm8/bak

      /dm8/bak

      安装介质路径

      /dm8/soft

      /dm8/soft

      /dm8/soft

      /dm8/soft

      巡检路径

      /dm8/check

      /dm8/check

      /dm8/check

      /dm8/check

      脚本路径

      /dm8/scripts

      /dm8/scripts

      /dm8/scripts

      /dm8/scripts

      安装方式

      命令行

      命令行

      命令行

      命令行

      安装前准备

      1.准备安装介质

      试用版下载地址

        https://www.dameng.com/list_103.html

        达梦官网平台 CPU平台 X86 下没有银河麒麟操作系统安装介质

        需要向原厂申请:

          ls -lrth
          total 1.5G
          -rw-r--r-- 1 root root 1.5G Sep 18 17:54 dm8_20230xxx_x86_kylin10_64_include_symbols.iso
          root@EBGCJC-002:/soft#md5sum dm8_20230xxx_x86_kylin10_64_include_symbols.iso
          3d48530c44fc68eb6525011a3751e4c9 dm8_20230xxx_x86_kylin10_64_include_symbols.iso

          企业版,需要单独购买,提前和厂商获取安装介质

          2.系统查询

          操作系统查询

          操作系统版本

          查询方式

          iSoft3.0/Kylin6.0/CentOS6.0/Kylin4/NFS3.0

          cat etc/issue

          iSoft3.0/Kylin6.0/CentOS6.0/Kylin4

          lsb_release -a|grep "Description"

          iSoft4.0/Kylin7.0/CentOS7.0/Kylin4/Kylin10/NFS3.0/NFS4.0

          cat etc/os-release | grep "PRETTY_NAME"  

          Kylin6.0/Kylin7.0/Kylin10

          cat etc/.productinfo

          Kylin7.0/Kylin10

          nkvers

          内核查询

          操作系统版本

          查询方式

          iSoft3.0/iSoft4.0/Kylin6.0/Kylin7.0/CentOS6.0/CentOS7.0/Kylin4/Kylin10

          cat proc/version

          iSoft3.0/iSoft4.0/Kylin6.0/Kylin7.0/CentOS6.0/CentOS7.0/Kylin4/Kylin10

          uname -r

          iSoft3.0/iSoft4.0/Kylin6.0/Kylin7.0/CentOS6.0/CentOS7.0/Kylin4/Kylin10

          uname -a

          系统位数查询

          操作系统版本

          查询方式

          iSoft3.0/iSoft4.0/Kylin6.0/Kylin7.0/CentOS6.0/CentOS7.0/Kylin4/Kylin10

          getconf LONG_BIT

          系统架构

          操作系统版本

          查询方式

          iSoft3.0/iSoft4.0/Kylin6.0/Kylin7.0/CentOS6.0/CentOS7.0/Kylin4/Kylin10)

          uname -m

          CPU 型号

          型号

          查询方式

          Intel 鲲鹏/飞腾/龙芯

          lscpu

          Intel 飞腾/龙芯

          cat proc/cpuinfo|grep name|cut -f2 -d:|uniq -c

          CPU

          型号

          查询方式

          Intel

          物理

          cat proc/cpuinfo|grep "physical id"|sort|uniq|wc -l

          核数

          cat proc/cpuinfo|grep "cores" |uniq

          鲲鹏

          物理

          lscpu | grep "CPU(s):"

          lscpu | grep "座:"

          核数

          lscpu | grep "Core(s) per socket:"

          Intel/飞腾/龙芯

          物理

          lscpu | grep "Socket(s):"

          核数

          lscpu | grep "每个座的核数:"

          内存

            free -h

            磁盘

              df -h

              服务器型号查询

                dmidecode -t 1

                3.硬件环境需求

                用户应根据DM及应用系统的需求来选择合适的硬件配置,如CPU的指标、内存及磁盘容量等。档次一般应尽可能高一些,尤其是作为数据库服务器的机器,基于Java的程序运行时最好有较大的内存。其它设备如UPS等在重要应用中也应考虑。下面给出安装DM所需的硬件基本配置:

                4.软件环境需求

                环境检查与修改

                1.磁盘规划及挂载

                磁盘规划

                磁盘规划是项目实施前的一项重要工作,不仅涉及系统上线的运行效果,也会影响后期的运维扩展操作。

                当条件有限只能使用单块盘的情况下,建议通过创建不同的 LV,设置多个挂载点。

                如果使用多块盘的则尽量一块盘一个挂载点,多块磁盘有利于磁盘空间的分配,可以进行数据分离处理,避免彼此资源占用。

                如果数据量较大,且对于数据交互分析 sql 有比较大要求的场景,推荐将数据目录配置到固态磁盘(可根据 IO 等判断)。

                对于处理数据量不大的业务项目,且不牵扯大数据分析的场景,可以使用全机械磁盘。

                其中归档、备份和数据分开存储,备份也可以存放到 nas 上,实现异地备份。

                以下列举了分开存储的优势:

                  1.磁盘写入数据时会产生较少的资源占用和冲突,有利于提高数据库的性能。
                  2.可以很容易的监测各类的使用和剩余空间。
                  5.减少磁盘误删或毁坏造成的损失。
                  4.不会抢占数据库的磁盘使用空间。

                  磁盘格式

                  常用的磁盘格式主要有 ext4 XFS,以下分别指出 XFS 的优点和缺点:

                  优点

                  1)数据完全性。

                  采用 XFS 文件系统,当意想不到的宕机发生后,首先,由于文件系统开启了日志功能,所以磁盘上的文件不再会意外宕机而遭到破坏了。不论目前文件系统上存储的文件与数据有多少,文件系统都可以根据所记录的日志在很短的时间内迅速恢复磁盘文件内容。相比 ext4 更能保证数据完整。

                  2)传输特性。

                  XFS 文件系统采用优化算法,日志记录对整体文件操作影响非常小。XFS 查询与分配存储空间非常快。XFS 文件系统能连续提供快速的反应时间。

                  3)可扩展性。

                  XFS 是一个全 64-bit 的文件系统,可以支持上百万 T 字节的存储空间。对特大文件及小尺寸文件的支持都表现出众,支持特大数量的目录。最大可支持的文件大小为 263 = 9 x 1018 = 9 exabytes,最大文件系统尺寸为 18 exabytesXFS 使用高的表结构( B+ ),保证了文件系统可以快速搜索与快速空间分配。相比 ext4XFS 能够持续提供高速操作,文件系统的性能不受目录中目录及文件数量的限制。

                  4)传输带宽。

                  XFS 能以接近裸设备 I/O 的性能存储数据。在单个文件系统的测试中,其吞吐量最高可达 7GB 每秒,对单个文件的读写操作,其吞吐量可达 4GB 每秒。相比 ext4XFS 传输速度更快。

                  缺点

                  XFS lvm 不能直接在线缩减空间,所以一定注意,XFS 文件系统的 lvm 分区,尽量往小了分,一旦上线,已分配的空间就只扩不减。

                  创建LV

                  注意:

                  数据库服务器需要创建单独的lv,监控器服务器因为使用的是应用服务器,如果没有单独的磁盘,可以先不创建lv

                  查看磁盘信息

                    lsblk

                    查看VG信息

                      vgdisplay

                      划分分区

                        fdisk /dev/sdb
                        n
                        p
                        1
                        +99G
                        w

                        创建pv

                          pvcreate /dev/sdb1

                          创建vg

                            vgcreate vg_data /dev/sdb1

                            创建lv

                              lvcreate -L +99G -n lv_dmdata vg_data

                              格式化

                                mkfs -t xfs /dev/mapper/vg_data-lv_dmdata

                                创建目录

                                  mkdir /dm8

                                  配置自动挂载

                                    vi /etc/fstab
                                    /dev/mapper/vg_data-lv_dmdata /dm8 xfs defaults 0 0

                                    挂载

                                      mount -a

                                      查看

                                        df -h

                                        创建目录

                                          mkdir -p /dm8/{dbms,ctl,data,redo,bak,arch,soft,check,scripts,core}
                                          mkdir -p /dm8/bak/{dmp,arch,full,incr}

                                          2.创建用户组和用户

                                          创建数据库用户的意义

                                            (1)数据库运行依赖该用户。
                                            (2)普通用户不能修改系统关键配置文件,若要查看其他用户的文件则需要相应的权限。
                                            (3)防止使用 root 权限过大导致误操作及一些纠纷。

                                            1.创建安装用户组dinstall

                                              groupadd -g ***** dinstall

                                              2.创建安装用户dmdba

                                                useradd -u ***** -g dinstall -m -d /home/dmdba -s /bin/bash dmdba

                                                3.初始化用户密码。

                                                  passwd dmdba

                                                  4.配置用户环境变量

                                                    su - dmdba
                                                    vi .bash_profile
                                                    export DM_HOME="/dm8/dbms"
                                                    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dm8/dbms/bin"
                                                    export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool
                                                    alias cp='cp -i'
                                                    alias mv='mv -i'
                                                    alias rm='rm -i'

                                                    生效

                                                      source /home/dmdba/.bash_profile

                                                      说明:

                                                        (1) LD_LIBRARY_PATH 主要用于指定查找共享库(动态链接库)时除了默认路径之外的其他路径。
                                                        (2) PATH 环境变量定义了用于进行命令和程序查找的目录, PATH 中的目录使用冒号分隔。
                                                        (3) DM_HOME 定义达梦数据库的软件目录。

                                                        5.目录授权

                                                          chown dmdba.dinstall /dm8 -R

                                                          3.操作系统时间检查

                                                          影响范围

                                                          操作系统时间不正确会导致产生以下问题:

                                                            1.试用授权产品,会导致试用授权过期,无法使用;
                                                            2.集群自动切换场景,可能会导致集群检测节点服务异常,引发误切换;
                                                            3.数据库运行日志、数据库服务日志、归档日志、备份集等时间记录错误,会导致相关分析和排查工作难度增大。

                                                            ##检查系统时间

                                                              date

                                                              ###检查ntp服务状态

                                                                systemctl status ntpd

                                                                ##检查ntp状态

                                                                  ntpq -p

                                                                  4.防火墙、SELinux 检查

                                                                  防火墙影响范围

                                                                  端口对应服务外部无法访问,无法安装集群产品。

                                                                  修改命令

                                                                  防火墙的关闭与开启。

                                                                  ##检查防火墙

                                                                    [root@~]# systemctl status firewalld

                                                                    ##关闭防火墙

                                                                      [root@~]# systemctl stop firewalld

                                                                      ##检查自启动

                                                                        systemctl list-unit-files|grep firewalld

                                                                        ##关闭开机自启

                                                                          [root@~]# systemctl disable firewalld

                                                                          关闭 SELinux 的意义

                                                                          SELinux 组件可用来加强系统安全性。在 Linux 中,SELinux 凌驾于 root 权限之上,设置了很多额外的配置项。如果了解这些配置项,可以进行相应设置,但如果不了解,那么 SELinux 可能不仅没有一些实际性的帮助,反而会带来很多不确定因素。

                                                                          SELinux 3 种模式,分别是 EnforcingPermissive Disabled 状态。

                                                                            Enforcing:强制模式。代表 SELinux 在运行中,且已经开始限制 domain/type 之间的验证关系;
                                                                            Permissive:宽容模式。代表 SELinux 在运行中,不会限制 domain/type 之间的验证关系,即使验证不正确,进程仍可以对文件进行操作。如果验证不正确会发出警告。
                                                                            Disabled:关闭模式。SELinux 并没有实际运行。

                                                                            ##查看当前状态命令:

                                                                              [root@localhost ~]# getenforce

                                                                              ##临时关闭 SELinux

                                                                                [root@localhost ~]# setenforce 0

                                                                                ##临时开启 SELinux

                                                                                  [root@localhost ~]# setenforce 1

                                                                                  ##查看配置文件

                                                                                    cat /etc/selinux/config

                                                                                    ##永久关闭 SELinux

                                                                                    需修改配置文件:

                                                                                      vi /etc/selinux/config

                                                                                      修改 SELINUX=disabled

                                                                                      注意

                                                                                      修改 SELinux 永久关闭,必须重启服务器,才能生效。且永久关闭后,不能通过 setenforce 1 命令临时打开。

                                                                                      5.磁盘调度算法

                                                                                      注意:

                                                                                      默认操作系统基线是 deadline,不需要在修改,如果不是 deadline,可参考下面方式进行修改。

                                                                                      调度算法介绍

                                                                                      每当进程需要进行磁盘 I/O 操作时,它就向操作系统发出一个系统调用。

                                                                                      如果所需的磁盘驱动器和控制器空闲,则立即处理请求。

                                                                                      如果磁盘驱动器或控制器忙,则任何新的服务请求都会添加磁盘驱动器的待处理请求队列。

                                                                                      对于具有多个进程的一个多道程序系统,磁盘队列可能有多个待处理的请求。因此操作系统如何选择待处理请求的服务便是磁盘调度算法。

                                                                                      调度算法有:

                                                                                        1.CFQ (完全公平排队 I/O 调度程序);
                                                                                        2.NOOP (电梯式调度程序);
                                                                                        3.Deadline (截止时间调度程序);
                                                                                        4.AS (预料 I/O 调度程序)。

                                                                                        综上:达梦数据库的稳定运行,需要将磁盘的调度算法设置为 deadline,特别是 arm 平台,必须要设置为 deadline

                                                                                        如存储为 nvme 等高性能的设备时,此类设备 IO 调度算法只有 none,则无需设置。

                                                                                        检查及修改

                                                                                        通过 lsblk 命令找到数据盘对应的物理盘。

                                                                                        下图中数据盘对应的物理盘是 vdc,则应检查 vdc 磁盘的调度算法。

                                                                                          lsblk

                                                                                          ##检查 sdb 磁盘的调度算法

                                                                                            cat /sys/block/sdb/queue/scheduler

                                                                                            注意

                                                                                            上图选中的调度算法是[bfq],需要修改调度算法为 deadline

                                                                                            临时修改

                                                                                            ##临时更改 I/O 调度方法,重启后失效

                                                                                              [root@~]# echo deadline > /sys/block/sdb/queue/scheduler

                                                                                              永久修改

                                                                                              ##修改内核引导参数,加入 elevator= deadline

                                                                                                [root@~]# vi /boot/grub/menu.lst

                                                                                                ##更改到如下内容

                                                                                                  [root@~]# kernel /boot/vmlinuz-2.6.32-504.el6 ro root=LABEL=/ elevator=deadline rhgb quiet

                                                                                                  ##重新确认调度算法

                                                                                                    [root@~]# cat /sys/block/vdc/queue/scheduler

                                                                                                    6.关闭 swap

                                                                                                    Swap 的关闭需要视情况而定,建议内存充裕时关闭,内存太小不关闭。

                                                                                                    关闭的意义

                                                                                                    Linux 下,SWAP 的作用类似 Windows 系统下的“虚拟内存”。当物理内存不足时,拿出部分硬盘空间当 SWAP 分区(虚拟成内存)使用,从而解决内存容量不足的情况。

                                                                                                    数据库系统一般都对响应延迟比较敏感,如果使用 swap 代替内存,数据库服务性能必然不可接受。

                                                                                                    对于响应延迟极其敏感的系统来讲,延迟太大和服务不可用没有任何区别,比服务不可用更严重的是,swap 场景下进程一直处于活动状态,这就意味着系统一直不可用。

                                                                                                    具体命令

                                                                                                    检查

                                                                                                      free -h

                                                                                                      临时修改

                                                                                                      ##临时关闭 swap 分区,重启后失效

                                                                                                        [root@~]# swapoff -a

                                                                                                        永久修改

                                                                                                        ##永久关闭 swap 分区

                                                                                                          [root@~]# sed -ri 's/.*swap.*/#&/' /etc/fstab

                                                                                                          ##重启操作系统

                                                                                                            [root@~]# reboot

                                                                                                            ##再次确认

                                                                                                              [root@~]# free -m

                                                                                                              7.关闭 numa
                                                                                                              关闭的意义

                                                                                                              NUMA(Non-Uniform Memory Access)架构是为了解决多 CPU 下内存访问冲突,即不再将整个物理内存作为一个整体,而是根据不同的 CPU 区分不同的内存块,如 2 颗 CPU 每颗 CPU 使用 64G 内存。

                                                                                                              NUMA 参数 zone_reclaim_mode 设置为 1 时,内核将要求多路 CPU 尽量从距离较近的系统内存节点(服务器的整体内存在 numa 架构下将被分成若干个节点)分配内存,而不是在整个服务器可访问内存的范围内进行内存分配。

                                                                                                              因此,在较高内存占用压力下,内存申请会触发内存频繁回收整理的机制,严重影响系统整体性能(长期处于内核态 sys 很高),进而可能导致 SQL 卡顿问题的发生。

                                                                                                              查询

                                                                                                                [root@~]# dmesg | grep -i numa

                                                                                                                具体命令

                                                                                                                ##编辑 grub 文件,如下图所示加上:numa=off

                                                                                                                  [root@~]# vi /etc/default/grub

                                                                                                                  ##重新生成 /etc/grub2.cfg 配置文件:

                                                                                                                    [root@~]# grub2-mkconfig -o /etc/grub2.cfg

                                                                                                                    ##重启操作系统

                                                                                                                      [root@~]# reboot

                                                                                                                      ##重启之后进行确认

                                                                                                                        [root@~]# dmesg | grep -i numa

                                                                                                                        ##再次确认

                                                                                                                          [root@~]# cat /proc/cmdline

                                                                                                                          8.禁用透明大页

                                                                                                                          禁用的意义

                                                                                                                          Transparent HugePages (透明大页)对系统的性能产生影响的原因:

                                                                                                                          khugepaged 进行扫描进程占用内存,并将 4k Page 交换为 Huge Pages 的这个过程中,对于操作的内存的各种分配活动都需要各种内存锁,直接影响程序的内存访问性能。并且,这个过程对于应用是透明的,在应用层面不可控制,对于专门为 4k page 优化的程序来说,可能会造成随机的性能下降现象。

                                                                                                                          具体命令

                                                                                                                          鲲鹏 arm+ 银河麒麟操作系统 V10SP1

                                                                                                                          (1) 查看透明大页内存

                                                                                                                          ##使用下图中命令查看当前操作系统透明大页内存配置。

                                                                                                                            [root@]# grep -i huge /proc/meminfo
                                                                                                                            [root@]# cat /sys/kernel/mm/transparent_hugepage/enabled
                                                                                                                              grep -i huge /proc/meminfo

                                                                                                                              从上面输出可以看到,每个页的大小为 200MB(Hugepagesize),并且系统中目前有 0 个“大内存页”(HugePages_Total)。

                                                                                                                              而当前的透明大页内存配置是开启的(always)。

                                                                                                                              (2) 关闭透明大页内存。

                                                                                                                              ##通过修改 grub 配置,在 “GRUB_CMDLINE_LINUX=” 配置参数结尾加入 “transparent_hugepage=never”,可以永久关闭透明大页内存。

                                                                                                                                [root@~]# vim /etc/default/grub

                                                                                                                                (3)重新生成 grub 配置。

                                                                                                                                ##如果操作系统安装时,使用 Legacy 模式引导安装,则使用以下命令重新生成 grub。

                                                                                                                                  [root@~] # grub2-mkconfig -o /boot/grub2/grub.cfg

                                                                                                                                  ##如果操作系统安装时,使用 UEFI 模式引导安装,则使用以下命令重新生成 grub。

                                                                                                                                    [root@~]# grub2-mkconfig -o /boot/efi/EFI/kylin/grub.cfg

                                                                                                                                    (4) 生成 grub 后,重启操作系统查看配置。

                                                                                                                                    可以看到系统中目前透明大页内存为 0,并且禁用透明大页内存(never)。查看 /sys/kernel/mm/transparent_hugepage/defrag 配置文件缺省配置为 “madvise”。

                                                                                                                                    如需永久修改配置为 “never”,需在 /etc/rc.local 中添加如下内容。

                                                                                                                                      if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
                                                                                                                                      echo never > /sys/kernel/mm/transparent_hugepage/defrag
                                                                                                                                      fi

                                                                                                                                      本次临时关闭

                                                                                                                                        echo never > /sys/kernel/mm/transparent_hugepage/defrag

                                                                                                                                        9.调整 sysctl.conf 参数

                                                                                                                                        参数文件介绍

                                                                                                                                        /etc/sysctl.conf 是一个允许改变正在运行中的 Linux 系统接口,它包含一些 TCP/IP 堆栈和虚拟内存系统的高级选项,修改内核参数永久生效。

                                                                                                                                        /proc/sys 下内核文件与配置文件 sysctl.conf 中变量存在着对应关系。

                                                                                                                                        调整项介绍

                                                                                                                                        配置参数 overcommit_memory 表示系统的内存分配策略可以选值为 0,1,2。

                                                                                                                                          0:表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
                                                                                                                                          1:表示内核允许分配所有的物理内存,不管当前的内存状态如何。
                                                                                                                                          2:表示内核允许分配超过所有物理内存和交换空间总和的内存。

                                                                                                                                          具体命令

                                                                                                                                          临时生效和永久生效:

                                                                                                                                          ##查看(默认就是0)

                                                                                                                                            [root@dm~]# cat /proc/sys/vm/overcommit_memory

                                                                                                                                            ##临时生效

                                                                                                                                            ##使用 root 执行命令:

                                                                                                                                              [root@dm~]# echo 0 > /proc/sys/vm/overcommit_memory

                                                                                                                                              ##查看执行结果:

                                                                                                                                                [root@dm~]# cat /proc/sys/vm/overcommit_memory

                                                                                                                                                ##永久生效

                                                                                                                                                ##用root用户编辑配置文件编辑/etc/sysctl.conf

                                                                                                                                                  [root@cjc~]# vim /etc/sysctl.conf

                                                                                                                                                  ##修改vm.overcommit_memory=0

                                                                                                                                                  设置swappiness参数:

                                                                                                                                                  查看

                                                                                                                                                    cat /etc/sysctl.conf|grep -i swap

                                                                                                                                                    修改

                                                                                                                                                      vi /etc/sysctl.conf
                                                                                                                                                      vm.swappiness = 0

                                                                                                                                                      设置core参数:

                                                                                                                                                        cat /etc/sysctl.conf|grep ore_pattern
                                                                                                                                                        echo "kernel.core_pattern = /dm8/core/core-%e-%p-%s" >> /etc/sysctl.conf

                                                                                                                                                        然后执行sysctl -p 使配置文件生效。

                                                                                                                                                        10.调整 limits.conf 参数

                                                                                                                                                        参数文件介绍

                                                                                                                                                        Linux、Solaris、AIX 和 HP-UNIX 等系统中,操作系统默认会对程序使用资源进行限制。

                                                                                                                                                        如果不取消对应的限制,则数据库的性能将会受到影响。

                                                                                                                                                        调整项介绍

                                                                                                                                                          1.core file size

                                                                                                                                                          建议设置为 unlimited。并将 core 文件目录放到大的空间目录存放。

                                                                                                                                                            2.data seg size

                                                                                                                                                            建议设置为 1048576 以上或 unlimited,此参数过小将导致数据库启动失败。

                                                                                                                                                              3.file size

                                                                                                                                                              建议设置 unlimited (无限制),此参数过小导致数据库安装或初始化失败。

                                                                                                                                                                4.open files

                                                                                                                                                                建议设置为 65536 以上或 unlimited。

                                                                                                                                                                  5.virtual memory

                                                                                                                                                                  建议设置为 1048576 以上或 unlimited,此参数过小将导致数据库启动失败。

                                                                                                                                                                    6.max user processes

                                                                                                                                                                    最大线程数这个参数建议修改为 10240。

                                                                                                                                                                    临时修改

                                                                                                                                                                    ##查询当前系统资源限制

                                                                                                                                                                      ulimit -a

                                                                                                                                                                      ##设置open files 65536 以上或 unlimited、设置 max user processes为10240

                                                                                                                                                                      ##临时修改 open files 为65535

                                                                                                                                                                        [dmdba@]# ulimit -n 65535

                                                                                                                                                                        ##临时修改 max user processes为10240

                                                                                                                                                                          [dmdba@]# ulimit -u 10240

                                                                                                                                                                          ##查看修改是否生效

                                                                                                                                                                            [dmdba@~]# ulimit -a

                                                                                                                                                                            永久修改

                                                                                                                                                                            ##编辑 limits.conf 文件

                                                                                                                                                                              cp /etc/security/limits.conf /etc/security/limits.conf_20240524bak
                                                                                                                                                                              vi /etc/security/limits.conf

                                                                                                                                                                              ##在最后面添加以下内容

                                                                                                                                                                                dmdba soft nproc 10240
                                                                                                                                                                                dmdba hard nproc 10240
                                                                                                                                                                                dmdba soft nofile 65536
                                                                                                                                                                                dmdba hard nofile 65536
                                                                                                                                                                                dmdba hard data unlimited
                                                                                                                                                                                dmdba soft data unlimited
                                                                                                                                                                                dmdba hard fsize unlimited
                                                                                                                                                                                dmdba soft fsize unlimited
                                                                                                                                                                                dmdba soft core unlimited
                                                                                                                                                                                dmdba hard core unlimited

                                                                                                                                                                                ##确认是否生效

                                                                                                                                                                                ulimit -a

                                                                                                                                                                                ##重启操作系统

                                                                                                                                                                                  [root@]# reboot

                                                                                                                                                                                  ##再次确认

                                                                                                                                                                                    [dmdba@]# ulimit -a

                                                                                                                                                                                    11.调整 system.conf 参数

                                                                                                                                                                                    参数文件介绍

                                                                                                                                                                                    system.conf 为系统和服务管理的配置文件,当运行系统实例时,systemd 将读取这个配置文件 system.conf,相反读取 user.conf。

                                                                                                                                                                                    达梦数据库服务注册为系统服务的进程,如通过 systemctl 或者 service 方式设定随机自启动的数据库服务,其能打开的最大文件描述符、proc 数量等不受 limits.conf 控制,需要修改 /etc/systemd/system.conf 文件。

                                                                                                                                                                                    调整项介绍

                                                                                                                                                                                      (1) DefaultLimitNOFILE:用户默认最大打开文件数。
                                                                                                                                                                                      (2) DefaultLimitNPROC:用户默认最大进程数。

                                                                                                                                                                                      具体命令

                                                                                                                                                                                      ##编辑配置文件 /etc/systemd/system.conf

                                                                                                                                                                                        vi /etc/systemd/system.conf
                                                                                                                                                                                        ##添加配置:
                                                                                                                                                                                        DefaultLimitNOFILE=65536
                                                                                                                                                                                        DefaultLimitNPROC=10240

                                                                                                                                                                                        注意:

                                                                                                                                                                                        保存退出后需要重启服务器才能生效。

                                                                                                                                                                                        本次没有重启服务器

                                                                                                                                                                                        12.调整 nproc.conf 参数

                                                                                                                                                                                        参数文件介绍

                                                                                                                                                                                        nproc 是操作系统级别对每个用户创建的进程数的限制。文件路径为 /etc/security/limits.d/nproc。

                                                                                                                                                                                        不同操作系统文件名略有不同,

                                                                                                                                                                                        其中

                                                                                                                                                                                          麒麟 10 中是 nproc.conf
                                                                                                                                                                                          centos6 中是 90-nproccentos
                                                                                                                                                                                          centos7 中是 20-nproc.conf
                                                                                                                                                                                            /etc/security/limits.conf

                                                                                                                                                                                            可配置限制文件打开数,系统进程等资源在该文件配置中写的最大用户进程数是受 /etc/security/limits.d/proc.conf 配置上限影响的。

                                                                                                                                                                                            调整项介绍

                                                                                                                                                                                            soft 表示软限制,hard 表示硬限制,nproc 进程数,nofile 文件数。

                                                                                                                                                                                              root@cjc:/root#cd /etc/security/limits.d
                                                                                                                                                                                              root@cjc:/etc/security/1imits.d#1s
                                                                                                                                                                                              nproc.conf
                                                                                                                                                                                              root@cjc:/etc/security/1imits.d#cat nproc.conf
                                                                                                                                                                                              dmdba soft nproc 65536
                                                                                                                                                                                              dmdba hard nproc 65536

                                                                                                                                                                                              具体命令

                                                                                                                                                                                              ##编辑配置文件 /etc/security/limits.d/nproc.conf

                                                                                                                                                                                                [root@dm~]# vi /etc/security/limits.d/nproc.conf
                                                                                                                                                                                                ##添加配置:
                                                                                                                                                                                                dmdba soft nproc 65536
                                                                                                                                                                                                dmdba hard nproc 65536
                                                                                                                                                                                                ##确定是否生效:
                                                                                                                                                                                                [dmdba@~]# ulimit -u
                                                                                                                                                                                                65536

                                                                                                                                                                                                若在 /etc/security/limits.conf 修改最大用户进程数,则注释掉 /etc/security/limits.d/90-nproc.conf 文件中的相关内容即可。

                                                                                                                                                                                                13.CPU 超线程检查

                                                                                                                                                                                                超线程简介

                                                                                                                                                                                                超线程技术是把多线程处理器内部的两个逻辑内核模拟成两个物理芯片,让单个处理器就能使用线程级的并行计算,进而兼容多线程操作系统和软件。超线程技术充分利用空闲 CPU 资源,在相同时间内完成更多工作。

                                                                                                                                                                                                超线程

                                                                                                                                                                                                需根据数据库本身是否需要开启或关闭来决定如何操作,一般在 BIOS 中进行开启/关闭操作。

                                                                                                                                                                                                检查命令

                                                                                                                                                                                                通过解析 /proc/cpuinfo 文件内容来判定是否开启超线程,如服务器开启了超线程则下述公式计算结果等于 2,否则等于 1。

                                                                                                                                                                                                系统的 cpu 线程数/(物理 CPU 个数*每个物理 CPU 的逻辑核数)

                                                                                                                                                                                                ##系统的 cpu 线程数:

                                                                                                                                                                                                  cat /proc/cpuinfo | grep "processor" | wc -l

                                                                                                                                                                                                  ##物理 CPU 个数:

                                                                                                                                                                                                    cat /proc/cpuinfo | grep "physical id" | sort|uniq | wc -l

                                                                                                                                                                                                    ##每个物理 CPU 的逻辑核数:

                                                                                                                                                                                                      cat /proc/cpuinfo |grep "core id"|sort -u|wc -l

                                                                                                                                                                                                      14.RemoveIPC 参数检查

                                                                                                                                                                                                      注意:

                                                                                                                                                                                                      默认参数是no,不需要修改,如果不是,参考下面示例进行修改。

                                                                                                                                                                                                      参数介绍

                                                                                                                                                                                                      RemoveIPC 参数会控制当前用户在完全注销时,是否删除属于用户自己的 Systemd V 和 POSIX IPC 对象,接受布尔参数。

                                                                                                                                                                                                      如果启用该参数,则在用户的最后一个会话终止后,用户可能不会使用 IPC 资源。

                                                                                                                                                                                                      这包括 System V 信号量、共享内存和消息队列,以及 POSIX 共享内存和消息队列。

                                                                                                                                                                                                      请注意,根用户和其他系统用户的 IPC 对象不受此设置的影响。RemoveIPC 默认值要根据操作系统版本情况而定。

                                                                                                                                                                                                      本节只介绍检查麒麟 v10 SP1 版本的 RemoveIPC 参数。

                                                                                                                                                                                                      /etc/systemd/logind.conf 配置文件是 Systemd 的一部分,Systemd 是自由软件,用户可以重新分发或修改它,该文件在编译时会携带默认值,用户可通过编译 logind.conf 来满足自己的需求。

                                                                                                                                                                                                      参数检查

                                                                                                                                                                                                      检查 RemoveIPC 参数设置,要求为 no 。

                                                                                                                                                                                                        systemctl show systemd-logind | grep -i removeipc

                                                                                                                                                                                                        参数修改

                                                                                                                                                                                                        如果不是 no,用以下方法调整:

                                                                                                                                                                                                        修改 /etc/systemd/logind.conf 配置文件中的 RemoveIPC 参数,将#注释去掉,并修改 yes 为 no,

                                                                                                                                                                                                        重启服务

                                                                                                                                                                                                          systemctl daemon-relCJCd
                                                                                                                                                                                                          systemctl restart systemd-logind

                                                                                                                                                                                                          15.调整 login

                                                                                                                                                                                                          简介

                                                                                                                                                                                                          limits.conf 文件实际是 Linux PAM(插入式认证模块,Pluggable Authentication Modules 中 pam_limits.so 的配置文件),突破系统的默认限制,对系统访问资源有一定保护作用,当用户访问服务器时,服务程序将请求发送到 PAM 模块,PAM 模块根据服务名称在 /etc/pam.d 目录下选择一个对应的服务文件,然后根据服务文件的内容选择具体的 PAM 模块进行处理。

                                                                                                                                                                                                          limits.conf 和 sysctl.conf 区别在于 limits.conf 是针对用户,而 sysctl.conf 是针对整个系统参数配置。

                                                                                                                                                                                                          修改命令

                                                                                                                                                                                                            [root@~]# vi /etc/pam.d/login
                                                                                                                                                                                                            session required /lib64/security/pam_limits.so
                                                                                                                                                                                                            session required pam_limits.so
                                                                                                                                                                                                            [root@~]# vi /etc/pam.d/login
                                                                                                                                                                                                            session required /lib64/security/pam_limits.so
                                                                                                                                                                                                            session required pam_limits.so

                                                                                                                                                                                                            16.网络

                                                                                                                                                                                                            检测的意义

                                                                                                                                                                                                            对于单机数据库,主要检测业务网络。

                                                                                                                                                                                                            业务网络主要作用是应用服务器到数据库服务器连接数据库时,请求数据库进行相应的操作。如果业务网络带宽较低、丢包或延迟较大,会降低应用请求数据库效率。

                                                                                                                                                                                                            对于集群,为确保集群的稳定性,原则要求建立并检测单独的心跳局域网络,不低于 1000M 带宽。

                                                                                                                                                                                                            心跳网络对 mal 系统的影响较大,如果网络丢包或者延迟较大,则会严重影响 mal 系统的处理能力,从而导致整个集群出现响应服务请求慢的情况。

                                                                                                                                                                                                            具体命令

                                                                                                                                                                                                            ##拷贝一个文件到远程服务器的 /opt 目录下

                                                                                                                                                                                                              [root@~]# scp -r xxx dmdba@ip:/opt/

                                                                                                                                                                                                              ##拷贝一个文件,指定端口到远程服务器的 /opt 目录下

                                                                                                                                                                                                                [root@~]# scp -r -P端口 xxx dmdba@ip:/opt/

                                                                                                                                                                                                                ##网络配置以及速度是否正常

                                                                                                                                                                                                                  ethtool eth1

                                                                                                                                                                                                                  ##查看网络信息

                                                                                                                                                                                                                    sar -n DEV 1 100

                                                                                                                                                                                                                    #备注:

                                                                                                                                                                                                                      #IFACE 本地网卡接口的名称
                                                                                                                                                                                                                      #rxpck/s 每秒钟接受的数据包
                                                                                                                                                                                                                      #txpck/s 每秒钟发送的数据库
                                                                                                                                                                                                                      #rxKB/S 每秒钟接受的数据包大小,单位为 KB
                                                                                                                                                                                                                      #txKB/S 每秒钟发送的数据包大小,单位为 KB
                                                                                                                                                                                                                      #rxcmp/s 每秒钟接受的压缩数据包
                                                                                                                                                                                                                      #txcmp/s 每秒钟发送的压缩包
                                                                                                                                                                                                                      #rxmcst/s 每秒钟接收的多播数据包

                                                                                                                                                                                                                      相关Netperf 网络性能的测量工具使用方式见链接:

                                                                                                                                                                                                                        https://eco.dameng.com/document/dm/zh-cn/ops/before-installation.html

                                                                                                                                                                                                                        17.磁盘 IO

                                                                                                                                                                                                                        测试的意义

                                                                                                                                                                                                                        传统关系型数据库的最大瓶颈之一就在于磁盘的读写速率上,因此检测磁盘的 IO 速率是十分必要的。

                                                                                                                                                                                                                        磁盘的运作是磁盘读写前寻找磁道的过程。

                                                                                                                                                                                                                        磁盘自带的读写缓存大小,对于磁盘读写速度至关重要。

                                                                                                                                                                                                                        读写速度快的磁盘,通常都带有较大的读写缓存。

                                                                                                                                                                                                                        测试服务器读写性能,以此来判断是否存在性能瓶颈。

                                                                                                                                                                                                                        具体命令

                                                                                                                                                                                                                        ##真实模拟 20K 次磁盘写入(IO

                                                                                                                                                                                                                          dd bs=32k count=20k if=/dev/zero of=test oflag=dsync

                                                                                                                                                                                                                          其中:

                                                                                                                                                                                                                          nmon测试工具、OSW测试工具使用方式见链接:

                                                                                                                                                                                                                            https://eco.dameng.com/document/dm/zh-cn/ops/before-installation.html

                                                                                                                                                                                                                            安装(命令行)

                                                                                                                                                                                                                            主、备、监控器 四个节点分别执行

                                                                                                                                                                                                                            查看安装介质

                                                                                                                                                                                                                              cd /dm8/soft
                                                                                                                                                                                                                              ls -lrth

                                                                                                                                                                                                                              1.挂载安装介质

                                                                                                                                                                                                                              root 用户下挂载

                                                                                                                                                                                                                                ll -rth /mnt
                                                                                                                                                                                                                                mount -o loop dm8_20230713_x86_kylin10_64_include_symbols.iso /mnt

                                                                                                                                                                                                                                查看文件

                                                                                                                                                                                                                                  ll -rth /mnt

                                                                                                                                                                                                                                  2.安装数据库软件

                                                                                                                                                                                                                                  root用户下安装

                                                                                                                                                                                                                                    cd /mnt
                                                                                                                                                                                                                                    ./DMInstall.bin -i

                                                                                                                                                                                                                                    安装过程如下:(手动输入时,输入错误,或者按到某些组合键造成错误,使用delete键进行删除)

                                                                                                                                                                                                                                    步骤1:选择安装语言

                                                                                                                                                                                                                                    请根据系统配置选择相应语言,输入选项,回车进行下一步。如下图所示:

                                                                                                                                                                                                                                    如果当前操作系统中已存在DM,将在终端弹出提示,输入选项:继续,将进行下一步的命令行安装,否则退出命令行安装。如下图所示:

                                                                                                                                                                                                                                    注意:

                                                                                                                                                                                                                                    若操作系统中已安装DM,重新安装前,应完全卸载已存在的DM。并且在重新安装前,务必备份好数据。

                                                                                                                                                                                                                                    步骤2:验证Key文件

                                                                                                                                                                                                                                    用户可以选择是否输入Key文件路径。不输入则进入下一步安装,输入Key文件路径,安装程序将显示Key文件的详细信息,如果是合法的Key文件且在有效期内,用户可以继续安装。

                                                                                                                                                                                                                                    本次安装包无key文件,选择n跳过

                                                                                                                                                                                                                                    步骤3:输入时区

                                                                                                                                                                                                                                    用户可以选择DM的时区信息。如下图所示:21

                                                                                                                                                                                                                                    ......

                                                                                                                                                                                                                                    步骤4:选择安装类型

                                                                                                                                                                                                                                    命令行安装与图形化安装的选择的安装类型是一样。如下图所示:4

                                                                                                                                                                                                                                    选择1 2 3 4 5全部安装

                                                                                                                                                                                                                                    用户选择安装类型需要手动输入,默认是典型安装。如果用户选择自定义安装,将打印全部安装组件信息。用户通过命令行窗口输入要安装的组件序号,选择多个安装组件时需要使用空格进行间隔。输入完需要安装的组件序号后回车,将打印安装选择组件所需要的存储空间大小。

                                                                                                                                                                                                                                    步骤5:选择安装路径

                                                                                                                                                                                                                                    用户可以输入DM的安装路径,不输入则使用默认路径,默认值为$HOME/dmdbms(如果安装用户为root,则默认安装目录为/opt/dmdbms,但不建议使用root系统用户来安装DM)

                                                                                                                                                                                                                                    安装程序将打印当前安装路径的可用空间,如果空间不足,用户需重新选择安装路径。如果当前安装路径可用空间足够,用户需进行确认。不确认,则重新选择安装路径,确认,则进入下一步骤。

                                                                                                                                                                                                                                    步骤6:安装小结

                                                                                                                                                                                                                                    安装程序将打印用户之前输入的部分安装信息。

                                                                                                                                                                                                                                    用户对安装信息进行确认。不确认,则退出安装程序,确认,进行DM的安装。

                                                                                                                                                                                                                                    步骤7:安装

                                                                                                                                                                                                                                    修改权限

                                                                                                                                                                                                                                      chown dmdba.dinstall /dm8 -R

                                                                                                                                                                                                                                      注意:

                                                                                                                                                                                                                                      安装完成后,终端提示请以root系统用户执行命令如果使用非root系统用户进行安装,所以部分安装步骤没有相应的系统权限,需要用户手动执行相关命令。用户可根据提示完成相关操作。

                                                                                                                                                                                                                                      执行脚本

                                                                                                                                                                                                                                      根据安装提示,执行相关脚本(如无提示,不需要执行)

                                                                                                                                                                                                                                        [root@CJC-app-001 ~]# /dm8/dbms/script/root/root_installer.sh

                                                                                                                                                                                                                                        脚本内容如下:

                                                                                                                                                                                                                                        3.数据库初始化

                                                                                                                                                                                                                                        注意:主、备数据库进行初始化,监控器节点不需要初始化

                                                                                                                                                                                                                                        初始化数据库

                                                                                                                                                                                                                                        安装结束后,还需要初始化数据库并注册相关服务才能正式运行达梦数据库,具体可参考《DM8_dminit使用手册》和《DM8_Linux服务脚本使用手册》。

                                                                                                                                                                                                                                        需要注意的是,达梦提供的各个服务基本都依赖于网络和存储才能正常启动,因此当启动达梦服务时若网络和存储没有就绪可能会失败,此时可等网络和存储就绪后再次手动启动达梦相关服务,或修改达梦相关服务脚本中的优先级和依赖关系。

                                                                                                                                                                                                                                        DM8 dminit使用手册

                                                                                                                                                                                                                                          https://eco.dameng.com/docs/zh-cn/pm/dminit-function-introduction.html

                                                                                                                                                                                                                                          功能简介

                                                                                                                                                                                                                                          dminit DM 数据库初始化工具。在安装 DM 的过程中,用户可以选择是否创建初始数据库。如果当时没有创建,那么在安装完成之后,可以利用创建数据库工具 dminit 来创建。

                                                                                                                                                                                                                                          系统管理员可以利用 dminit 工具提供的各种参数,设置数据库存放路径、段页大小、是否对大小写敏感、以及是否使用 UNICODE 等,创建出满足用户需要的数据库。该工具位于安装目录的 /bin 目录下。

                                                                                                                                                                                                                                          初始化命令:

                                                                                                                                                                                                                                          查看帮助信息

                                                                                                                                                                                                                                          不支持过滤?

                                                                                                                                                                                                                                            dminit help|grep CHARSET

                                                                                                                                                                                                                                            查看全部

                                                                                                                                                                                                                                              [dmdba@CJC-app-001 dmdbms]$ dminit help
                                                                                                                                                                                                                                              ...
                                                                                                                                                                                                                                              CHARSET/UNICODE_FLAG CHARSET(0), optional value:0[GB18030],1[UTF-8],2[EUC-KR]

                                                                                                                                                                                                                                              可以看到字符集默认GB18030,本次选择字符集为UTF-8

                                                                                                                                                                                                                                              开始初始化

                                                                                                                                                                                                                                              注意:

                                                                                                                                                                                                                                              部分参数只有初始化时可以指定,一旦初始化完成,不再支持参数的修改,例如CHARSET等参数,初始化前和业务确认好需求。

                                                                                                                                                                                                                                              主库:

                                                                                                                                                                                                                                                ##dminit path=/dm8/data CTL_PATH=/dm8/ctl/dm01.ctl LOG_PATH=/dm8/redo/dm_redo01.log LOG_PATH=/dm8/redo/dm_redo02.log LOG_SIZE=1024 CASE_SENSITIVE=N CHARSET=1 DB_NAME=CJC INSTANCE_NAME=CJC01 SYSDBA_PWD=****** SYSAUDITOR_PWD=****** BUFFER=1024 PORT_NUM=35231 AUTO_OVERWRITE=0 EXTENT_SIZE=32 PAGE_SIZE=16 LENGTH_IN_CHAR=1

                                                                                                                                                                                                                                                备库:

                                                                                                                                                                                                                                                  ##dminit path=/dm8/data CTL_PATH=/dm8/ctl/dm01.ctl LOG_PATH=/dm8/redo/dm_redo01.log LOG_PATH=/dm8/redo/dm_redo02.log LOG_SIZE=1024 CASE_SENSITIVE=N CHARSET=1 DB_NAME=CJC INSTANCE_NAME=CJC02 SYSDBA_PWD=****** SYSAUDITOR_PWD=****** BUFFER=1024 PORT_NUM=35231 AUTO_OVERWRITE=0 EXTENT_SIZE=32 PAGE_SIZE=16 LENGTH_IN_CHAR=1

                                                                                                                                                                                                                                                  参数说明

                                                                                                                                                                                                                                                    Path: 初始数据库存放路径
                                                                                                                                                                                                                                                    CTL_PATH:控制文件路径
                                                                                                                                                                                                                                                    LOG_PATH:日志文件路径
                                                                                                                                                                                                                                                    CASE_SENSENSITIVE:大小写敏感,可选择值,Y/N 1/0
                                                                                                                                                                                                                                                    CHARSET:字符集:0(GB18030)、1(UTF-8)、2(EUC-KR)
                                                                                                                                                                                                                                                    DB_NAME:数据库名
                                                                                                                                                                                                                                                    INSTANCE_NAME:实例名
                                                                                                                                                                                                                                                    SYSDBA_PWD:设置SYSDBA密码
                                                                                                                                                                                                                                                    SYSAUDITOR_PWD:设置SYSAUDITOR 密码
                                                                                                                                                                                                                                                    BUFFER:系统缓存大小
                                                                                                                                                                                                                                                    PORT_NUM:数据库服务器监听端口号

                                                                                                                                                                                                                                                    4.启动数据库

                                                                                                                                                                                                                                                    此步骤就是前台启动数据库,看看是否安装实例成功,前台开启验证。

                                                                                                                                                                                                                                                      dmserver /dm8/data/CJC/dm.ini  

                                                                                                                                                                                                                                                      确保无报错,退出

                                                                                                                                                                                                                                                        exit;

                                                                                                                                                                                                                                                        配置主备

                                                                                                                                                                                                                                                        配置dm.ini文件

                                                                                                                                                                                                                                                        主库、备库 相同配置

                                                                                                                                                                                                                                                          cd /dm8/data/CJC
                                                                                                                                                                                                                                                          cp dm.ini dm.ini_20230920bak
                                                                                                                                                                                                                                                          vi dm.ini

                                                                                                                                                                                                                                                          调整如下参数

                                                                                                                                                                                                                                                            DW_INACTIVE_INTERVAL=60
                                                                                                                                                                                                                                                            ALTER_MODE_STATUS = 0
                                                                                                                                                                                                                                                            ENABLE_OFFLINE_TS = 2
                                                                                                                                                                                                                                                            MAL_INI = 1
                                                                                                                                                                                                                                                            ARCH_INI = 1
                                                                                                                                                                                                                                                            RLOG_SEND_APPLY_MON = 64
                                                                                                                                                                                                                                                            MAX_SESSIONS = 5000

                                                                                                                                                                                                                                                            配置dmarch.ini文件

                                                                                                                                                                                                                                                            注意:ARCH_SPACE_LIMIT根据实际空间大小确定

                                                                                                                                                                                                                                                              cd /dm8/data/CJC

                                                                                                                                                                                                                                                              主库:

                                                                                                                                                                                                                                                                vi dmarch.ini
                                                                                                                                                                                                                                                                ARCH_WAIT_APPLY =0
                                                                                                                                                                                                                                                                [ARCHIVE_LOCAL1]
                                                                                                                                                                                                                                                                ARCH_TYPE = LOCAL
                                                                                                                                                                                                                                                                ARCH_DEST = /dm8/arch
                                                                                                                                                                                                                                                                ARCH_FILE_SIZE = 1024
                                                                                                                                                                                                                                                                ARCH_SPACE_LIMIT = 10240
                                                                                                                                                                                                                                                                [ARCHIVE_REALTIME1]
                                                                                                                                                                                                                                                                ARCH_TYPE = REALTIME
                                                                                                                                                                                                                                                                ARCH_DEST = CJC02

                                                                                                                                                                                                                                                                备库:

                                                                                                                                                                                                                                                                  ARCH_WAIT_APPLY =0
                                                                                                                                                                                                                                                                  [ARCHIVE_LOCAL1]
                                                                                                                                                                                                                                                                  ARCH_TYPE = LOCAL
                                                                                                                                                                                                                                                                  ARCH_DEST = /dm8/arch
                                                                                                                                                                                                                                                                  ARCH_FILE_SIZE = 1024
                                                                                                                                                                                                                                                                  ARCH_SPACE_LIMIT = 10240
                                                                                                                                                                                                                                                                  [ARCHIVE_REALTIME1]
                                                                                                                                                                                                                                                                  ARCH_TYPE = REALTIME
                                                                                                                                                                                                                                                                  ARCH_DEST = CJC01

                                                                                                                                                                                                                                                                  配置dmmal.ini文件

                                                                                                                                                                                                                                                                  主库、备库 相同配置

                                                                                                                                                                                                                                                                    cd /dm8/data/CJC
                                                                                                                                                                                                                                                                    vi dmmal.ini
                                                                                                                                                                                                                                                                    MAL_CHECK_INTERVAL = 30
                                                                                                                                                                                                                                                                    MAL_CONN_FAIL_INTERVAL = 10
                                                                                                                                                                                                                                                                    MAL_BUF_SIZE = 5000
                                                                                                                                                                                                                                                                    MAL_VPOOL_SIZE = 6000
                                                                                                                                                                                                                                                                    [MAL_INST1]
                                                                                                                                                                                                                                                                    MAL_INST_NAME = CJC01
                                                                                                                                                                                                                                                                    MAL_HOST = 192.168.1.101
                                                                                                                                                                                                                                                                    MAL_PORT = 35331
                                                                                                                                                                                                                                                                    MAL_INST_HOST = 192.168.1.101
                                                                                                                                                                                                                                                                    MAL_INST_PORT = 35231
                                                                                                                                                                                                                                                                    MAL_DW_PORT = 35431
                                                                                                                                                                                                                                                                    MAL_INST_DW_PORT = 35531
                                                                                                                                                                                                                                                                    [MAL_INST2]
                                                                                                                                                                                                                                                                    MAL_INST_NAME = CJC02
                                                                                                                                                                                                                                                                    MAL_HOST = 192.168.1.102
                                                                                                                                                                                                                                                                    MAL_PORT = 35331
                                                                                                                                                                                                                                                                    MAL_INST_HOST = 192.168.1.102
                                                                                                                                                                                                                                                                    MAL_INST_PORT = 35231
                                                                                                                                                                                                                                                                    MAL_DW_PORT = 35431
                                                                                                                                                                                                                                                                    MAL_INST_DW_PORT = 35531

                                                                                                                                                                                                                                                                    配置dmwatcher.ini文件

                                                                                                                                                                                                                                                                    主库、备库 相同配置

                                                                                                                                                                                                                                                                      cd /dm8/data/CJC
                                                                                                                                                                                                                                                                      vi dmwatcher.ini
                                                                                                                                                                                                                                                                      [GRPCJC]
                                                                                                                                                                                                                                                                      DW_TYPE = GLOBAL
                                                                                                                                                                                                                                                                      DW_MODE = AUTO
                                                                                                                                                                                                                                                                      DW_ERROR_TIME = 10
                                                                                                                                                                                                                                                                      INST_RECOVER_TIME = 60
                                                                                                                                                                                                                                                                      INST_ERROR_TIME = 10
                                                                                                                                                                                                                                                                      INST_OGUID = 101102
                                                                                                                                                                                                                                                                      INST_INI = /dm8/data/CJC/dm.ini
                                                                                                                                                                                                                                                                      INST_AUTO_RESTART = 1
                                                                                                                                                                                                                                                                      INST_STARTUP_CMD = /dm8/dbms/bin/dmserver
                                                                                                                                                                                                                                                                      RLOG_SEND_THRESHOLD = 0
                                                                                                                                                                                                                                                                      RLOG_APPLY_THRESHOLD = 0

                                                                                                                                                                                                                                                                      配置dmmonitor.ini文件

                                                                                                                                                                                                                                                                      主库、备库 相同配置

                                                                                                                                                                                                                                                                      后台启动配置文件

                                                                                                                                                                                                                                                                      确认监控器,主备只能启动一个,通常情况下,在第三台服务器启动,如没有第三台独立的服务器,在备库启动。

                                                                                                                                                                                                                                                                        cd /dm8/data/CJC
                                                                                                                                                                                                                                                                        vi dmmonitor.ini
                                                                                                                                                                                                                                                                        MON_DW_CONFIRM = 1
                                                                                                                                                                                                                                                                        MON_LOG_PATH = /dm8/mal/log
                                                                                                                                                                                                                                                                        MON_LOG_INTERVAL = 60
                                                                                                                                                                                                                                                                        MON_LOG_FILE_SIZE = 512
                                                                                                                                                                                                                                                                        MON_LOG_SPACE_LIMIT = 2048
                                                                                                                                                                                                                                                                        [GRPCJC]
                                                                                                                                                                                                                                                                        MON_INST_OGUID = 101102
                                                                                                                                                                                                                                                                        MON_DW_IP = 192.168.1.101:35431
                                                                                                                                                                                                                                                                        MON_DW_IP = 192.168.1.102:35431

                                                                                                                                                                                                                                                                        配置dmmonitor_front.ini 文件

                                                                                                                                                                                                                                                                        主库、备库 相同配置

                                                                                                                                                                                                                                                                        前台启动配置文件

                                                                                                                                                                                                                                                                        非确认监控器

                                                                                                                                                                                                                                                                        可以启动多个,手动切换等场景启动,可在任一台服务器上启动

                                                                                                                                                                                                                                                                          MON_DW_CONFIRM = 0
                                                                                                                                                                                                                                                                          MON_LOG_PATH = /dm8/mal/log_front
                                                                                                                                                                                                                                                                          MON_LOG_INTERVAL = 60
                                                                                                                                                                                                                                                                          MON_LOG_FILE_SIZE = 512
                                                                                                                                                                                                                                                                          MON_LOG_SPACE_LIMIT = 2048
                                                                                                                                                                                                                                                                          [GRPCJC]
                                                                                                                                                                                                                                                                          MON_INST_OGUID = 101102
                                                                                                                                                                                                                                                                          MON_DW_IP = 192.168.1.101:35431
                                                                                                                                                                                                                                                                          MON_DW_IP = 192.168.1.102:35431

                                                                                                                                                                                                                                                                          还原备库

                                                                                                                                                                                                                                                                          说明:

                                                                                                                                                                                                                                                                          配置数据守护 V4.0 之前,必须先通过备份还原方式同步各数据库的数据,确保各数据的数据保持完全一致。主库可以是新初始化的数据库,也可以是正在生产、使用中的数据库。

                                                                                                                                                                                                                                                                          不能使用分别初始化库或者直接拷贝数据文件的方法,原因如下:

                                                                                                                                                                                                                                                                          1.每个库都有一个永久魔数(permenant_magic),一经生成,永远不会改变,主库传送日志时会判断这个值是否一样,确保是来自同一个数据守护环境中的库,否则传送不了日志。

                                                                                                                                                                                                                                                                          2.由于 dminit 初始化数据库时,会生成随机密钥用于加密,每次生成的密钥都不相同,备库无法解析采用主库密钥加密的数据。

                                                                                                                                                                                                                                                                          3.每个库都有一个数据库魔数(DB_MAGIC),每经过一次还原、恢复操作,DB_MAGIC 就会产生变化,需要通过这种方式来区分同一个数据守护环境中各个不同的库。

                                                                                                                                                                                                                                                                          主库脱机备份

                                                                                                                                                                                                                                                                          启动DMAP服务

                                                                                                                                                                                                                                                                            root@CJC-001:/dm8/scripts#cat start_dmap.sh
                                                                                                                                                                                                                                                                            #!/bin/bash
                                                                                                                                                                                                                                                                            [ $(whoami) != root ] && echo "user not is root , please use an ##root## user" && exit 2
                                                                                                                                                                                                                                                                            /dm8/dbms/bin/service_template/DmAPService start
                                                                                                                                                                                                                                                                            root@CJC-001:/dm8/scripts#sh start_dmap.sh

                                                                                                                                                                                                                                                                            #停库

                                                                                                                                                                                                                                                                            如果实例在运行,需要先关闭

                                                                                                                                                                                                                                                                              #systemctl stop DmServiceCJC.service

                                                                                                                                                                                                                                                                              脱机备份

                                                                                                                                                                                                                                                                                dmrman CTLSTMT="BACKUP DATABASE '/dm8/data/CJC/dm.ini' FULL TO BACKUP_FILE1 BACKUPSET '/dm8/bak/tmp/BACKUP_FILE_01'"

                                                                                                                                                                                                                                                                                查看备份文件

                                                                                                                                                                                                                                                                                  dmdba@EBGCJC-001:/home/dmdba$ls -lrth /dm8/bak/tmp/BACKUP_FILE_01/
                                                                                                                                                                                                                                                                                  total 23M
                                                                                                                                                                                                                                                                                  -rw-r--r-- 1 dmdba dinstall 23M Sep 20 09:58 BACKUP_FILE_01.bak
                                                                                                                                                                                                                                                                                  -rw-r--r-- 1 dmdba dinstall 106K Sep 20 09:58 BACKUP_FILE_01.meta

                                                                                                                                                                                                                                                                                  拷贝备份文件到备库

                                                                                                                                                                                                                                                                                    scp -P 333 -r /dm8/bak/tmp/BACKUP_FILE_01 192.168.1.102:/dm8/bak/tmp/

                                                                                                                                                                                                                                                                                    备库脱机恢复

                                                                                                                                                                                                                                                                                    启动DMAP服务

                                                                                                                                                                                                                                                                                      root@ECJC-001:/dm8/scripts#cat start_dmap.sh
                                                                                                                                                                                                                                                                                      #!/bin/bash
                                                                                                                                                                                                                                                                                      [ $(whoami) != root ] && echo "user not is root , please use an ##root## user" && exit 2
                                                                                                                                                                                                                                                                                      /dm8/dbms/bin/service_template/DmAPService start
                                                                                                                                                                                                                                                                                      root@EBGCJC-001:/dm8/scripts#sh start_dmap.sh

                                                                                                                                                                                                                                                                                      恢复

                                                                                                                                                                                                                                                                                        dmrman CTLSTMT="restore database '/dm8/data/CJC/dm.ini' from backupset '/dm8/bak/tmp/BACKUP_FILE_01'"
                                                                                                                                                                                                                                                                                        dmrman CTLSTMT="recover database '/dm8/data/CJC/dm.ini' from backupset '/dm8/bak/tmp/BACKUP_FILE_01'"
                                                                                                                                                                                                                                                                                        dmrman CTLSTMT="recover database '/dm8/data/CJC/dm.ini' update DB_MAGIC "

                                                                                                                                                                                                                                                                                        启动数据库

                                                                                                                                                                                                                                                                                        启动主库

                                                                                                                                                                                                                                                                                        注意

                                                                                                                                                                                                                                                                                        一定要以mount方式启动数据库实例,否则系统启动时会重构回滚表空间,生成Redo日志;

                                                                                                                                                                                                                                                                                        并且,启动后应用可能连接到数据库实例进行操作,破坏主备库的数据一致性。

                                                                                                                                                                                                                                                                                        数据守护配置结束后,守护进程会自动open数据库。

                                                                                                                                                                                                                                                                                        mount方式启动,前台启动

                                                                                                                                                                                                                                                                                          dmserver /dm8/data/CJC/dm.ini mount

                                                                                                                                                                                                                                                                                          配置主库

                                                                                                                                                                                                                                                                                          登录主库

                                                                                                                                                                                                                                                                                            disql SYSDBA/xxxxxx:35231
                                                                                                                                                                                                                                                                                            SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
                                                                                                                                                                                                                                                                                            sp_set_oguid(101102);
                                                                                                                                                                                                                                                                                            alter database primary;
                                                                                                                                                                                                                                                                                            SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

                                                                                                                                                                                                                                                                                            启动备库

                                                                                                                                                                                                                                                                                            注意

                                                                                                                                                                                                                                                                                            一定要以mount方式启动数据库实例,否则系统启动时会重构回滚表空间,生成Redo日志;

                                                                                                                                                                                                                                                                                            并且,启动后应用可能连接到数据库实例进行操作,破坏主备库的数据一致性。

                                                                                                                                                                                                                                                                                            数据守护配置结束后,守护进程会自动open数据库。

                                                                                                                                                                                                                                                                                            mount方式启动,前台启动

                                                                                                                                                                                                                                                                                              dmserver /dm8/data/CJC/dm.ini mount

                                                                                                                                                                                                                                                                                              登录备库

                                                                                                                                                                                                                                                                                                disql SYSDBA/xxxxxx:35231

                                                                                                                                                                                                                                                                                                配置参数

                                                                                                                                                                                                                                                                                                  SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
                                                                                                                                                                                                                                                                                                  sp_set_oguid(101102);
                                                                                                                                                                                                                                                                                                  alter database standby;
                                                                                                                                                                                                                                                                                                  SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

                                                                                                                                                                                                                                                                                                  注册服务

                                                                                                                                                                                                                                                                                                  注册服务,需要以root用户执行

                                                                                                                                                                                                                                                                                                  实例服务

                                                                                                                                                                                                                                                                                                  主、备库 注册服务

                                                                                                                                                                                                                                                                                                    cd /dm8/dbms/script/root

                                                                                                                                                                                                                                                                                                    实例

                                                                                                                                                                                                                                                                                                      ./dm_service_installer.sh -t dmserver -dm_ini /dm8/data/CJC/dm.ini -p CJC -m mount

                                                                                                                                                                                                                                                                                                      关闭自动启动

                                                                                                                                                                                                                                                                                                        systemctl disable DmServiceCJC.service

                                                                                                                                                                                                                                                                                                        守护服务

                                                                                                                                                                                                                                                                                                        主、备库 注册服务

                                                                                                                                                                                                                                                                                                          cd /dm8/dbms/script/root
                                                                                                                                                                                                                                                                                                          ./dm_service_installer.sh -t dmwatcher -p WATCHER -watcher_ini /dm8/data/CJC/dmwatcher.ini

                                                                                                                                                                                                                                                                                                          关闭自动启动

                                                                                                                                                                                                                                                                                                            systemctl list-unit-files |grep -i dmw
                                                                                                                                                                                                                                                                                                            systemctl disable DmWatcherServiceWATCHER.service

                                                                                                                                                                                                                                                                                                            监控服务

                                                                                                                                                                                                                                                                                                            主、备库 注册服务

                                                                                                                                                                                                                                                                                                              cd /dm8/dbms/script/root
                                                                                                                                                                                                                                                                                                              ./dm_service_installer.sh -t dmmonitor -p MONITOR -monitor_ini /dm8/data/CJC/dmmonitor.ini

                                                                                                                                                                                                                                                                                                              关闭自动启动

                                                                                                                                                                                                                                                                                                                systemctl disable DmMonitorServiceMONITOR.service

                                                                                                                                                                                                                                                                                                                取消注册

                                                                                                                                                                                                                                                                                                                如果注册有误,可以通过下面命令取消注册。

                                                                                                                                                                                                                                                                                                                  cd /dm8/dbms/script/root
                                                                                                                                                                                                                                                                                                                  #./dm_service_uninstaller.sh -n 服务名称

                                                                                                                                                                                                                                                                                                                  启动集群

                                                                                                                                                                                                                                                                                                                  先关闭数据库实例

                                                                                                                                                                                                                                                                                                                  备库

                                                                                                                                                                                                                                                                                                                    shutdown immediate;

                                                                                                                                                                                                                                                                                                                    主库

                                                                                                                                                                                                                                                                                                                      shutdown immediate;

                                                                                                                                                                                                                                                                                                                      检查进程

                                                                                                                                                                                                                                                                                                                        ps -ef|grep -i dms|grep -v grep

                                                                                                                                                                                                                                                                                                                        启动守护服务

                                                                                                                                                                                                                                                                                                                        启动顺序:实例、守护、监控器

                                                                                                                                                                                                                                                                                                                        主库:

                                                                                                                                                                                                                                                                                                                          systemctl start DmWatcherServiceWATCHER.service

                                                                                                                                                                                                                                                                                                                          实例会被自动启动

                                                                                                                                                                                                                                                                                                                            ps -ef|grep -i dms|grep -v grep
                                                                                                                                                                                                                                                                                                                            ps -ef|grep -i dmw|grep -v grep

                                                                                                                                                                                                                                                                                                                            备库:

                                                                                                                                                                                                                                                                                                                              systemctl start DmWatcherServiceWATCHER.service

                                                                                                                                                                                                                                                                                                                              实例会被自动启动

                                                                                                                                                                                                                                                                                                                                ps -ef|grep -i dms|grep -v grep
                                                                                                                                                                                                                                                                                                                                ps -ef|grep -i dmw|grep -v grep

                                                                                                                                                                                                                                                                                                                                启动监控服务

                                                                                                                                                                                                                                                                                                                                后台启动监控器

                                                                                                                                                                                                                                                                                                                                  systemctl start DmMonitorServiceMONITOR.service
                                                                                                                                                                                                                                                                                                                                    ps -ef|grep -i dmm|grep -v grep

                                                                                                                                                                                                                                                                                                                                    参数优化

                                                                                                                                                                                                                                                                                                                                    执行节点:主、备

                                                                                                                                                                                                                                                                                                                                    备份参数文件

                                                                                                                                                                                                                                                                                                                                      cp /dm8/data/CJC/dm.ini /dm8/bak/conf/dm.ini_20231030

                                                                                                                                                                                                                                                                                                                                      执行脚本

                                                                                                                                                                                                                                                                                                                                        disql SYSDBA/******:35231
                                                                                                                                                                                                                                                                                                                                        start /dm8/scripts/Adj_******.sql

                                                                                                                                                                                                                                                                                                                                        拷贝对应的命令并执行

                                                                                                                                                                                                                                                                                                                                        手动检查dm.ini参数buffer,max_sessions等是否合理,如有问题,手动调整。

                                                                                                                                                                                                                                                                                                                                        修改如下:

                                                                                                                                                                                                                                                                                                                                          MEMORY_POOL:由500改成1000
                                                                                                                                                                                                                                                                                                                                          MEMORY_TARGET:默认1000,不用修改
                                                                                                                                                                                                                                                                                                                                          BUFFER:服务器总内存小于等于16GB,设置为1/3,服务器大于100GB,设置为20GB
                                                                                                                                                                                                                                                                                                                                          MAX_SESSIONS:5000
                                                                                                                                                                                                                                                                                                                                          MAX_OS_MEMORY:60

                                                                                                                                                                                                                                                                                                                                          查询参数:

                                                                                                                                                                                                                                                                                                                                            set pagesize 200
                                                                                                                                                                                                                                                                                                                                            select para_name,para_value,file_value from V$DM_INI where PARA_NAME in ('WORKER_THREADS','TASK_THREADS','IO_THR_GROUPS',
                                                                                                                                                                                                                                                                                                                                            'MAX_OS_MEMORY','MEMORY_POOL','MEMORY_N_POOLS','MEMORY_TARGET','BUFFER','BUFFER_POOLS','RECYCLE','RECYCLE_POOLS',
                                                                                                                                                                                                                                                                                                                                            'FAST_POOL_PAGES','FAST_ROLL_PAGES','MEMORY_MAGIC_CHECK','ENABLE_FREQROOTS','HJ_BUF_GLOBAL_SIZE','HJ_BUF_SIZE',
                                                                                                                                                                                                                                                                                                                                            'HAGR_BUF_GLOBAL_SIZE','HAGR_BUF_SIZE','SORT_FLAG','SORT_BLK_SIZE','SORT_BUF_SIZE','SORT_BUF_GLOBAL_SIZE','RLOG_POOL_SIZE',
                                                                                                                                                                                                                                                                                                                                            'CACHE_POOL_SIZE','DICT_BUF_SIZE','VM_POOL_TARGET','SESS_POOL_TARGET','USE_PLN_POOL','ENABLE_MONITOR','SVR_LOG','TEMP_SIZE',
                                                                                                                                                                                                                                                                                                                                            'TEMP_SPACE_LIMIT','MAX_SESSIONS','MAX_SESSION_STATEMENT','PK_WITH_CLUSTER','ENABLE_ENCRYPT','OLAP_FLAG','VIEW_PULLUP_FLAG',
                                                                                                                                                                                                                                                                                                                                            'OPTIMIZER_MODE','ADAPTIVE_NPLN_FLAG','PARALLEL_PURGE_FLAG','PARALLEL_POLICY','UNDO_EXTENT_NUM','ENABLE_INJECT_HINT','DIRECT_IO',
                                                                                                                                                                                                                                                                                                                                            'COMPATIBLE_MODE','ALTER_MODE_STATUS','ENABLE_OFFLINE_TS');

                                                                                                                                                                                                                                                                                                                                            内存池调整

                                                                                                                                                                                                                                                                                                                                            简介

                                                                                                                                                                                                                                                                                                                                            达梦数据库针对从操作系统申请的内存资源进行内存池管理,所有的数据库线程从自己的内存池中进行处理,但是若 glibc 版本大于 2.10,操作系统会给数据库线程再分配一个内存池,这个内存池数据库是无法管理和释放的。

                                                                                                                                                                                                                                                                                                                                            所以导致数据库进程的 VIRT(虚拟内存)占用过高,通过添加操作系统参数 MALLOC_ARENA_MAX 禁止操作系统额外为数据库线程分配内存,数据库相关线程只从数据库已申请的内存池中进行资源分配,从而有效控制内存资源使用大小。

                                                                                                                                                                                                                                                                                                                                            默认就是4,理论上不需要修改

                                                                                                                                                                                                                                                                                                                                            查询 glibc 版本

                                                                                                                                                                                                                                                                                                                                              rpm -qa|grep glibc

                                                                                                                                                                                                                                                                                                                                              修改操作系统参数

                                                                                                                                                                                                                                                                                                                                                cd /dm8/dbms/bin
                                                                                                                                                                                                                                                                                                                                                cat /dm8/dbms/bin/DmServiceCJC|grep MALLOC_ARENA_MAX
                                                                                                                                                                                                                                                                                                                                                [dmdba@]#vi DmServiceCJC
                                                                                                                                                                                                                                                                                                                                                export MALLOC_ARENA_MAX=4

                                                                                                                                                                                                                                                                                                                                                厂商反馈也可以改成1,即使等于4也限制不住内存,需要的时候还会申请

                                                                                                                                                                                                                                                                                                                                                  sed -i "s/### END INIT INFO/### END INIT INFO\n\nexport MALLOC_ARENA_MAX=1/" /dm8/dbms/bin/DmServiceCJC

                                                                                                                                                                                                                                                                                                                                                  主从同步测试

                                                                                                                                                                                                                                                                                                                                                  测试前,先确认数据库实例、守护、监控器已经启动

                                                                                                                                                                                                                                                                                                                                                  主库:新增测试数据

                                                                                                                                                                                                                                                                                                                                                    disql CJC:35231
                                                                                                                                                                                                                                                                                                                                                    create table t0920(id int);
                                                                                                                                                                                                                                                                                                                                                    insert into t0920 values(1);
                                                                                                                                                                                                                                                                                                                                                    commit;

                                                                                                                                                                                                                                                                                                                                                    从库:可以正常查询数据

                                                                                                                                                                                                                                                                                                                                                      disql CJC:35231
                                                                                                                                                                                                                                                                                                                                                      SQL> select * from t0920;
                                                                                                                                                                                                                                                                                                                                                      LINEID id
                                                                                                                                                                                                                                                                                                                                                      ---------- -----------
                                                                                                                                                                                                                                                                                                                                                      1 1
                                                                                                                                                                                                                                                                                                                                                      used time: 0.303(ms). Execute id is 101.

                                                                                                                                                                                                                                                                                                                                                      从库默认没有不支持写

                                                                                                                                                                                                                                                                                                                                                        SQL> insert into t0920 values(2);
                                                                                                                                                                                                                                                                                                                                                        insert into t0920 values(2);
                                                                                                                                                                                                                                                                                                                                                        [-710]:Try to modify user database at standby mode.
                                                                                                                                                                                                                                                                                                                                                        used time: 0.610(ms). Execute id is 0.

                                                                                                                                                                                                                                                                                                                                                        配置服务名

                                                                                                                                                                                                                                                                                                                                                        主、备库配置服务名

                                                                                                                                                                                                                                                                                                                                                          vi /etc/dm_svc.conf
                                                                                                                                                                                                                                                                                                                                                          ##全局配置区
                                                                                                                                                                                                                                                                                                                                                          TIME_ZONE=(480)
                                                                                                                                                                                                                                                                                                                                                          LANGUAGE=(cn)
                                                                                                                                                                                                                                                                                                                                                          DMHACJC=(192.168.1.101:35231,192.168.1.102:35231)
                                                                                                                                                                                                                                                                                                                                                          ##服务配置
                                                                                                                                                                                                                                                                                                                                                          [DMHACJC]
                                                                                                                                                                                                                                                                                                                                                          SWITCH_TIMES=(3)
                                                                                                                                                                                                                                                                                                                                                          SWITCH_INTERVAL=(100)
                                                                                                                                                                                                                                                                                                                                                          LOGIN_MODE=(1)

                                                                                                                                                                                                                                                                                                                                                          连接方式

                                                                                                                                                                                                                                                                                                                                                            disql SYSDBA@DMHACJC
                                                                                                                                                                                                                                                                                                                                                            jdbc:dm://DMHACJC

                                                                                                                                                                                                                                                                                                                                                            其中LOGIN_MODE=(1)表示只连主库,不连备库

                                                                                                                                                                                                                                                                                                                                                            主、备手动切换

                                                                                                                                                                                                                                                                                                                                                            切换

                                                                                                                                                                                                                                                                                                                                                            备库前台启动非确认监控器

                                                                                                                                                                                                                                                                                                                                                              ###dmmonitor /dm8/data/CJC/dmmonitor_front.ini

                                                                                                                                                                                                                                                                                                                                                              切换前通过服务名连接主库,测试切换过程中,会话是否会自动退出

                                                                                                                                                                                                                                                                                                                                                                dmdba@EBGCJC-002:/home/dmdba$disql SYSDBA@DMHA
                                                                                                                                                                                                                                                                                                                                                                  密码:
                                                                                                                                                                                                                                                                                                                                                                  服务器[192.168.1.101:35231]:处于主库打开状态
                                                                                                                                                                                                                                                                                                                                                                  登录使用时间 : 5.397(ms)
                                                                                                                                                                                                                                                                                                                                                                  disql V8
                                                                                                                                                                                                                                                                                                                                                                  SQL> select name,instance_name,status$,mode$ from v$instance;
                                                                                                                                                                                                                                                                                                                                                                  行号 name instance_name status$ mode$
                                                                                                                                                                                                                                                                                                                                                                  ---------- ---- ------------- ------- -------
                                                                                                                                                                                                                                                                                                                                                                  1 CJC01 CJC01 OPEN PRIMARY

                                                                                                                                                                                                                                                                                                                                                                  查看主备集群状态

                                                                                                                                                                                                                                                                                                                                                                    show global info

                                                                                                                                                                                                                                                                                                                                                                    确保实例名、实例状态、角色、RSTAT等状态正常

                                                                                                                                                                                                                                                                                                                                                                    ###登录监控器

                                                                                                                                                                                                                                                                                                                                                                      login
                                                                                                                                                                                                                                                                                                                                                                      用户名:SYSDBA
                                                                                                                                                                                                                                                                                                                                                                      密码:
                                                                                                                                                                                                                                                                                                                                                                      [monitor] 2023-09-20 14:33:37: 登录监视器成功!

                                                                                                                                                                                                                                                                                                                                                                      ###开始切换

                                                                                                                                                                                                                                                                                                                                                                      ###当前主库是CJC01,备库是CJC02,执行下面命令,将主库切换到CJC02

                                                                                                                                                                                                                                                                                                                                                                        switchover GRPCJC.CJC02

                                                                                                                                                                                                                                                                                                                                                                        ###切换时间不超过1分钟

                                                                                                                                                                                                                                                                                                                                                                        ###切换后,查看主备状态,主库已切换到CJC02实例

                                                                                                                                                                                                                                                                                                                                                                          show global info

                                                                                                                                                                                                                                                                                                                                                                          主从切换后,通过服务名连接的会话没有断开,自动切换到另一个实例

                                                                                                                                                                                                                                                                                                                                                                          查询实例已经自动变成CJC02了。

                                                                                                                                                                                                                                                                                                                                                                            SQL> select name,instance_name,status$,mode$ from v$instance;
                                                                                                                                                                                                                                                                                                                                                                            服务器[192.168.1.102:35231]:处于主库打开状态
                                                                                                                                                                                                                                                                                                                                                                            已连接
                                                                                                                                                                                                                                                                                                                                                                            行号 name instance_name status$ mode$
                                                                                                                                                                                                                                                                                                                                                                            ---------- ---- ------------- ------- -------
                                                                                                                                                                                                                                                                                                                                                                            1 CJC02 CJC02 OPEN PRIMARY
                                                                                                                                                                                                                                                                                                                                                                            已用时间: 3.059(毫秒). 执行号:700.

                                                                                                                                                                                                                                                                                                                                                                            切换后,检查数据同步正常

                                                                                                                                                                                                                                                                                                                                                                            主库插入数据测试

                                                                                                                                                                                                                                                                                                                                                                              SQL> insert into CJC.t0920 values(2);
                                                                                                                                                                                                                                                                                                                                                                                影响行数 1
                                                                                                                                                                                                                                                                                                                                                                                已用时间: 1.380(毫秒). 执行号:802.
                                                                                                                                                                                                                                                                                                                                                                                SQL> commit;
                                                                                                                                                                                                                                                                                                                                                                                操作已执行
                                                                                                                                                                                                                                                                                                                                                                                已用时间: 3.062(毫秒). 执行号:803.
                                                                                                                                                                                                                                                                                                                                                                                SQL> select * from CJC.t0920;
                                                                                                                                                                                                                                                                                                                                                                                行号 id
                                                                                                                                                                                                                                                                                                                                                                                ---------- -----------
                                                                                                                                                                                                                                                                                                                                                                                1 100
                                                                                                                                                                                                                                                                                                                                                                                2 2
                                                                                                                                                                                                                                                                                                                                                                                已用时间: 0.292(毫秒). 执行号:804

                                                                                                                                                                                                                                                                                                                                                                                备库,可以正常接收数据

                                                                                                                                                                                                                                                                                                                                                                                  dmdba@EBGCJC-001:/home/dmdba$!198
                                                                                                                                                                                                                                                                                                                                                                                  disql SYSDBA/xxxxxx:35231
                                                                                                                                                                                                                                                                                                                                                                                  服务器[LOCALHOST:35231]:处于备库打开状态
                                                                                                                                                                                                                                                                                                                                                                                  登录使用时间 : 3.023(ms)
                                                                                                                                                                                                                                                                                                                                                                                  disql V8
                                                                                                                                                                                                                                                                                                                                                                                  SQL> select * from CJC.t0920;
                                                                                                                                                                                                                                                                                                                                                                                  行号 id
                                                                                                                                                                                                                                                                                                                                                                                  ---------- -----------
                                                                                                                                                                                                                                                                                                                                                                                  1 100
                                                                                                                                                                                                                                                                                                                                                                                  2 2
                                                                                                                                                                                                                                                                                                                                                                                  已用时间: 1.895(毫秒). 执行号:800.
                                                                                                                                                                                                                                                                                                                                                                                  SQL> insert into CJC.t0920 values(3);
                                                                                                                                                                                                                                                                                                                                                                                  insert into CJC.t0920 values(3);
                                                                                                                                                                                                                                                                                                                                                                                  [-710]:试图在STANDBY模式下,修改用户库.
                                                                                                                                                                                                                                                                                                                                                                                  已用时间: 0.551(毫秒). 执行号:0.

                                                                                                                                                                                                                                                                                                                                                                                  回切

                                                                                                                                                                                                                                                                                                                                                                                  ###开始切换

                                                                                                                                                                                                                                                                                                                                                                                  登录前台监控器

                                                                                                                                                                                                                                                                                                                                                                                    login
                                                                                                                                                                                                                                                                                                                                                                                    用户名:SYSDBA
                                                                                                                                                                                                                                                                                                                                                                                    密码:
                                                                                                                                                                                                                                                                                                                                                                                    switchover GRPCJC.CJC01

                                                                                                                                                                                                                                                                                                                                                                                    回切时间不超过1分钟

                                                                                                                                                                                                                                                                                                                                                                                    主、备自动切换

                                                                                                                                                                                                                                                                                                                                                                                    主动切换前,需要检查确认监控器已经正常启动

                                                                                                                                                                                                                                                                                                                                                                                    备库

                                                                                                                                                                                                                                                                                                                                                                                      systemctl status DmMonitorServiceMONITOR.service

                                                                                                                                                                                                                                                                                                                                                                                      打开监控器日志,跟踪切换进度

                                                                                                                                                                                                                                                                                                                                                                                        tail -100f /dm8/mal/log/dmmonitor_20230920110403.log

                                                                                                                                                                                                                                                                                                                                                                                        模拟主库故障

                                                                                                                                                                                                                                                                                                                                                                                        停止主库守护服务

                                                                                                                                                                                                                                                                                                                                                                                          systemctl stop DmWatcherServiceWATCHER.service

                                                                                                                                                                                                                                                                                                                                                                                          实例自动停止

                                                                                                                                                                                                                                                                                                                                                                                            ps -ef|grep -i dms|grep -v grep
                                                                                                                                                                                                                                                                                                                                                                                            ps -ef|grep -i dmw|grep -v grep

                                                                                                                                                                                                                                                                                                                                                                                            自动切换

                                                                                                                                                                                                                                                                                                                                                                                            通过监控日志可以看到备库实例自动接管

                                                                                                                                                                                                                                                                                                                                                                                              [monitor] 2023-09-20 15:31:48: [!!! 实例CJC01[PRIMARY, OPEN, ISTAT_SAME:TRUE]故障,实例CJC02[STANDBY, OPEN, ISTAT_SAME:TRUE]符合自动接管条件 !!!]
                                                                                                                                                                                                                                                                                                                                                                                              [monitor] 2023-09-20 15:31:48: 检测到PRIMARY实例故障,开始对组(GRPCJC)执行自动接管

                                                                                                                                                                                                                                                                                                                                                                                              自动切换耗时:3秒。

                                                                                                                                                                                                                                                                                                                                                                                              查看集群状态

                                                                                                                                                                                                                                                                                                                                                                                              检查自动切换后信息

                                                                                                                                                                                                                                                                                                                                                                                                dmdba@EBGCJC-002:/home/dmdba$disql SYSDBA@DMHA
                                                                                                                                                                                                                                                                                                                                                                                                密码:
                                                                                                                                                                                                                                                                                                                                                                                                服务器[192.168.1.102:35231]:处于主库打开状态
                                                                                                                                                                                                                                                                                                                                                                                                登录使用时间 : 5.804(ms)
                                                                                                                                                                                                                                                                                                                                                                                                disql V8
                                                                                                                                                                                                                                                                                                                                                                                                SQL> select name,instance_name,status$,mode$ from v$instance;
                                                                                                                                                                                                                                                                                                                                                                                                行号 name instance_name status$ mode$
                                                                                                                                                                                                                                                                                                                                                                                                ---------- ---- ------------- ------- -------
                                                                                                                                                                                                                                                                                                                                                                                                1 CJC02 CJC02 OPEN PRIMARY
                                                                                                                                                                                                                                                                                                                                                                                                已用时间: 3.658(毫秒). 执行号:600.

                                                                                                                                                                                                                                                                                                                                                                                                新主库,新增数据

                                                                                                                                                                                                                                                                                                                                                                                                  SQL> INSERT INTO CJC.T0920 VALUES(300);
                                                                                                                                                                                                                                                                                                                                                                                                  SQL> COMMIT;

                                                                                                                                                                                                                                                                                                                                                                                                  恢复原主库

                                                                                                                                                                                                                                                                                                                                                                                                    systemctl start DmWatcherServiceWATCHER.service

                                                                                                                                                                                                                                                                                                                                                                                                    登录新备库(原主库)

                                                                                                                                                                                                                                                                                                                                                                                                    检查数据自动同步完成

                                                                                                                                                                                                                                                                                                                                                                                                      SQL> SELECT * FROM CJC.TEST0920;

                                                                                                                                                                                                                                                                                                                                                                                                      回切

                                                                                                                                                                                                                                                                                                                                                                                                      可以通过关闭新主库进行回切

                                                                                                                                                                                                                                                                                                                                                                                                      也可以参考前面 手动切换 步骤,通过前台监控器进行回切

                                                                                                                                                                                                                                                                                                                                                                                                      备库启动非确认监控器

                                                                                                                                                                                                                                                                                                                                                                                                        dmmonitor /dm8/data/CJC/dmmonitor_front.ini

                                                                                                                                                                                                                                                                                                                                                                                                        ###回切

                                                                                                                                                                                                                                                                                                                                                                                                          switchover GRPCJC.CJC01

                                                                                                                                                                                                                                                                                                                                                                                                          配置定时备份

                                                                                                                                                                                                                                                                                                                                                                                                          开启归档

                                                                                                                                                                                                                                                                                                                                                                                                          SQL 命令方式开启归档

                                                                                                                                                                                                                                                                                                                                                                                                          归档大小限制、路径等根据实际情况调整。

                                                                                                                                                                                                                                                                                                                                                                                                          登录数据库执行如下 SQL 语句:

                                                                                                                                                                                                                                                                                                                                                                                                          查询归档

                                                                                                                                                                                                                                                                                                                                                                                                            select PARA_NAME,PARA_VALUE,DEFAULT_VALUE from v$dm_ini where para_name LIKE '%ARCH_INI%';

                                                                                                                                                                                                                                                                                                                                                                                                            查询归档状态

                                                                                                                                                                                                                                                                                                                                                                                                              Select * from v$arch_status;

                                                                                                                                                                                                                                                                                                                                                                                                              检查归档参数是否生效

                                                                                                                                                                                                                                                                                                                                                                                                                cd /dm8/data/CJC
                                                                                                                                                                                                                                                                                                                                                                                                                cat dm.ini|grep -i ARCH_INI

                                                                                                                                                                                                                                                                                                                                                                                                                归档自动删除

                                                                                                                                                                                                                                                                                                                                                                                                                注意:归档之前已经配置,不需要再次执行

                                                                                                                                                                                                                                                                                                                                                                                                                1.按照归档大小删除

                                                                                                                                                                                                                                                                                                                                                                                                                ARCH_SPACE_LIMITRedo日志归档空间限制,当同一节点的本地归档文件或远程归档文件达到限制值时,系统自动删除最早生成的归档日志文件。0表示无空间限制,取值范围(1024M~2147483647M),对本地归档和远程归档有效,缺省为0。可手动修改dmarch.iniARCH_SPACE_LIMIT参数,也可执行sql:

                                                                                                                                                                                                                                                                                                                                                                                                                  alter database modify archivelog 'DEST=/dm8/arch, TYPE=LOCAL, FILE_SIZE=200, SPACE_LIMIT=10240';

                                                                                                                                                                                                                                                                                                                                                                                                                  2.按照时间删除

                                                                                                                                                                                                                                                                                                                                                                                                                  ARCH_RESERVE_TIME:归档日志保留时间,单位分钟,取值范围(0~4294967294)。只对远程归档和本地归档有效,服务器每隔5分钟检查是否存在超过保留时间的归档并删除。默认为0,表示不删除归档。手动修改dmarch.iniARCH_RESERVE_TIME参数,更改为1440即归档保留24小时。

                                                                                                                                                                                                                                                                                                                                                                                                                  检查DmAPService服务状态

                                                                                                                                                                                                                                                                                                                                                                                                                    /dm8/dbms/bin/service_template/DmAPService status

                                                                                                                                                                                                                                                                                                                                                                                                                    如果关闭状态,需要手动启动

                                                                                                                                                                                                                                                                                                                                                                                                                      /dm8/dbms/bin/service_template/DmAPService start

                                                                                                                                                                                                                                                                                                                                                                                                                      配置定时物理备份

                                                                                                                                                                                                                                                                                                                                                                                                                      物理备份配置在主库上:

                                                                                                                                                                                                                                                                                                                                                                                                                      备份时间根据实际情况配置。

                                                                                                                                                                                                                                                                                                                                                                                                                      配置全备份,备份到目录/dm8/bak/full,备份开始时间每天22:00

                                                                                                                                                                                                                                                                                                                                                                                                                      需要先进行初始化操作:

                                                                                                                                                                                                                                                                                                                                                                                                                        SP_INIT_JOB_SYS(1);
                                                                                                                                                                                                                                                                                                                                                                                                                        SQL> call SP_CREATE_JOB('DM_BAK_FULL_CJC',1,0,'',0,0,'',0,'DM_BAK_FULL_CJC');
                                                                                                                                                                                                                                                                                                                                                                                                                        SQL> call SP_JOB_CONFIG_START('DM_BAK_FULL_CJC');
                                                                                                                                                                                                                                                                                                                                                                                                                        SQL> call SP_ADD_JOB_STEP('DM_BAK_FULL_CJC', 'DM_BAK_FULL_CJC', 6, '00000000/dm8/bak/full', 0, 0, 0, 0, NULL, 0);
                                                                                                                                                                                                                                                                                                                                                                                                                        SQL> call SP_ADD_JOB_SCHEDULE('DM_BAK_FULL_CJC''DM_BAK_FULL_CJC', 1, 1, 1, 0, 0, '23:00:00', NULL, '2023-11-02 21:30:30', NULL, '');
                                                                                                                                                                                                                                                                                                                                                                                                                        SQL> call SP_JOB_CONFIG_COMMIT('DM_BAK_FULL_CJC');

                                                                                                                                                                                                                                                                                                                                                                                                                        配置作业定时清理

                                                                                                                                                                                                                                                                                                                                                                                                                          SQL> call SP_CREATE_JOB('DM_BAK_FULL_CJC_DELETE',1,0,'',0,0,'',0,'DM_BAK_FULL_CJC_DELETE');
                                                                                                                                                                                                                                                                                                                                                                                                                          SQL> call SP_JOB_CONFIG_START('DM_BAK_FULL_CJC_DELETE');
                                                                                                                                                                                                                                                                                                                                                                                                                          SQL> call SP_ADD_JOB_STEP('DM_BAK_FULL_CJC_DELETE', 'DM_BAK_FULL_CJC_DELETE', 0, 'SF_BAKSET_BACKUP_DIR_ADD(''DISK'',''/dm8/bak/full'');CALL SP_DB_BAKSET_REMOVE_BATCH(''DISK'',SYSDATE-3);', 1, 2, 0, 0, NULL, 0);
                                                                                                                                                                                                                                                                                                                                                                                                                          SQL> call SP_ADD_JOB_SCHEDULE('DM_BAK_FULL_CJC_DELETE''DM_BAK_FULL_CJC_DELETE', 1, 1, 1, 0, 0, '23:30:00', NULL, '2023-11-02 17:30:00', NULL, '');
                                                                                                                                                                                                                                                                                                                                                                                                                          SQL> call SP_JOB_CONFIG_COMMIT('DM_BAK_FULL_CJC_DELETE');

                                                                                                                                                                                                                                                                                                                                                                                                                          查看作业执行情况

                                                                                                                                                                                                                                                                                                                                                                                                                            set pagesize 1000
                                                                                                                                                                                                                                                                                                                                                                                                                            SELECT EXEC_ID,NAME,START_TIME,END_TIME,ERRCODE,JOBID FROM SYSJOB.SYSJOBHISTORIES2 ORDER BY START_TIME;

                                                                                                                                                                                                                                                                                                                                                                                                                            查看失败作业详细信息

                                                                                                                                                                                                                                                                                                                                                                                                                              SELECT EXEC_ID,ERRCODE,ERRINFO FROM SYSJOB.SYSJOBHISTORIES2 WHERE ERRCODE !=0;

                                                                                                                                                                                                                                                                                                                                                                                                                              查看备份任务

                                                                                                                                                                                                                                                                                                                                                                                                                                SELECT JOB,SCHEMA_USER,LAST_DATE,LAST_SEC,NEXT_DATE,FAILURES,INSTANCE,"INTERVAL" FROM DBA_JOBS;

                                                                                                                                                                                                                                                                                                                                                                                                                                查看执行内容

                                                                                                                                                                                                                                                                                                                                                                                                                                  SELECT JOB,WHAT FROM DBA_JOBS;

                                                                                                                                                                                                                                                                                                                                                                                                                                  配置定时逻辑备份

                                                                                                                                                                                                                                                                                                                                                                                                                                  逻辑备份配置在备库上:

                                                                                                                                                                                                                                                                                                                                                                                                                                  备份shell脚本

                                                                                                                                                                                                                                                                                                                                                                                                                                    vi /dm8/scripts/dexp_CJC_bak.sh
                                                                                                                                                                                                                                                                                                                                                                                                                                    #/bin/bash
                                                                                                                                                                                                                                                                                                                                                                                                                                    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dm8/dbms/bin"
                                                                                                                                                                                                                                                                                                                                                                                                                                    export DM_HOME="/dm8/dbms"
                                                                                                                                                                                                                                                                                                                                                                                                                                    export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool
                                                                                                                                                                                                                                                                                                                                                                                                                                    #time
                                                                                                                                                                                                                                                                                                                                                                                                                                    CUR_DATE=`date +'%Y%m%d%H%M%S'`
                                                                                                                                                                                                                                                                                                                                                                                                                                    #weekday
                                                                                                                                                                                                                                                                                                                                                                                                                                    WEEKDAY_INDEX=`date +'%w'`
                                                                                                                                                                                                                                                                                                                                                                                                                                    echo "###begin exp_full_bak ...###"
                                                                                                                                                                                                                                                                                                                                                                                                                                    dexp SYSDBA/************:35231 file=dexp_CJC_${CUR_DATE}.dmp directory=/dm8/bak/dmp log=dexp_CJC_${CUR_DATE}.log OWNER=CJC
                                                                                                                                                                                                                                                                                                                                                                                                                                    echo "###delete dmp history file ...###"
                                                                                                                                                                                                                                                                                                                                                                                                                                    find /dm8/bak/dmp -mtime 2 -type f -name "dexp_CJC_*.dmp" -exec rm -rf {} \;
                                                                                                                                                                                                                                                                                                                                                                                                                                    find /dm8/bak/dmp -mtime 2 -type f -name "dexp_CJC_*.log" -exec rm -rf {} \;
                                                                                                                                                                                                                                                                                                                                                                                                                                    echo "###end bak ...###"

                                                                                                                                                                                                                                                                                                                                                                                                                                    备份定时任务

                                                                                                                                                                                                                                                                                                                                                                                                                                      chmod +x /dm8/scripts/dexp_CJC_bak.sh

                                                                                                                                                                                                                                                                                                                                                                                                                                      #配置定时任务,每天晚上2330分定时执行备份脚本

                                                                                                                                                                                                                                                                                                                                                                                                                                        crontab -e
                                                                                                                                                                                                                                                                                                                                                                                                                                        30 21 * * * su - dmdba -c "/dm8/scripts/dexp_CJC_bak.sh" 2>/dev/null

                                                                                                                                                                                                                                                                                                                                                                                                                                        备份报错处理

                                                                                                                                                                                                                                                                                                                                                                                                                                        如果报错:[-7170]:Bakres failed to connect DMAP. 需要手动启动DmAP服务。

                                                                                                                                                                                                                                                                                                                                                                                                                                        启动服务:

                                                                                                                                                                                                                                                                                                                                                                                                                                          find /dm -name DmAP*

                                                                                                                                                                                                                                                                                                                                                                                                                                          需要启动DmAP服务

                                                                                                                                                                                                                                                                                                                                                                                                                                            cd /dm/dmdbms/bin/service_template/
                                                                                                                                                                                                                                                                                                                                                                                                                                            ./DmAPService status
                                                                                                                                                                                                                                                                                                                                                                                                                                            ./DmAPService start
                                                                                                                                                                                                                                                                                                                                                                                                                                            ./DmAPService status

                                                                                                                                                                                                                                                                                                                                                                                                                                            如果报错:[-718]:Archive log collected not consecusive. 可以尝试手动切换归档后进行备份。

                                                                                                                                                                                                                                                                                                                                                                                                                                              SQL> BACKUP DATABASE FULL BACKUPSET '/dm/dmbak/CJC_full_bak_20220426';
                                                                                                                                                                                                                                                                                                                                                                                                                                              BACKUP DATABASE FULL BACKUPSET '/dm/dmbak/CJC_full_bak_20220426';
                                                                                                                                                                                                                                                                                                                                                                                                                                              [-718]:Archive log collected not consecusive.
                                                                                                                                                                                                                                                                                                                                                                                                                                              used time: 781.071(ms). Execute id is 0.

                                                                                                                                                                                                                                                                                                                                                                                                                                              手动切换归档

                                                                                                                                                                                                                                                                                                                                                                                                                                                SQL> alter system switch logfile;

                                                                                                                                                                                                                                                                                                                                                                                                                                                参考网址:

                                                                                                                                                                                                                                                                                                                                                                                                                                                  https://eco.dameng.com/document/dm/zh-cn/ops/before-installation.html

                                                                                                                                                                                                                                                                                                                                                                                                                                                  DM常用命令

                                                                                                                                                                                                                                                                                                                                                                                                                                                  1.启停数据库

                                                                                                                                                                                                                                                                                                                                                                                                                                                  守护服务管理主备实例启动和关闭,不需要通过下面命令启停实例

                                                                                                                                                                                                                                                                                                                                                                                                                                                    ##systemctl start DmServiceCJC.service
                                                                                                                                                                                                                                                                                                                                                                                                                                                    ##systemctl stop DmServiceCJC.service

                                                                                                                                                                                                                                                                                                                                                                                                                                                    通过启停守护服务来实现实例启停

                                                                                                                                                                                                                                                                                                                                                                                                                                                    关闭集群

                                                                                                                                                                                                                                                                                                                                                                                                                                                    关闭顺序:监控器、守护、实例

                                                                                                                                                                                                                                                                                                                                                                                                                                                    关闭监控器服务

                                                                                                                                                                                                                                                                                                                                                                                                                                                    关闭监控器

                                                                                                                                                                                                                                                                                                                                                                                                                                                      systemctl stop DmMonitorServiceMONITOR.service

                                                                                                                                                                                                                                                                                                                                                                                                                                                      关闭守护服务

                                                                                                                                                                                                                                                                                                                                                                                                                                                      备库:关闭守护,实例会被自动关闭

                                                                                                                                                                                                                                                                                                                                                                                                                                                        systemctl stop DmWatcherServiceWATCHER.service

                                                                                                                                                                                                                                                                                                                                                                                                                                                        主库:关闭守护实例会被自动关闭

                                                                                                                                                                                                                                                                                                                                                                                                                                                          systemctl stop DmWatcherServiceWATCHER.service

                                                                                                                                                                                                                                                                                                                                                                                                                                                          2.登录数据库

                                                                                                                                                                                                                                                                                                                                                                                                                                                            disql SYSDBA/************@IP:35231
                                                                                                                                                                                                                                                                                                                                                                                                                                                            disql SYSDBA/************:35231
                                                                                                                                                                                                                                                                                                                                                                                                                                                            disql SYSDBA:35231
                                                                                                                                                                                                                                                                                                                                                                                                                                                            disql SYSDBA@DMHA

                                                                                                                                                                                                                                                                                                                                                                                                                                                            3.数据字典

                                                                                                                                                                                                                                                                                                                                                                                                                                                            动态性能视图:v$dynamic_tables

                                                                                                                                                                                                                                                                                                                                                                                                                                                            数据字典:sysobjects

                                                                                                                                                                                                                                                                                                                                                                                                                                                            例如,查询roles相关表。

                                                                                                                                                                                                                                                                                                                                                                                                                                                              Select name from sysobjects where name like '%ROLE%';

                                                                                                                                                                                                                                                                                                                                                                                                                                                              4.授权过期时间

                                                                                                                                                                                                                                                                                                                                                                                                                                                                SQL> select EXPIRED_DATE from v$license;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                LINEID EXPIRED_DATE
                                                                                                                                                                                                                                                                                                                                                                                                                                                                ---------- ------------
                                                                                                                                                                                                                                                                                                                                                                                                                                                                1 2024-07-13

                                                                                                                                                                                                                                                                                                                                                                                                                                                                可以看到,安装介质名称dm8_20230713_x86_kylin10_64_include_symbols.iso,说明介质发布时间20230713,数据库安装时间20230921,到期时间20240713,也就是介质发布时间一年以后,而不是安装时间一年以后。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                5.参数管理

                                                                                                                                                                                                                                                                                                                                                                                                                                                                V$DM_INIV$PARAMETER

                                                                                                                                                                                                                                                                                                                                                                                                                                                                参数调整

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  https://eco.dameng.com/document/dm/zh-cn/ops/performance-optimization.html

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  参数

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  含义

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  优化建议

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  MEMORY_POOL

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  共享内存池大小,以 M 为单位。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  高并发时应调大,避免频繁向 OS 申请内存。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  在物理内存较大的情况下,比如大于64G,可以将MEMORY_POOL设置为2048,即2G

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  同时也建议设置 MEMORY_TARGET参数,该参数默认为0,不受限制。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  MEMORY_N_POOLS

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  共享内存池个数,减少内存临界区冲突。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  设置较大会导致启动时报错申请内存失败。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  BUFFER

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  系统缓冲区大小,以 M 为单位。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  如果数据量小于内存,则设置为数据量大小;否则设置为总内存的 2/3 比较合适。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  BUFFER_POOLS

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  BUFFER 系统分区数,有效值范围(1~512),当 MAX_BUFFER>BUFFER 时,动态扩展的缓冲区不参与分区。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  并发较大的系统需要配置该参数,减少数据缓冲区并发冲突,建议 BUFFER=MAX_BUFFER

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  RECYCLE

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  RECYCLE 缓冲区大小,以 M 为单位。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  高并发或大量使用 with、临时表、排序等时,可以将值调大。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  DICT_BUF_SIZE

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  字典缓冲区大小,以 M 为单位。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  如果数据库中对象数量较多,或者存在大量分区表,可适当调大。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  建议改成50M以上。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  WORKER_THREADS

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  工作线程的数目。有效值范围(1~64

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  建议设置为 cpu 核数或其两倍

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  SORT_BUF_SIZE

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  原排序机制下,排序缓存区最大值,以 M 为单位。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  建索引时可以适当调大,通常不超过 20M

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  在内存小于64G时建议设置为10M,大于64G时建议设置为512M

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  PWD_POLICY

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  设置系统默认口令策略:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  0:无限制。但总长度不得超过 48 个字节;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  1:禁止与用户名相同;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  2:口令长度需大于等于 PWD_MIN_LEN 设置的值;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  4:至少包含一个大写字母(A-Z);

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  8:至少包含一个数字(09);

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  16:至少包含一个标点符号

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  默认值:2  即密码长度不小于 9

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  MAX_SESSIONS

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  系统允许同时连接的最大数,同时还受到 LICENSE 的限制,取二者中较小的值,有效值范围(1~65000)。建议用户按照实际内存和业务需求来配置。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  默认值:10000

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  根据实际并发等因素修改

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  TEMP_SPACE_LIMIT

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  临时表空间大小上限,单位为 MB,如果有大量排序、临时表操作时可能会占用。关系到磁盘空间占用,建议根据磁盘情况设置上限。


                                                                                                                                                                                                                                                                                                                                                                                                                                                                  CALC_AS_DECIMAL

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  达梦数据库对于整数的除法运算和oracle的是不同的,DM中默认会舍弃小数,直接取整数,也不会四舍五入再取整。但是DM提供参数CALC_AS_DECIMAL来控制。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  默认值0,建议改成1

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  注意:根据业务需求修改

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  登录数据库

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    disql SYSDBA/************@IP:35231
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    disql SYSDBA/************:35231

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    查询参数:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      select name,type,value,default_value,isdefault from v$parameter
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      where name in
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      'MEMORY_POOL',
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      'BUFFER',
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      'PWD_POLICY',
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      'SORT_BUF_SIZE',
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      'MAX_SESSIONS',
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      'TEMP_SPACE_LIMIT',
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      'CALC_AS_DECIMAL',
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      'RLOG_BUF_SIZE',
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      'DICT_BUF_SIZE',
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      'CACHE_POOL_SIZE',
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      'GLOBAL_STR_CASE_SENSITIVE',
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      'GLOBAL_CHARSET'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ) order by type,name;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        SELECT SF_GET_CASE_SENSITIVE_FLAG();
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        SELECT CASE_SENSITIVE();

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        参数类型说明

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        1.手动(READ ONLY)参数

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        在数据库创建成功后无法修改。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        2.静态(IN FILE)参数

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        只能通过修改 DM.INI 文件进行修改,修改后重启服务器才能生效,为系统级参数,生效后会影响所有的会话。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        3.动态(SYS SESSION)参数

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        可在 DM.INI 文件和内存同时修改,修改后即时生效。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        其中

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        SYS 为系统级参数,修改后会影响所有的会话;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        SESSION 为会话级参数,服务器运行过程中被修改时,之前创建的会话不受影响,只有新创建的会话使用新的参数值。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        备份参数文件

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        修改参数前,先备份参数文件

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ps -ef|grep dm.ini|grep -v grep
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          cd /dm8/data/CJC
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          cp dm.ini dm.ini_bak_`date +%Y%m%d%H%M%S`

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          修改参数方式一:脚本调整

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          上传脚本(达梦官网-运维指南-单机安装部署-实例参数优化调整)AutoParaAdj.sql

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          参考参数优化部分

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          修改参数方式二:手动调整

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          修改SYS/SESSION类型参数

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ###SORT_BUF_SIZE由20改成512
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ###ALTER SYSTEM SET 'SORT_BUF_SIZE'=512 BOTH;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ###TEMP_SPACE_LIMIT由0改成20480
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ALTER SYSTEM SET 'TEMP_SPACE_LIMIT'=20480 BOTH;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            修改IN FILE类型参数

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            修改dm.ini参数文件

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              cd /dm8/data/db_name
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              cat dm.ini|grep -w -E 'MEMORY_POOL|BUFFER|MAX_SESSIONS'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              vi dm.ini
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              MEMORY_POOL由500改成2048
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              BUFFER由1000改成20480
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              MAX_SESSIONS由10000改成3000
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              CALC_AS_DECIMAL由0改成1
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              RLOG_BUF_SIZE由1024改成2048
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              DICT_BUF_SIZE由50改成1024
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              CACHE_POOL_SIZE由100改成2048

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              重启实例生效(root用户)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                systemctl status DmServiceCJC.service
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                systemctl stop DmServiceCJC.service
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                systemctl start DmServiceCJC.service

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                再次查看参数

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                6.用户权限

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                查询权限相关表:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  select grantee,granted_role from dba_role_privs where grantee in ('CJC'order by 1;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Select grantee,privilege from dba_sys_privs where grantee in ('CJC'order by 1;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  Select grantee,privilege from dba_tab_privs where grantee in ('CJC') order by 1;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  角色

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    select role from dba_roles;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    查看权限

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      SQL> select grantee,granted_role from dba_role_privs where grantee='CJC';
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      SQL> Select grantee,privilege from dba_sys_privs where grantee='CJC';

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      查看角色包含的权限

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        SQL> set pagesize 100
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        SQL> select * from dba_sys_privs where GRANTEE='RESOURCE' order by 3;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        7.数据库跟踪日志

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          cd /dm8/dbms/log
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          tail -10f dm_CJC_xxx.log
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ......

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          8.查询基本信息

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          REDO LOG FILE信息

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            SELECT
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            A.FILE_ID ,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            A.PATH ,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            A.CLIENT_PATH,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            A.RLOG_SIZE ,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            B.FREE_SPACE ,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            B.TOTAL_SPACE,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            B.CUR_FILE
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            from
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            select * from V$RLOGFILE where true
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ) A,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            (
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            select * from V$RLOG where true
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ) B;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            表空间使用率

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            通过以下语句可查看表空间基本信息:表空间大小,剩余空间大小,表空间使用率等。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              SELECT a.tablespace_name "TABNAME",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              total / (1024 * 1024) "TOTAL(M)",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              free / (1024 * 1024) "FREE(M)",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              (total - free) / (1024 * 1024 ) "USED(M)",
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              round((total - free) / total, 4) * 100 "USED %"
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              FROM (SELECT tablespace_name, SUM(bytes) free
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              FROM dba_free_space
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              GROUP BY tablespace_name) a,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              (SELECT tablespace_name, SUM(bytes) total
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              FROM dba_data_files
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              GROUP BY tablespace_name) b
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              WHERE a.tablespace_name = b.tablespace_name;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              数据文件信息

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                select file_name,status,bytes/1024/1024 mb,autoextensible,maxbytes from dba_data_files;

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ###chenjuchao 20240524###

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                欢迎关注我的公众号《IT小Chen》

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                文章转载自IT小Chen,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                评论