安装部署

CASE_SENSITIVE 取值:Y、y、1 表示敏感;N、n、0 表示不敏感。默认值为 Y

CHARSET/UNICODE_FLAG 0 代表 GB18030,1 代表 UTF-8,2 代表韩文字符集 EUC-KR。默认为 0

LENGTH_IN_CHAR VARCHAR 类型对象的长度是否以字符为单位。取值:1、Y 表示是,0、N 表示否。默认值为 0

1 或 Y:是,所有 VARCHAR 类型对象的长度以字符为单位。这种情况下,定义长度并非

真正按照字符长度调整,而是将存储长度值按照理论字符长度进行放大。所以会出现实际可

插入字符数超过定义长度的情况,这种情况也是允许的。同时,存储的字节长度 8188 上限

仍然不变,也就是说,即使定义列长度为 8188 字符,其实际能插入的字符串占用总字节长

度仍然不能超过 8188;
在这里插入图片描述
Redo 日志传输
主备库之间的 Redo 日志传输,以日志包 RLOG_PKG 为单位,主库通过 MAL 系统发送Redo 日志到备库。各种不同数据守护类型的区别,就在于主库日志包 RLOG_PKG 的发送时机,以及备库收到 Redo 日志后的处理策略。

参数优化

参数调整范围说明
BUFFER内存足够的情况下,可根据数据文件的大小调整,内存不充足的情况下,可调整为可用物理内存的 60%~80%
BUFFER_POOLS高并发 OLTP 场景下,可根据客户端的并发连接数或者中间件连接池的大小进行调整
MAX_BUFFER系统最大缓冲区大小,以兆为单位。通常设置为与 BUFFER 相同
RECYCLE当排序缓冲区及哈希缓冲区不足的情况下,系统会优先使用 RECYCLE 缓冲区,RECYCLE 缓冲区不够,再刷临时表空间。在 OLAP 场景下,如果存在大表之间的关联查询,可以将值调大,尽可能不要使用临时表空间
SORT_BUF_SIZE排序缓存区最大值。可以适当调大,如果在动态性能视图 v S O R T H I S T 0 R Y 和 v SORT_HIST0RY 和 v SORTHIST0RYvMTAB_USED_HISTORY 中监控到外排序,则适当调大建索引时可调大。通常不超过 20 MB
DICT_BUF_SIZE字典缓冲区大小。如果数据库中对象数量较多,或者存在大量分区表,可适当调大
HJ_BUF_GL0BAL_SIZEHASH 连接操作符的数据总缓存大小 (>= HJ_BUF_SIZE)。内存足够的情况下,可以适当调大。实际使用大小,由包含 HASH JOIN 操作符的 SQL 并发数决定
HJ_BUF_SIZE单个 HASH 连接操作符的数据总缓存大小。在 OLTP 环境中,建议采用默认值。在 OLAP 环境下,可以根据参与 HASH JOIN 的数据量调大
HJ_BLK_SIZE默认 1 即可,如果 HJ_BUE_SIZE 很大也可适当调大
HAGR_BUF_GLOBAL_SIZEHAGR、DIST、集合操作、SPL2、NTTS2 以及 HTAB 操作符的数据总缓存大小 (>=HAGR_BUF_SIZE),系统级参数,以兆为单位
HAGR_BUF_SIZE单个 HAGR、DIST、集合操作、SPL2、NTTS2 以及 HTAB 操作符的数据总缓存大小。监控 V$SORT_HISTORY,判断是否需要调整
OLAP_FLAG用联机分析处理,0:不启用;1:启用;2:不启用,同时倾向于使用索引范围扫描。该参数会影响到计划的生成。在 OLTP 环境下,通常保持默认值 2
MAX_PARALLEL_DEGREE设置最大并行任务个数。建议设置为 6~8
PARALLEL_POLICY用来设置并行策略。0 表示不支持并行;1 表示自动配置并行工作线程个数(与物理 CPU 核数相同);2 表示手动设置并行工作线程数。建议设置为 2 手动并行
IO_THR_GROUPS表示 IO 线程组个数。建议值>=8,提升 IO 效率
HIO_THR_GROUPSHUGE 缓冲区 I0 线程组数目。使用 HUGE 表的业务场景,建议值>=8,提升 HUGE 表的 I0 效率

