暂无图片
暂无图片
3
暂无图片
暂无图片
暂无图片

CenterOS 7安装达梦数据主备集群

得一阳阳 2024-11-25
769

一、安装前准备

前言:主备集群至少需要三台机器,一主一备一监视器,监视器只需要安装达梦数据库不需要初始化实例。达梦数据的安装需要一步一步按照文档说明安装,错一步拉一步可能就会安装不上,安装前一些numa、透明大页等必须都要设置。

达梦逛网:https://eco.dameng.com

1、环境

操作系统

CentOS 7

CPU   x86_64
数据库版本dm8
主ip192.168.126.170
备ip192.168.126.165

2、新建用户dmdba

注:禁止使用root用户安装数据库。

创建用户所在的组,命令如下:

-- -g为新组dinstall使用GTID。

groupadd dinstall -g 1001

创建用户,命令如下:

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

-- -m创建用户的主目录,-d新账户的主目录 -s新账户的登录 shell -u新账户的用户ID

修改用户密码,命令如下:

passwd dmdba

密码以现场要求为准

dameng123

3、修改文件打开最大数

vi /etc/security/limits.conf

cat /etc/security/limits.conf |grep -v ^#

在文件最后添加以下内容。重启服务器后生效。

dmdba soft nice 0

dmdba hard nice 0

dmdba soft as unlimited

dmdba hard as unlimited

dmdba soft fsize unlimited

dmdba hard fsize unlimited

dmdba soft nproc 65536

dmdba hard nproc 65536

dmdba soft nofile 65536

dmdba hard nofile 65536

dmdba soft core unlimited

dmdba hard core unlimited

dmdba soft data unlimited

dmdba hard data unlimited


ulimit -n 查看下是否是65536

4、修改磁盘调度算法

-- 查看挂载盘

lsblk

-- 查看对应的调度算法:cat /sys/block/{DEVICE-NAME}/queue/scheduler,注意把{DEVICE-NAME}替换成数据库所使用的对应的磁盘名称

cat /sys/block/sda/queue/scheduler

-- 临地更改I/O调度方法,重启后失效:

echo deadline > /sys/block/sda/queue/scheduler

-- 永久地更改I/O调度方法:

grubby --update-kernel=ALL --args="elevator=deadline"

-- 重启:

reboot

-- 重新确认调度算法:

cat /sys/block/sda/queue/scheduler

image.png

image.png

注:其他操作系统修改方法见规范

5、防火墙检查

1. 查看防火墙状态。

systemctl status firewalld

2. 暂时关闭防火墙。

systemctl stop firewalld

3. 永久关闭防火墙,防止自启动。

systemctl disable firewalld

4. 查看防火墙端口开放情况。

firewall-cmd --zone=public --list-ports

5. 添加端口到防火墙(Firewall)。

##添加(--permanent 永久生效,没有此参数重启后失效)

firewall-cmd --zone=public --add-port=5236/tcp --permanent

##重新载入

firewall-cmd --reload

##查看

firewall-cmd --zone=public --query-port=5236/tcp

##删除

firewall-cmd --zone=public --remove-port=5236/tcp --permanent

注意:添加端口到防火墙时,使用 --permanent 后才能永久生效,否则重启后失效。

6、关闭numa检查

关闭的意义:

NUMA(Non-Uniform Memory Access)架构是为了解决多 CPU 下内存访问冲突,即不再将整个物理内存作为一个整体,而是根据不同的 CPU区分不同的内存块,如 2 颗 CPU 每颗 CPU 使用 64G 内存。当 NUMA 参数 zone_reclaim_mode 设置为 1 时,内核将要求多路 CPU 尽量从距离较近的系统内存节点(服务器的整体内存在 numa 架构下将被分成若干个节点)分配内存,而不是在整个服务器可访问内存的范围内进行内存分配。因此,在较高内存占用压力下,内存申请会触发内存频繁回收整理的机制,严重影响系统整体性能(长期处于内核态 sys 很高),进而可能导致 SQL卡顿问题的发生。

