达梦数据库使用笔记,备份还原,迁移

---------------------------------java--------------------------

1.pom 版本

java 复制代码
   driverClassName: dm.jdbc.driver.DmDriver
    druid:
      # 主库数据源
      master:
        url: jdbc:dm://10.28.85.99:5236/TESTDB2?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false
        username: TESTDB2
        password: 123456789
java 复制代码
    <dependency>
          <groupId>com.dameng</groupId>
          <artifactId>DmJdbcDriver18</artifactId>
          <version>8.1.2.79</version>
     </dependency>

2.表命名

1.不支持 横杠,如 gd-table

2.mysql 数据迁移 到 dm 时,会出现 某些数据类型的长度过长的问题,注意

3.在 mysql 数据库中,对象名默认是小写,达梦对象名默认是大写

4.关键字 高亮蓝色显示

3.数据库使用

1.使用select 查询时,表必须带模式名

2.DBeaver连接(DM)达梦数据库 http://www.jnnr.cn/a/527798.html

3.工具: manager 管理工具,dts 迁移工具

  1. 库 \模式 \表空间\用户 ??

即MySQL的一个库对应达梦数据库的一个表空间&一个用户。

5.本机的字符集 使用的是 GB18030;

4.管理员 SYSDBA SYSDBA

--------------------------------使用-----------------------------

1.达梦数据库入门指南(三)- 模式概念与基本使用 https://blog.csdn.net/weixin_42788203/article/details/127287687

1.用户的模式(SCHEMA)指的是用户账号拥有的对象集,在概念上可将其看作是包含表、 视图、索引和权限定义的对象; 系统为每一个用户自动建立了一个与用户名同名的模式作为其默认模式.

模式等同于 数据库.

2.将达梦安装目录放到360的 安全操作中心-已信任项中,防止当做木马删除,导致服务无法启动

3.先看DM服务查看器,最后两个服务是否启动

4.达梦使用的开发版,有限制,其他版本需要买

--------------------------------对比mysql------------------------

1.减了10天

select DATE_FORMAT(ADD_DAYS(NOW(), -10), '%Y-%m-%d')

select DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 10 DAY), '%Y-%m-%d')

减了 12个月:select DATE_FORMAT(ADD_MONTHS(now(),-12), '%Y-%m-%d')

2.间隔天数

select DATEDIFF(day,sysdate(),'2023-06-29')