错误

在这里插入图片描述
切换到root用户后在命令行中输入xhost +,可以使得dmdba可以调用图形界面进行安装
图形界面display

echo $DISPLAY xhost + su - dmdba export DISPLAY=:2 dbca

查看网卡网速

ethtool
baseT

防火墙及 selinux 检查

linux6
service iptables status
iptables -L -n|grep 5236
linux7
systemctl status firewalld
firewall-cmd --list-all|grep 5236
systemctl disable firewalld
systemctl stop firewalld

set enforce 0
vim /etc/selinux/config

CPU 型号及核数

cat /proc/cpuinfo

Core 文件设置

查看
ulimit -c
ulimit -c unlimited 表示不限制生成的core文件大小
修改 limit 配置,即登录 root 修改
/etc/security/limits.conf,配置如下:(永久有效)
dmdba soft core unlimited
dmdba hard core unlimited
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba soft nproc 65536
dmdba hard nproc 65536
dmdba soft stack 65536
dmdba hard stack 65536
版权声明:本文为CSDN博主「yangeoooo」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yangeoooo/article/details/114836994

尽量将这个文件大小设置得大一些,程序崩溃时生成 Core 文件大小即为程序运行时占用的内存大小。可能发生堆栈溢出的时候应用占用很大的内存,就可能生成很大的 core 文件。
查看及修改 core 默认生成路径
cat /proc/sys/kernel/core_pattern
为了防止有 core 文件能正常生成,建议放置空间足够的磁盘目录,且不与数据文件放一起。登录 root 修改 core 文件默认生成路径,执行以下命令:
echo “/corefile/core-%e-%p-%t” > /proc/sys/kernel/core_pattern

将会控制所产生的 core 文件会存放到 /corefile 目录下,产生的文件名为 core- 命令名 -pid- 时间戳,执行以下命令:
sysctl -w kernel.core_pattern=/corefile/core.%e.%p.%s.%E

磁盘调度算法

cat /sys/block/sda/queue/scheduler
临时修改
echo deadline > /sys/block/sda/queue/scheduler
修改内核引导参数,加入 elevator= 调度程序名,执行以下命令:(永久修改,需要重启服务器才生效)
[root@localhost ~]# grubby --update-kernel=ALL --args=“elevator=deadline”
[root@localhost ~]# reboot

磁盘读写检查

写入测试
dd if=/dev/zero of=test bs=64k count=4k oflag=dsync
268435456 bytes (268 MB) copied, 1.86045 s, 144 MB/s
读取测试
dd if=test of=/dev/zero bs=64k count=4k oflag=dsync
268435456 bytes (268 MB) copied, 0.13206 s, 2.0 GB/s

内存设置

可用 cat /proc/sys/vm/swappiness 查看当物理内存使用多少后才会用到 swap。建议60%

磁盘

如果 %iowait 的值过高,表示硬盘存在 I/O 瓶颈。
如果 %idle 值高,表示 CPU 较空闲。
如果 %idle 值高但系统响应慢时,可能是 CPU 等待分配内存,应加大内存容量。
如果 %idle 值持续低于 10,表明 CPU 处理能力相对较低,系统中最需要解决的资源是 CPU。

数据库版本

select * from v$version;

linux安装

groupadd dinstall
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
passwd dmdba
vi /etc/security/limits.conf
dmdba soft nproc 2047
dmdba hard nproc 65536
dmdba soft nofile 2047
dmdba hard nofile 65536
dmdba soft core unlimited
dmdba hard core unlimited

su - dmdba
ulimit -a
ulimit -n 65536
mount -o loop /opt/dm8_setup_rh7_64_ent_8.1.1.45_20191121.iso /mnt
mkdir /dm8
chown dmdba:dinstall -R /dm8/
chmod -R 755 /dm8
su - dmdba
cd /mnt/
./DMInstall.bin -i