vi /etc/default/grub 如下图所示加上:numa=off

image.png

重新生成/etc/grub2.cfg配置文件。然后重启

grub2-mkconfig -o /etc/grub2.cfg

reboot

image.png

重启后确认

dmesg | grep -i numa

image.png

再次确认

cat /proc/cmdline

image.png

注:其他操作系统关闭方法见规范


7、禁用透明大页

编辑/etc/sysconfig/grub 文件,在 GRUB_CMDLINE_LINUX 那一行后面追加 transparent_hugepage=never。

image.png

重新生成/etc/grub2.cfg配置文件。然后重启

grub2-mkconfig -o /etc/grub2.cfg

reboot

重启后查看是否生效

cat  /sys/kernel/mm/transparent_hugepage/enabled

image.png

注:其他操作系统关闭方法见规范

8、SELinux检查

##临时关闭 SELinux:

[root@node01 ~]# setenforce 0

##临时开启 SELinux:

[root@node01 ~]# setenforce 1

##查看当前状态命令:

[root@node01 ~]# getenforce Permissive

##永久关闭 SELinux 需修改配置文件:/etc/selinux/config,修改 SELINUX=disabled

[root@node01 ~]# vi /etc/selinux/config

SELINUX=disabled #修改为 disabled

9、调整system.conf 参数

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

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

1.   DefaultLimitNOFILE:用户默认最大打开文件数。

2.  DefaultLimitNPROC:用户默认最大进程数。

vi /etc/systemd/system.conf

##添加配置:

DefaultLimitNOFILE=65536

DefaultLimitNPROC=10240

reboot -- 重启后生效

10、sysctl.conf参数调整

为避免操作系统内存因大量使用SWAP内存而降低数据库性能,在安装部署时需检查设置相关变量来控制系统对swap的使用倾向,从而使系统最大限度发挥内存性能。swappiness的取值范围为1~100,当操作系统内存不足时,建议设置为1;当系统内存足够时,推荐设置为10。

-- 查看你的系统里面的swappiness参数值

cat /proc/sys/vm/swappiness

-- 永久修改:

vi /etc/sysctl.conf

-- 在这个文件的最后加上这样一行:

vm.swappiness=10

11、core文件修改

core文件大小和数据库已使用内存基本相当,配置路径所在存储空间大小需满足core文件生成,建议大于服务器内存值。core文件剩余空间低于物理总内存80%,进行检查和清理core文件存放空间。

-- 调整core文件路径

-- vi /etc/sysctl.conf 添加对应core文件参数

kernel.core_pattern =/dmdata/core/core-%e-%p-%s

执行 sysctl -p 进行生效

-- 手动产生core文件,并查看core文件路径是否在/home/dmdba/core下

-- 注意:core频繁发生可能会撑爆磁盘,建议对core生成目录设置清理策略,保证目录可用。

1.在bin目录下,执行./disql命令,打开disql工具。同时,在另一会话中,执行ps -ef|grep disql 查看disql进程号,执行kill -11 disql进程号,即可杀死disql进程,并生成core文件。

2.或者在问题报告单中查找对应版本的bug,利用bug验证core文件生成。

12、关闭swap分区

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

[root@node01 ~]# swapoff -a

##永久关闭 swap 分区

vi /etc/fstab

注释掉swap分区那一行

sed -ri 's/.*swap.*/#&/' /etc/fstab

##重启操作系统后生效

[root@~]# reboot

##再次确认[root@~]# free -m

12、规划安装目录

可根据实际需求规划安装目录。

mkdir -p /dmdata/core

##实例保存目录

mkdir -p /dmdata/data

##归档保存目录

mkdir -p /dmdata/arch

##备份保存目录

mkdir -p /dmdata/dmbak

##日志目录

mkdir -p /dmdata/log