3.不识别 `type` , 这个符号 ` ,改成 "type"

达梦数据库-日期类型常用函数汇总 https://blog.csdn.net/run65536/article/details/124766413

---------------------------------备份和还原--------------------

1.达梦数据库的备份与还原 https://blog.csdn.net/wxq1212/article/details/126963016

1.备份库

使用DM控制台工具console备份 :前提条件:关闭数据库服务,开启dmap服务 --

bin > ./DmServiceDMSERVER stop

bin > ./dmap

(1)使用DM控制台工具console备份

tool > ./console

指定备份集目录和备份名,执行完全备份

(2)DM控制台工具还原,需要关闭数据库服务

配置完成路径后,点击获取备份,选择需要还原的文件,然后依次还原、恢复、更新魔数

还原:(数据库关闭,dmap服务打开)

还原数据

RMAN> restore database '/dm8/data/DMDB/dm.ini' from backupset '/dm8/data/FULL'

数据恢复

RMAN> recover database '/dm8/data/DMDB/dm.ini' from backupset '/dm8/data/FULL'

数据库还原完成,需要更新魔数

RMAN> recover database '/dm8/data/DMDB/dm.ini' update db_magic

启动数据库

./DmServiceDMSERVER start

2.备份模式

导出

2.bug

1.本地编码:PG_GBK, 导入文件编码:PG_GB18030 -- 没有解决

达梦数据库不同模式导入时系统提示字符集异常的解决办法 https://blog.csdn.net/u013245014/article/details/122450921

locale

locale -a | grep 18030 #查看服务器是否支持GB18030字符集

export LANG=zh_CN.gb18030

export LANG=en_US.UTF-8

export LANG=zh_CN.UTF-8

---------------------------------迁移---------------------

1.修改配置

1.D:\dmdbms\data\DAMENG\dm.ini COMPATIBLE_MODE=4

2.只能迁移表和视图

3.DM 数据库目前不支持 UTF8MB4。DTS 从 MySQL 迁移到 DM,char 长度是原来的 3 倍;

MySQL 中 varchar(1) 可以存一个汉字,DM 数据库是以字节为单位。gb18030 字符集,varchar(2) 才可以存一个汉字;UTF-8 字符集,varchar(3) 才可以存一个汉字。

1.打开迁移工具

2.新建工具-新建迁移

1.保持对象名大小写 -勾选 # 在用达梦 DTS 工具迁移的时候,去掉"保持对象名大小写"的勾选,使对象名自动转换成大写,在 mybatis 查询的时候,即不需要加双引号强调小写

是否勾选都没有影响,建议勾选

2.指定模式: 目的模式 -数据库名\创建模式

3.问题:

1.达梦数据库,写 SQL 如何才能不带上模式名https://eco.dameng.com/docs/zh-cn/article/article-010.html

CREATE TABLESPACE TESTDB1 DATAFILE 'TESTDB1.DBF' SIZE 128;

CREATE USER TESTDB1 IDENTIFIED BY "123456789" DEFAULT TABLESPACE TESTDB1;

GRANT RESOURCE TO TESTDB1;

---------------------------------linux----------------------

注意:

  1. /dm/data 授权给用户 dmdba

  2. 8236 需要放开防火墙

3.默认用户名和密码:SYSDBA/SYSDBA

5.(*)簇大小\页大小\字符集 在创建实例时必须设置成一样的,分别是 32\32\utf-8

6.(*)不勾选 标识符大小写敏感

/etc/dm_svc.conf

参考 https://eco.dameng.com/document/dm/zh-cn/start/dm-start-stop-linux.html

  1. 密码 : 8

  2. mount -o loop /opt/dm8_20230420_x86_kylin10_64.iso /mnt

su - dmdba

cd /dm8/bin

chown -R dmdba:dinstall /dm8/bin

需要使用 root 用户授予 /dm/data 目录相应权限 1qaz@3ER

su - root

mkdir /dm/data

chown dmdba:dinstall -R /dm/data/ # /dm/data/ 这个必须授权给用户 dmdba

chmod -R 755 /dm/data

su - dmdba

./dminit path=/dm/data

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

su - root

cd /dm8/script/root

./dm_service_installer.sh -t dmserver -dm_ini /dm/data/DAMENG/dm.ini -p DMSERVER

cd /dm8/tool

./dbca.sh

systemctl start DmServiceDMSERVER.service

cd /dm8/bin

./disql SYSDBA/SYSDBA:5236

systemctl status firewalld

开启

查看和指定SpringBoot内嵌Tomcat的版本 https://blog.csdn.net/hills/article/details/130765675

资金系统 路径: D:\github\upload\demo

达梦数据库查看版本号方法 https://blog.csdn.net/weixin_44671771/article/details/129379096

---------------------------------------------window 安装---------------------------------

D:\dmdbms

D:\dmdbms\data

D:\dmdbms\drivers\jdbc 达梦驱动地址

SYSDBA/SYSDBA

数据库名: DAMENG

实例名: DMSERVER

数据库目录: D:\dmdbms\data

端口: 5236

服务: DMServiceDMSERVER

数据库目录: D:\dmdbms\data\DAMENG\

控制文件:

D:\dmdbms\data\DAMENG\dm.ctl

数据文件:

D:\dmdbms\data\DAMENG\SYSTEM.DBF

D:\dmdbms\data\DAMENG\ROLL.DBF

D:\dmdbms\data\DAMENG\TEMP.DBF

D:\dmdbms\data\DAMENG\MAIN.DBF

日志文件:

D:\dmdbms\data\DAMENG\DAMENG01.log

D:\dmdbms\data\DAMENG\DAMENG02.log

ELOG:

D:\dmdbms\data\DAMENG\

簇大小: 32页

页大小: 32K

日志文件大小: 256M

时区设置: +08:00

页面检查: 不启用

字符集: GB18030

USBKEY-PIN:

页分片大小: 4096

标识符大小写敏感: 否

VARCHAR以字符为单位: 否

空格填充模式: 否

改进的字符串HASH算法: 是

启用日志文件加密: 否

启用全库加密: 否

启用加密: 否

创建示例库 BOOKSHOP

创建示例库 DMHR

相关推荐
独行soc1 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍08-基于时间延迟的SQL注入(Time-Based SQL Injection)
数据库·sql·安全·渗透测试·漏洞挖掘
White_Mountain1 小时前
在Ubuntu中配置mysql,并允许外部访问数据库
数据库·mysql·ubuntu
Code apprenticeship1 小时前
怎么利用Redis实现延时队列?
数据库·redis·缓存
百度智能云技术站1 小时前
广告投放系统成本降低 70%+,基于 Redis 容量型数据库 PegaDB 的方案设计和业务实践
数据库·redis·oracle
装不满的克莱因瓶1 小时前
【Redis经典面试题六】Redis的持久化机制是怎样的?
java·数据库·redis·持久化·aof·rdb
梦想平凡3 小时前
PHP 微信棋牌开发全解析:高级教程
android·数据库·oracle
TianyaOAO3 小时前
mysql的事务控制和数据库的备份和恢复
数据库·mysql
Ewen Seong3 小时前
mysql系列5—Innodb的缓存
数据库·mysql·缓存
码农老起4 小时前
企业如何通过TDSQL实现高效数据库迁移与性能优化
数据库·性能优化
夏木~5 小时前
Oracle 中什么情况下 可以使用 EXISTS 替代 IN 提高查询效率
数据库·oracle