linux6:
[root@ora61 ~]# /home/dmdba/dmdbms/script/root/root_installer.sh
Move /home/dmdba/dmdbms/bin/dm_svc.conf to /etc
Modify the files’ mode of DM Server
Create the DmAPService service
Move the service script file(/home/dmdba/dmdbms/bin/DmAPService to /etc/rc.d/init.d/DmAPService)
Finished to create the service (DmAPService)
Start the DmAPService service
Starting DmAPService: [ OK ]

linux7:
[root@localhost ~]# /dm8/script/root/root_installer.sh
移动 /dm8/bin/dm_svc.conf 到/etc目录
修改服务器权限
创建DmAPService服务
Created symlink from /etc/systemd/system/multi-user.target.wants/DmAPService.service to /usr/lib/systemd/system/DmAPService.service.
创建服务(DmAPService)完成
启动DmAPService服务
[root@localhost ~]# cp /dm8/bin/DmServiceDMSERVER.service /usr/lib/systemd/system/DmServiceDMSERVER.service
[root@localhost ~]# systemctl enable DmServiceDMSERVER.service
Created symlink from /etc/systemd/system/multi-user.target.wants/DmServiceDMSERVER.service to /usr/lib/systemd/system/DmServiceDMSERVER.service.
[root@localhost ~]# systemctl start DmServiceDMSERVER.service

[root@ora61 ~]# /home/dmdba/dmdbms/script/root/dm_service_installer.sh -s /home/dmdba/dmdbms/bin/DmServicedanji
Move the service script file(/home/dmdba/dmdbms/bin/DmServicedanji to /etc/rc.d/init.d/DmServicedanji)
Finished to create the service (DmServicedanji)
[root@ora61 ~]# service DmServicedanji start
Starting DmServicedanji: [ OK ]

sql
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/dmdba/dmdbms/bin"
export DM_HOME="/home/dmdba/dmdbms"
export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool

需要注意的是页大小 (page_size)、簇大小 (extent_size)、大小写敏感 (case_sensitive)、字符集 (charset) 这四个参数,一旦确定无法修改,需谨慎设置。
charset 字符集选项。0 代表 GB18030;1 代表 UTF-8;2 代表韩文字符集 EUC-KR;取值 0、1 或 2 之一。默认值为 0。

**GB18030的话,只能用大小写敏感的,大小写不敏感,GB18030会有编码重叠,早期版本可以设置,但是被修复了。**大小写敏感设置成否和字符集设置为GB冲突
大小写不敏感字符集只能是UTF8
本机sqlserver是GBK 目标端DM是utf8
默认为大小写敏感的,根据具体情况进行设置。迁移实施中如果原始库为 Oracle 和 DB2 数据库的话需设置为大小写敏感,若为 SQL Server 和 MySQL 数据库则需设置为大小写不敏感,所以在数据库初始化库的过程中需要根据具体情况来选择。
在这里插入图片描述

初始化实例
./dminit path=/dm/data PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y
CHARSET=1 DB_NAME=DMDB INSTANCE_NAME=DBSERVER PORT_NUM=5237