修改目录权限

chown -R dmdba:dinstall /dmdata/core

chown -R dmdba:dinstall /dmdata/data

chown -R dmdba:dinstall /dmdata/arch

chown -R dmdba:dinstall /dmdata/dmbak

chown -R dmdba:dinstall /dmdata/log

二、命令行安装

1、解压得到iso文件

[root@node01 ~]# unzip dm8_20240920_x86_rh7_64.zip

image.png

2、挂载镜像

[root@node01 ~]# mount -o loop dm8_20240920_x86_rh7_64.iso /mnt

image.png

3、安装

切换至 dmdba 用户下,在 /mnt 目录下使用命令行安装数据库程序,执行 ./DMInstall.bin -i 命令安装 DM 数据库。

su - dmdba

cd /mnt

./DMInstall.bin -i

image.png

按需求选择安装语言,没有 key 文件选择 "n",时区按需求选择一般选择 “21”,安装类型选择“1”,安装目录按实际情况配置,这里使用默认安装位置。

image.png

image.png

数据库安装大概 1 到 2 分钟,数据库安装完成后,会看到完成的字样。然后需要切换至 root 用户执行上图中的命令 

su - root

/home/dmdba/dmdbms/script/root/root_installer.sh 

创建 DmAPService,否则会影响数据库备份。

image.png

数据库安装完成后还需注册实例才能使用数据库

三、配置环境变量

在root 用户进入 dmdba 用户的根目录下,配置对应的环境变量。DM_HOME 变量和动态链接库文件的加载路径在程序安装成功后会自动导入。

cd /home/dmdba/

vi .bash_profile

export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool

image.png

切换至 dmdba 用户下,执行以下命令,使环境变量生效。

su - dmdba

source .bash_profile

image.png

四、初始化实例

使用 dmdba 用户配置实例,进入到 DM 数据库安装目录下的 bin 目录中。

su - dmdba

cd /home/dmdba/dmdbms/bin

image.png

使用 dminit 命令初始化实例,dminit 命令可设置多种参数,可执行./dminit help命令查看可配置参数。

需要注意的是 页大小 (page_size)、簇大小 (extent_size)、大小写敏感 (case_sensitive)、字符集 (charset) 、空格填充模式 (BLANK_PAD_MODE) 、页检查模式(PAGE CHECK) 等部分参数,一旦确定无法修改,在初始化实例时确认需求后谨慎设置。

-- 可以使用默认参数初始化实例

./dminit path=/dmdata/data

-- 也可以自定义初始化实例的参数,例如:

./dminit path=/dmdata/data PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 DB_NAME=DMTEST INSTANCE_NAME=DBSERVER PORT_NUM=5237

-- 主备模式初始化

-- 初始化实例(BLANK_PAD_MODE=0设置字符串比较时,结尾空格填充模式是否兼容oracle,1兼容,0不兼容)

[A/B]

[dmdba@~]$ ./dminit PATH=/dmdata/data INSTANCE_NAME=DM1 PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=0 CHARSET=1 LOG_SIZE=2048 BLANK_PAD_MODE=0

[dmdba@~]$ ./dminit PATH=/dmdata/data INSTANCE_NAME=DM2 PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=0 CHARSET=1 LOG_SIZE=2048 BLANK_PAD_MODE=0


image.png

部分参数解释如下:

page_size:数据文件使用的页大小。取值范围 4、8、16、32,单位:KB。缺省值为 8。可选参数。选择的页大小越大,则 DM 支持的元组长度也越大,但同时空间利用率可能下降。数据库创建成功后无法再修改页大小,可通过系统函数 SF_GET_PAGE_SIZE()获取系统的页大小。

extent_size:数据文件使用的簇大小,即每次分配新的段空间时连续的页数。取值范围 16、32、64。单位:页数。缺省值为 16。可选参数。数据库创建成功后无法再修改簇大小,可通过系统函数 SF_GET_EXTENT_SIZE()获取系统的簇大小。

case_sensitive: 标识符大小写敏感。当大小写敏感时,小写的标识符应用""括起,否则被系统自动转换为大写;当大小写不敏感时,系统不会转换标识符的大小写,系统比较函数会将大写字母全部转为小写字母再进行比较。取值:Y、y、1 表示敏感;N、n、0 表示不敏感。缺省值为 Y。可选参数。此参数在数据库创建成功后无法修改,可通过系统函数 SF_GET_CASE_SENSITIVE_FLAG()或 CASE_SENSITIVE()查询设置的参数置。

charset:字符集选项。取值范围 0、1、2。0 代表 GB18030,1 代表 UTF-8,2 代表韩文字符集 EUC-KR。缺省值为 0。可选参数。此参数在数据库创建成功后无法修改,可通过系统函数 SF_GET_UNICODE_FLAG()或 UNICODE()查询设置的参数置。

BLANK_PAD_MODE:设置字符串比较时,结尾空格填充模式是否兼容 ORACLE。1:兼容;0:不兼容。缺省值为 0。可选参数。此参数在数据库创建成功后无法修改,可通过查询 V$PARAMETER 中的 BLANK_PAD_MODE 参数名查看此参数的设置值。

PAGE_CHECK:PAGE_CHECK 为页检查模式。取值范围 0、1、2、3。0:禁用页校验;1:开启页校验并使用 CRC 校验;2:开启页校验并使用指定的 HASH 算法进行校验;3:开启页校验并使用快速 CRC 校验。缺省值为 3。可选参数。在数据库创建成功后无法修改。

搭建主备模式

1.备份数据(空库也必须执行)

命令行运行 前台启动./dmserver /dmdata/data/DAMENG/dm.ini 尝试是否能启动成功,然后用exit退出即可,保持数据库关闭状态。

进行主机脱机备份(一般都是脱机备份,不用联机备份)

./dmrman CTLSTMT="BACKUP DATABASE '/dmdata/data/DAMENG/dm.ini' FULL TO BACKUP_FILE1 BACKUPSET '/dmdata/dmbak/BACKUP_FILE'"

拷贝备份文件到备库机器

scp -r /dmdata/dmbak/BACKUP_FILE dmdba@192.168.126.165:/dmdata/dmbak/

执行脱机数据库的还原和恢复

./dmrman CTLSTMT="RESTORE DATABASE '/dmdata/data/DAMENG/dm.ini' FROM BACKUPSET '/dmdata/dmbak/BACKUP_FILE'"

./dmrman CTLSTMT="RECOVER DATABASE '/dmdata/data/DAMENG/dm.ini' FROM BACKUPSET '/dmdata/dmbak/BACKUP_FILE'"

./dmrman CTLSTMT="RECOVER DATABASE '/dmdata/data/DAMENG/dm.ini' UPDATE DB_MAGIC"

2.参数修改

A机器:

1、修改dm.ini 参数(主要修改后面四个)

#实例名,建议使用―组名_守护环境_序号‖的命名方式,总长度不能超过 16

vi /dmdata/data/DAMENG/dm.ini

INSTANCE_NAME = DM1

PORT_NUM = 5236 #数据库实例监听端口

DW_INACTIVE_INTERVAL = 60 #接收守护进程消息超时时间

ALTER_MODE_STATUS = 0 #不允许手工方式修改实例模式/状态/OGUID

ENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间

MAL_INI = 1 #打开 MAL 系统

ARCH_INI = 1 #打开归档配置


2、创建dmarch.ini文件

[dmdba@node01 ~]$ vi /dmdata/data/DAMENG/dmarch.ini

[ARCHIVE_REALTIME1]

ARCH_TYPE = REALTIME #实时归档类型

ARCH_DEST = DM2 #实时归档目标实例名

[ARCHIVE_LOCAL]

ARCH_TYPE = LOCAL #本地归档类型