./dminit path=/dm/data—数据文件路径 PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y—大小写 是否敏感
CHARSET=1—字符集0.GB18030,1.UTF-8 DB_NAME=DMDB—数据库名称 INSTANCE_NAME=DBSERVER-- 数据名称 --LENGTH_IN_CHAR:varchar类型长度是否以字符为单位(可选Y/N,默认为N

查看linux启动的服务 systemctl list-unit-files | grep DMOA
删除服务
./dm_service_uninstaller.sh -n DmServiceDMOA
linux图形化启动服务
./dmservice.sh

[root@centos7_6_33 root]# ./dm_service_installer.sh -h
Usage: dm_service_installer.sh -t service_type [-p service_name_postfix] [-dm_ini dm_ini_file]
        [-watch_ini watch_ini_file ] [-wmon_ini wmon_ini_file] [-rww_ini rww_ini_file]
        [-watcher_ini watcher_ini_file ] [-monitor_ini monitor_ini_file] [-cssm_ini cssm_ini_file]
        [-dfs_ini dfs_ini_file] [-dcr_ini dcr_ini_file]
        [-dss_ini dss_ini_file] [-drs_ini drs_ini_file] [-dras_ini dras_ini_file] [-dcs_ini dcs_ini_file] [-server server_info]
        [-m open|mount] [-y dependent_service] [-auto true|false]
  or dm_service_installer.sh [-s service_file_path]
  or dm_service_installer.sh -h

   -t               服务类型,包括 dmimon,dmap,dmserver,dmwatcher,dmmonitor,dmcss,dmcssm,dmasmsvr,dmdcs,dmdrs,dmdras,dmdss
   -p               服务名后缀,对于 dmimon,dmap 服务类型无效
   -dm_ini          dm.ini文件路径
   -watch_ini       dmwatch.ini 文件路径
   -wmon_ini        dmwmon.ini 文件路径
   -rww_ini         dmrww.ini 文件路径
   -watcher_ini     dmwatcher.ini 文件路径
   -monitor_ini     dmmonitor.ini 文件路径
   -dcr_ini         dmdcr.ini 文件路径
   -cssm_ini        dmcssm.ini 文件路径
   -dss_ini         dss.ini 文件路径
   -drs_ini         drs.ini 文件路径
   -dras_ini        dras.ini 文件路径
   -dcs_ini         dcs.ini 文件路径
   -dfs_ini         dfs.ini 文件路径
   -server          服务器信息 (IP:PORT)
   -auto            设置服务是否自动启动,值为 true 或 false,默认 true
   -m               设置服务器启动模式 Open 或 Mount,只针对 dmserver 服务类型生效,可选
   -y               设置依赖服务,此选项只针对 systemd 服务环境下的 dmserver 和 dmasmsvr 服务生效
   -s               服务脚本路径,设置则忽略除 -y 外的其他参数选项
   -h               帮助

命令行注册服务root
cd /dm8/script/root
./dm_service_installer.sh -t dmserver -dm_ini /dm8/data/DAMENG/dm.ini -p DMSERVER

启动数据库
systemctl start DmServiceDMSERVER.service

前台启动
./dmserver /dm/data/DAMENG/dm.ini

或者
./DmServiceDNSERVER start/stop/restart
./DmServiceDNSERVER status

图形化启动数据库
./dservice.sh

/dm8/drivers 存放连接 DM 数据库的驱动文件。
/dm8/web 目录存放 DM 数据库 dem 工具的 web 环境。
/dm8/tool 存放 DM 数据库的各个工具,例如 manager 管理工具、dbca 数据库配置助手等。
/dm8/script 存放注册、注销 DM 数据库服务的工具,例如 dm_service_installer.sh 等。

manager 需要root用户启动

数据库参数

单实例dm.ini

参数名称默认值参数描述及建议属性
MAX_OS_MEMORY95该值用来定义数据库主内存池的扩展上限,通常定义为 70-90 之间即可(表示主池最大占用总内存的 70 %-90 %),如果数据库服务器上还运行其他应用软件,可适当调低。静态
MEMORY_POOL200数据库的主内存池,是在服务器启动时从 OS 申请的大片内存,后续服务器运行过程中,需要内存分配的地方大部分都是从该池分配。该值用来设置服务器启动时候的主池大小,以 MB 为单位。默认为 200,高并发时应调大,避免频繁向 OS 申请内存。静态
MEMORY_TARGET0数据库主内存池在扩展到此大小以上后,空闲时间收缩会此指定大小,以 MB 为单位,通常保持默认为 0,代表不限制。 静态
BUFFER 100 数据库中的数据缓冲区,用来保存从磁盘中读取到的数据,单位为 MB。该缓冲区根据实际用途划分成多区域:普通数据缓冲区、快速数据缓冲区、数据回收缓冲区等等。如果数据量小于内存,则设置为数据量大小;否则设置为总内存的 2/3 比较合适。静态
PWD_POLICY2用来设置新建用户的密码策略,建议生产中按照生产规范来做要求,密码定期修改,并杜绝泄漏。静态
MAX_BUFFER100数据缓冲区扩展的最大值,建议和 BUFFER 值设置的一样静态
SORT_BUF_SIZE2排序缓存区,单位 MB,有大量排序操作时建议调大点。动态,会话级
BUFFER_POOLS4BUFFER 的分区数,一般配置为质数,并发较大的系统需要配置这个参数,减少数据缓冲区并发冲突静态
RECYCLE64用于缓冲临时表空间,单位为 MB,高并发或大量使用 with、临时表、排序等应该调大点静态
RECYCLE_POOLS19RECYCLE 缓冲区分区数,一般配置为质数,并发较大的系统需要配置这个参数,减少数据缓冲区并发冲突静态
DICT_BUF_SIZE5用于缓存数据字典,单位为 MB,系统中对象个数较多时适当加大静态
WORKER_THREADS4 工作线程的个数,建议设置为 CPU 核数或其两倍静态
MAX_SESSIONS100用户最大连接数,一般设置为 2000 即可满足绝大多数应用静态
OLAP_FLAG2OLTP 系统建议设置为 2,OLAP 系统建议设置为 1动态,会话级
TEMP_SPACE_LIMIT0临时表空间大小上限,单位为 MB,如果有大量排序、临时表操作时可能会占用。关系到磁盘空间占用,建议根据磁盘情况设置上限动态,系统级
SVR_LOG0是否打开 SQL 日志功能,0:表示关闭;1:表示打开;2:按文件中记录数量切换日志文件。一般生产环境建议设置为 2,搭配参数 SVR_LOG_FILE_NUM 使用动态,系统级
SVR_LOG_FILE_NUM0总共记录多少个日志文件,当日志文件达到这个设定值以后,再生成新的文件时,会删除最早的那个日志文件,建议根据磁盘情况设置,不宜过多。动态,系统级
ENABLE_MONITOR0用于打开或者关闭系统的监控功能。1:打开;0:关闭。打开后会对数据库运行情况进行记录,对性能有所损耗,生产环境建议关闭动态,系统级
ARCH_INI0数据库的归档开关,0:不启用;1:启用;生产环境务必打开,否则会影响到数据库备份。和 dmarch.ini 共同作用动态,系统级

以上参数属性分为三种:静态、动态和手动。

静态:可以被动态修改,修改后重启服务器才能生效。
动态:可以被动态修改,修改后即时生效。动态参数又分为会话级和系统级两种。会话级参数被修改后,新参数值只会影响新创建的会话,之前创建的会话不受影响;系统级参数的修改则会影响所有的会话。
手动:不能被动态修改,必须手动修改 dm.ini 参数文件,然后重启才能生效。
上面提到的可动态修改是指 DBA 用户可以在数据库服务器运行期间,通过调用系统过程,执行以下命令:

SP_SET_PARA_VALUE()、SP_SET_PARA_DOUBLE_VALUE()和
SP_SET_PARA_STRING_VALUE()对参数值进行修改。

dmarch.ini 配置文件

[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = C:\dmdbms\data\DAMENG\arch
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 20480

数据守护集群

dmmal.ini、dmwatcher.ini、dmmoitor.ini、dmtimer.ini

dmmal.ini 配置文件

cd /dmdata/实例名/
vi dmmal.ini
在这里插入图片描述

参数名称默认值参数描述及建议属性
MAL_CHECK_INTERVAL30检测线程检测间隔,范围 (0~1800),如果配置为 0,则表示不进行链路检测,建议修改为 60 s静态
MAL_CONN_FAIL_INTERVAL10检测线程认定链路断开的时间,默认 10 s,范围 (2~1800),建议修改为 60 s静态

dmwatcher.ini 配置文件

cd /dmdata/实例名/
vi dmwatcher.ini
dmwatcher.ini 是集群守护进程的配置文件,其中请注意这些参数 DW_MODE,INST_AUTO_RESTART,INST_INI 和 INST_STARTUP_CMD,以避免不必要的麻烦,详细配置如下:
在这里插入图片描述

参数名称默认值参数描述及建议属性
DW_MODEMANUAL主备切换模式:MANUAL 手动切换模式,AUTO 自动切换模式。建议使用自动切换模式静态
INST_AUTO_RESTART0是否自动重启数据库实例,0:不自动重启 1:自动重启。建议为 1静态
INST_STARTUP_CMD启动数据库的命令,请写数据库进程的决定路径。静态

dmmoitor.ini 配置文件

dmmonitor.ini 是守护集群的监视器的配置文件,其中有需要确认的是参数 MON_DW_Confirm,MON_LOG_INTERVAL,MON_LOG_FILE_SIZE和MON_LOG_SPACE_LIMIT,详细配置如下:

cd /dmdata/实例名/
vi dmmonitor.ini
在这里插入图片描述

参数名称默认值参数描述及建议属性
MON_DW_CONFIRM0是否配置为确认模式。0:监控模式;1:确认模式。静态
MON_LOG_FILE_SIZE64单个日志文件大小,范围 16~2048,单位为 MB,达到最大值后,会自动生成并切换到新的日志文件中。建议为 64 MB静态
MON_LOG_SPACE_LIMIT0日志总空间大小,取值 0 或者 256~4096 单位为 MB,表示没有空间限制,如果达到设定的总空间限制,会自动删除创建时间最早的日志文件。建议为 2048 MB静态

共享存储集群

dmarch.ini、dmdcr_cfg.ini、dmdcr.ini、dminit.ini、dmmal.ini、dmcssm.ini 等,大部分为功能性参

dmdcr.ini 配置文件

dmdcr.ini 为共享存储集群各个进程输入参数的配置文件,并且还记录该节点在集群中的编号。需要注意的相关参数有 DMDCR_ASM_RESTART_INTERVAL,DMDCR_DB_RESTART_INTERVAL,和DMDCR_AUTO_OPEN_CHECK,详细配置如下:

cd /dmdb/dmdata
Vi dmdcr.ini
在这里插入图片描述

参数名称默认值参数描述及建议属性
DMDCR_ASM_RESTART_INTERVAL60DMCSS 认定 DMASM 节点故障重启的时间间隔(取值 0~86400 s),DMCSS 只负责和 DMDCR_SEQNO 节点号相等的 DMASM 节点的故障重启如果配置为 0,则不会执行自动拉起操作。建议值为 60静态
DMDCR_DB_RESTART_INTERVAL60DMCSS 认定 DMDSC 节点故障重启的时间间隔(取值 0~86400 s),DMCSS 只负责和 DMDCR_SEQNO 节点号相等的 DMDSC 节点的故障重启,如果配置为 0,则不会执行自动拉起操作。建议值为 60静态

dmcssm.ini 配置文件

dmcssm.ini 是共享存储集群的监视器的配置文件,其中需要注意的参数为 CSSM_LOG_FILE_SIZE 和 CSSM_LOG_SPACE_LIMIT,详细配置如下:

Cd /dmdb/dmdbms/cssm
Vi dmcssm.ini
在这里插入图片描述

参数名称默认值参数描述及建议属性
CSSM_LOG_FILE_SIZE64单个日志文件大小,范围 16~2048,单位为 MB,达到最大值后,会自动生成并切换到新的日志文件中。建议为 64 MB静态
CSSM_LOG_SPACE_LIMIT0日志总空间大小,取值 0 或者 256~4096 单位为 MB,表示没有空间限制,如果达到设定的总空间限制,会自动删除创建时间最早的日志文件。建议为 2048 MB静态

配置归档

1,联机归档配置操作步骤如下所示:
修改数据库为 Mount 状态
alter DATABASE MOUNT

配置本地归档
ALTER DATABASE ADD ARCHIVELOG ‘DEST = /home/dm_arch/arch, TYPE = local,FILE_SIZE = 1024, SPACE_LIMIT = 2048’;

开启归档模式
ALTER DATABASE ARCHIVELOG;

修改数据库为 Open 状态
ALTER DATABASE OPEN;

2,手动配置本地归档
关闭数据库
在 dm.ini 所在目录,创建 dmarch.ini 文件。dmarch.ini 文件内容如下:
Copy
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /home/dm_arch/arch
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 2048

编辑 dm.ini 文件,设置参数 ARCH_INI=1
启动数据库实例,数据库已运行于归档模式。
注意
联机备份时,关闭已配置的本地归档之后再重新打开,会造成归档文件中部分日志缺失,备份时检查归档文件连续性时将会报错。存在该类操作时,用若要避免该错误,备份前需要调用 checkpo int(100) 主动刷新检查点。

3,启动 DMAP
备份集备份还原实现策略有两种:DMAP 辅助进程方式和无辅助进程方式。用户可通过 DM.INI 参数 bak_use_ap 来选择(DMRMAN 使用参数 use_ap),bak_use_ap 取值 1、2。默认为 1。

DMAP 辅助进程方式
可支持第三方备份(指定 DEVICE TYPE 为 TAPE)。DMAP 插件执行,改造了备份还原任务子系统,允许指定并行度,大幅提升了备份还原的效率,特别是加密、压缩的处理效率。如果选择使用 DMAP 辅助进程,执行备份还原之前就必须启动 DMAP 服务。安装 DM 数据库以后,DMAP 服务会自动启动。

无辅助进程方式
不依赖 DMAP,由主进程 dmserver 自身执行备份还原,但不支持第三方备份(指定 DEVICE TYPE 为 TAPE)。

启动 DMAP,手动启动 DMAP,有两种途径
一是启动 DM 服务查看器中的 DmAPService。
二是手动启动 DMAP 执行码,DMAP 执行码位于 DM 安装目录的 bin 子目录下。除此之外,LINUX 下,还可以调用 bin 目录下的 DmAPService 脚本。
注意
DMAP 产生管道的命名为 DM_PIPE_DMAP_LSNR,目录在 dmdbms_home 的 bin 目录下。非 Windows 环境中对应管道文件名称为 DM_PIPE_DMAP_LSNR_RD 和 DM_PIPE_DMAP_LSNR_WR。

原则上,一台主机上仅允许启动一个 DMAP 实例,否则可能会产生不可预料的结果。非 Windows 环境中,DMAP 退出后,剩下的管道文件都是垃圾文件,直接删除即可。

物理备份还原是对数据库的操作系统物理文件(如数据文件、控制文件和日志文件等)的备份还原。例如使用 RMAN 工具进行的备份还原。

定时备份

创建作业环境
SP_INIT_JOB_SYS(1);

Linux 定时备份脚本

每周六晚上 23:30 定时全库备份
call SP_CREATE_JOB(‘back_full’,1,0,’’,0,0,’’,0,‘back_full’);
call SP_JOB_CONFIG_START(‘back_full’);
call SP_ADD_JOB_STEP(‘back_full’, ‘back_full’, 6, ‘01000000/opt/dmdbms/data/BAK’, 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE(‘back_full’, ‘back_full’, 1, 2, 1, 64, 0, ‘23:30:00’, NULL, ‘2020-03-27 16:35:56’, NULL, ‘’);
call SP_JOB_CONFIG_COMMIT(‘back_full’);
每周一、周二、周三、周四、周五、周日晚上 23:30 定时增量备份
call SP_CREATE_JOB(‘backup_inc’,1,0,’’,0,0,’’,0,‘backup_inc’);
call SP_JOB_CONFIG_START(‘backup_inc’);
call SP_ADD_JOB_STEP(‘backup_inc’, ‘backup_inc’, 6, ‘11000000/opt/dmdbms/data/BAK|/opt/dmdbms/data/BAK’, 1, 2, 0, 0, NULL, 0);
–call SP_ADD_JOB_STEP(‘backup_inc’, ‘backup_inc’, 6, ‘11000000/opt/dmdbms/data/BAK|/opt/dmdbms/data/BAK’, 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE(‘backup_inc’, ‘backup_inc’, 1, 2, 1, 63, 0, ‘23:33:00’, NULL, ‘2020-03-27 22:03:58’, NULL, ‘’);
call SP_JOB_CONFIG_COMMIT(‘backup_inc’);
每天 00:00 删除 15 天以前的数据。删除前请先提前将备份文件转移到单独的备份服务器
call SP_CREATE_JOB(‘JOB_DEL_BAK_TIMELY’,1,0,’’,0,0,’’,0,‘JOB_DEL_BAK_TIMELY’);
call SP_JOB_CONFIG_START(‘JOB_DEL_BAK_TIMELY’);
call SP_ADD_JOB_STEP(‘JOB_DEL_BAK_TIMELY’, ‘JOB_DEL_BAK_TIMELY’, 0, ‘call SF_BAKSET_BACKUP_DIR_ADD(’‘DISK’’, ‘’/data/dmdbms/data/BAK’’);
CALL SP_DB_BAKSET_REMOVE_BATCH(’‘DISK’’, NOW()-15);’, 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE(‘JOB_DEL_BAK_TIMELY’, ‘JOB_DEL_BAK_TIMELY’, 1, 1, 1, 0, 0, ‘00:00:00’, NULL, ‘2020-03-27 22:06:13’, NULL, ‘’);
call SP_JOB_CONFIG_COMMIT(‘JOB_DEL_BAK_TIMELY’);

Windows 定时备份脚本

每周六晚上 23:30 定时全库备份
call SP_CREATE_JOB(‘back_full’,1,0,’’,0,0,’’,0,‘back_full’);
call SP_JOB_CONFIG_START(‘back_full’);
call SP_ADD_JOB_STEP(‘back_full’, ‘back_full’, 6, ‘01000000D:\dmdbms8\data\DAMENG81\bak\FULL’, 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE(‘back_full’, ‘back_full’, 1, 2, 1, 64, 0, ‘23:30:00’, NULL, ‘2020-03-27 16:35:56’, NULL, ‘’);
call SP_JOB_CONFIG_COMMIT(‘back_full’);
每周一、周二、周三、周四、周五、周日晚上 23:30 定时增量备份
call SP_CREATE_JOB(‘backup_inc’,1,0,’’,0,0,’’,0,‘backup_inc’);
call SP_JOB_CONFIG_START(‘backup_inc’);
call SP_ADD_JOB_STEP(‘backup_inc’, ‘backup_inc’, 6, ‘11000000D:\dmdbms8\data\DAMENG81\bak\FULL|D:\dmdbms8\data\DAMENG81\bak\FULL’, 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE(‘backup_inc’, ‘backup_inc’, 1, 2, 1, 63, 0, ‘23:30:00’, NULL, ‘2020-03-27 22:03:58’, NULL, ‘’);
call SP_JOB_CONFIG_COMMIT(‘backup_inc’);
每天 00:00 删除 15 天以前的数据。删除前请先提前将备份文件转移到单独的备份服务器
call SP_CREATE_JOB(‘JOB_DEL_BAK_TIMELY’,1,0,’’,0,0,’’,0,‘JOB_DEL_BAK_TIMELY’);
call SP_JOB_CONFIG_START(‘JOB_DEL_BAK_TIMELY’);
call SP_ADD_JOB_STEP(‘JOB_DEL_BAK_TIMELY’, ‘JOB_DEL_BAK_TIMELY’, 0, ‘call SF_BAKSET_BACKUP_DIR_ADD(’‘DISK’’, ‘‘D:\dmdbms8\data\DAMENG81\bak\FULL’’);
CALL SP_DB_BAKSET_REMOVE_BATCH(’‘DISK’’, NOW()-15);’, 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE(‘JOB_DEL_BAK_TIMELY’, ‘JOB_DEL_BAK_TIMELY’, 1, 1, 1, 0, 0, ‘00:00:00’, NULL, ‘2020-03-27 22:06:13’, NULL, ‘’);
call SP_JOB_CONFIG_COMMIT(‘JOB_DEL_BAK_TIMELY’);
在这里插入图片描述
call SF_BAKSET_BACKUP_DIR_ADD(‘DISK’,’/opt/dmdbms/data/BAK’);
call SP_DB_BAKSET_REMOVE_BATCH(‘DISK’,NOW()-7);

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值