ARCH_DEST = /dmdata/arch/ #本地归档存放路径

ARCH_FILE_SIZE = 1024 #单个归档大小,单位 MB 512 / 1024

ARCH_SPACE_LIMIT = 51200 #归档上限,单位 MB


3、创建dmmal.ini文件(必须在/data/DAMENG目录下)

vi /dmdata/data/DAMENG/dmmal.ini

MAL_CHECK_INTERVAL = 10 #MAL 链路检测时间间隔

MAL_CONN_FAIL_INTERVAL = 10 #判定 MAL 链路断开的时间

MAL_BUF_SIZE = 512 #单个 MAL 缓存大小,单位 MB

MAL_SYS_BUF_SIZE = 2048 #MAL 总大小限制,单位 MB

MAL_COMPRESS_LEVEL = 0 #MAL 消息压缩等级,0 表示不压缩

[MAL_INST1]

MAL_INST_NAME = DM1 #实例名,和 dm.ini 的 INSTANCE_NAME 一致

MAL_HOST = 192.168.126.170 #MAL 系统监听 TCP 连接的 IP 地址

MAL_PORT = 5336 #MAL 系统监听 TCP 连接的端口

MAL_INST_HOST = 192.168.126.170 #实例的对外服务 IP 地址

MAL_INST_PORT = 5236 #实例对外服务端口,和 dm.ini 的 PORT_NUM 一致

MAL_DW_PORT = 5436 #实例对应的守护进程监听 TCP 连接的端口

MAL_INST_DW_PORT = 5536 #实例监听守护进程 TCP 连接的端口

[MAL_INST2]

MAL_INST_NAME = DM2

MAL_HOST = 192.168.126.165

MAL_PORT = 5336

MAL_INST_HOST = 192.168.126.165

MAL_INST_PORT = 5236

MAL_DW_PORT = 5436

MAL_INST_DW_PORT = 5536


4、创建dmwatcher.ini 文件(必须在/data/DAMENG目录下)

[dmdba@node01 ~]$ vi /dmdata/data/DAMENG/dmwatcher.ini

[GRP1]

DW_TYPE = GLOBAL #全局守护类型

DW_MODE = AUTO #MANUAL:故障手切 AUTO:故障自切

DW_ERROR_TIME = 20 #远程守护进程故障认定时间

INST_ERROR_TIME = 20 #本地实例故障认定时间

INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间

INST_OGUID = 453331 #守护系统唯一 OGUID 值

INST_INI = /dmdata/data/DAMENG/dm.ini #dm.ini 文件路径

INST_AUTO_RESTART = 1 #打开实例的自动启动功能

INST_STARTUP_CMD = /home/dmdba/dmdbms/bin/DmServiceDM1 start #命令行方式启动

RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阈值,默认关闭

B机器

同主库一样需要添加或者修改四个配置文件,不同之处如下:

dm.ini:INSTANCE_NAME = DM2

dmarch.ini:ARCH_DEST = DM1 #实时归档目标实例名


3.设置OGUID

必须前台启动数据库,修改oguid

cd /home/dmdba/dmdbms/bin

./dmserver /dmdata/data/DAMENG/dm.ini mount

A机器:

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

sp_set_oguid(453331);

alter database primary;

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

B机器:

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

sp_set_oguid(453331);

alter database standby;

SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);


修改后exit退出即可。

C机器-监视器

需要安装dm,dmmonitor.ini文件的位置一般是放在安装目录的bin下边即可。不需要实例化

创建监视器dmmonitor.ini

vi dmmonitor.ini

MON_DW_CONFIRM = 1 #0:非确认(故障手切) 1:确认(故障自切)

MON_LOG_PATH = /dmdata/log #监视器日志文件存放路径

MON_LOG_INTERVAL = 60 #每隔 60s 定时记录系统信息到日志文件

MON_LOG_FILE_SIZE = 32 #单个日志大小,单位 MB

MON_LOG_SPACE_LIMIT = 0 #日志上限,单位 MB

[GRP1]

MON_INST_OGUID = 453331 #组 GRP1 的唯一 OGUID 值

MON_DW_IP = 192.168.126.170:5436 #IP 对应 MAL_HOST,PORT 对应 MAL_DW_PORT

MON_DW_IP = 192.168.126.165:5436

创建一个非确认监视器dmmonitor_manual.ini

MON_DW_CONFIRM = 0 #0:非确认(故障手切) 1:确认(故障自切)

MON_LOG_PATH = /dmdata/dmog #监视器日志文件存放路径

MON_LOG_INTERVAL = 60 #每隔 60s 定时记录系统信息到日志文件

MON_LOG_FILE_SIZE = 32 #单个日志大小,单位 MB

MON_LOG_SPACE_LIMIT = 0 #日志上限,单位 MB

[GRP1]

MON_INST_OGUID = 453331 #组 GRP1 的唯一 OGUID 值

MON_DW_IP = 192.168.126.170:5436 #IP 对应 MAL_HOST,PORT 对应 MAL_DW_PORT

MON_DW_IP = 192.168.126.165:5436

说明:监视器dmmonitor.ini是自动切换的配置文件,监视器dmmonitor_manual.ini是手动切换的配置文件,如果后面又需要手动切换的场景就可以用监视器dmmonitor_manual.ini启动进行手动操作。


主备的机器都要改SQL日志配置文件

vi /dmdata/data/DAMENG/sqllog.ini

[SLOG_ALL]

FILE_PATH = /dmdata/log

FILE_NUM = 20/50 -- 默认5,文件个数

SWITCH_LIMIT = 128/256

如果内存>=32G:

BUF_TOTAL_SIZE=1024000

BUF_SIZE=10240

BUF_KEEP_CNT=20

如果内存较小:

BUF_TOTAL_SIZE = 10240

BUF_SIZE = 1024

BUF_KEEP_CNT = 6

五、启动数据库,监听及查看信息

1.启动监听[主备库]

-- 先去注册服务然后再监听

cd /home/dmdba/dmdbms/bin

./dmwatcher /dmdata/data/DAMENG/dmwatcher.ini

2.启动监视器

-- 前台启动,自动切换

./dmmonitor dmmonitor.ini

-- 前台启动,手动切换

./dmmonitor dmmonitor_manual.ini

-- 手动切换命令

login --登录

SYSDBA/SYADBA

swichover --切换

exit --退出

3.注册服务(切换root,用root用户进行操作)

[主库]

cd /home/dmdba/dmdbms/script/root/

./dm_service_installer.sh -t dmserver -m mount -dm_ini /dmdata/data/DAMENG/dm.ini -p DM1

./dm_service_installer.sh -t dmwatcher -watcher_ini /dmdata/data/DAMENG/dmwatcher.ini -p DMWATCHER

[备库]

cd /home/dmdba/dmdbms/script/root/

./dm_service_installer.sh -t dmserver -m mount -dm_ini /dmdata/data/DAMENG/dm.ini -p DM2

./dm_service_installer.sh -t dmwatcher -watcher_ini /dmdata/data/DAMENG/dmwatcher.ini -p DMWATCHER

[监视器]

cd /home/dmdba/dmdbms/script/root/

./dm_service_installer.sh -t dmmonitor -monitor_ini /home/dmdba/dmdbms/dmmonitor.ini -p DMMONITOR

4.启停顺序

启动主备的操作顺序(主备主备)

cd /home/dmdba/dmdbms/bin

(1) 启主机dmserver ./DmServiceDM1 start

(2) 启备机dmserver ./DmServiceDM2 start

(3) 启主机dmwatcher ./DmWatcherServiceDMWATCHER start

(4) 启备机dmwatcher ./DmWatcherServiceDMWATCHER start

停止主备的操作顺序(备主主备)

(1) 停备机dmwatcher ./DmWatcherServiceDMWATCHER stop

(2) 停主机dmwatcher ./DmWatcherServiceDMWATCHER stop

(3) 停主机dmserver ./DmServiceDM1 stop

(4) 停备机dmserver ./DmServiceDM2 stop

开启监视器,执行reboot,同时查看监视器的内容。

./DmMonitorServiceDMMONITOR start

监视器中需要显示出两台机器,一主一备,同时两台机器的FLSN,CLSN不能相差太多,备库不能超过主库,否则是主备搭建失败的。一般显示如下图说明搭建成功。

测试core文件

kill -11 dmserID

查看是否生产core,又core产生则没有问题,然后删除core,守护进程会自动拉起服务


六、备份数据库

开启备份

--创建代理环境

-- call SP_INIT_JOB_SYS(0);//清除代理环境

call SP_INIT_JOB_SYS(1);

-- 先执行一遍全量备份

call SP_CREATE_JOB('bakall_one',1,0,'',0,0,'',0,'执行一次全量备份');

call SP_JOB_CONFIG_START('bakall_one');

call SP_ADD_JOB_STEP('bakall_one', 'bakall_one_work', 6, '01020000/dmdata/dmbak', 1, 2, 0, 0, NULL, 0);

call SP_ADD_JOB_SCHEDULE('bakall_one', 'bakall_one_time', 1, 0, 0, 0, 0, NULL, NULL, '2024-11-19 15:48:00', NULL, '');

call SP_JOB_CONFIG_COMMIT('bakall_one');

--每周六一点全备

call SP_CREATE_JOB('BAK_FULL',1,0,'',0,0,'',0,'定时全库备份');

call SP_JOB_CONFIG_START('BAK_FULL');

call SP_ADD_JOB_STEP('BAK_FULL', 'BAK_FULL', 6, '01020000/dmdata/dmbak', 1, 1, 0, 0, NULL, 0);

call SP_ADD_JOB_SCHEDULE('BAK_FULL', 'BAK_FULL', 1, 2, 1, 64, 0, '01:00:00', NULL, '2024-08-21 14:58:20', NULL, '');

call SP_JOB_CONFIG_COMMIT('BAK_FULL');

--除每周六外每天2点增备

call SP_CREATE_JOB('BAK_INC',1,0,'',0,0,'',0,'定时增量备份');

call SP_JOB_CONFIG_START('BAK_INC');

call SP_ADD_JOB_STEP('BAK_INC', 'BAK_INC', 6,'01020000/dmdata/dmbak', 1, 1, 0, 0, NULL, 0);

call SP_ADD_JOB_SCHEDULE('BAK_INC', 'BAK_INC', 1, 2, 1, 63, 0, '02:00:00', NULL, '2024-08-21 15:00:17', NULL, '');

call SP_JOB_CONFIG_COMMIT('BAK_INC');

--备份保留30天

call SP_CREATE_JOB('DEL_BAK',1,0,'',0,0,'',0,'DEL_BAK');

call SP_JOB_CONFIG_START('DEL_BAK');

call SP_ADD_JOB_STEP('DEL_BAK', 'DEL_BAK', 0, 'call sf_bakset_backup_dir_add(''DISK'', ''/dmdata/dmbak'');

call sp_db_bakset_remove_batch(''DISK'',SYSDATE-30);', 0, 0, 0, 0, NULL, 0);

call SP_ADD_JOB_SCHEDULE('DEL_BAK', 'DEL_BAK', 1, 2, 1, 127, 0, '04:00:00', NULL, '2023-05-23 13:35:02', NULL, '');

call SP_JOB_CONFIG_COMMIT('DEL_BAK');

-- 删除备份作业

SP_DROP_JOB (); 参数传job名,单引号括起来

SP_DROP_JOB ('BAK_INC');

最后修改时间:2024-11-28 16:47:09
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论