达梦数据库的使用

文章目录

  • 一、安装程序介绍
    • 1.dm管理工具
    • 2.dm服务查看器
    • 3.数据迁移工具
  • 二、达梦数据库联机备份与还原操作
    • 1.配置归档
    • 2.备份
      • 1.归档备份
    • 3.备份还原

一、安装程序介绍

官网文档:https://eco.dameng.com/docs/zh-cn/faq/faq-import-export.html

达梦数据库安装成功后,会显示如下客户端
达梦数据库的使用_第1张图片

1.dm管理工具

用于建立连接,建表,查询等操作,可在模式下查看建立的数据库信息
达梦数据库的使用_第2张图片
在库中建表,表名只能大写,或者查询时报错

2.dm服务查看器

用于启动停止服务
达梦数据库的使用_第3张图片

3.数据迁移工具

用于导入导出数据
建立迁移任务,选择导入数据
达梦数据库的使用_第4张图片
达梦数据库的使用_第5张图片
达梦数据库的使用_第6张图片
去管理工具,查询验证,只有姓名导入,其他导入失败
达梦数据库的使用_第7张图片
新建的表则插入成功
达梦数据库的使用_第8张图片
重新建立迁移任务
达梦数据库的使用_第9张图片

达梦数据库的使用_第10张图片
达梦数据库的使用_第11张图片
达梦数据库的使用_第12张图片
达梦数据库的使用_第13张图片
建立迁移任务,选择导出数据
达梦数据库的使用_第14张图片
达梦数据库的使用_第15张图片
数据成功导出,切可以支持导入多个表
达梦数据库的使用_第16张图片

二、达梦数据库联机备份与还原操作

1.配置归档

联机备份前必须要配置归档,脱机可配置可不配置

##修改数据库为 Mount 状态
ALTER DATABASE MOUNT

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

##开启归档模式
ALTER DATABASE ARCHIVELOG;

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

查看数据库归档状态(arch_mode 为y说明处于归档)
select arch_mode from v$database;

达梦数据库的使用_第17张图片

右键管理服务器也可以查看
达梦数据库的使用_第18张图片

2.备份

1.归档备份

命令行

##配置归档,请参考归档配置;
##保证数据库处于脱机状态;
##启动 DMRMAN 命令行工具;

##DMRMAN 中输入以下命令:
RMAN>BACKUP ARCHIVE LOG ALL DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' BACKUPSET  '/home/dm_bak/arch_all_bak_01'; 

页面
代理=》创建代理环境=》新建作业=》确定
达梦数据库的使用_第19张图片

达梦数据库的使用_第20张图片

达梦数据库的使用_第21张图片
会自动生成一个ddl语句
达梦数据库的使用_第22张图片
设置定时任务

call SP_CREATE_JOB('db_bak_gd_log',1,0,'',0,0,'',0,'配置归档备份');

call SP_JOB_CONFIG_START('db_bak_gd_log');

call SP_ADD_JOB_STEP('db_bak_gd_log', '归档备份库', 6, '31020200D:\dmdbms\data\bfwj_gdbf', 1, 1, 0, 0, NULL, 0);

call SP_ADD_JOB_SCHEDULE('db_bak_gd_log', '归档备份调度', 1, 1, 1, 0, 0, '11:03:55', NULL, '2024-01-08 10:57:43', NULL, '');

call SP_JOB_CONFIG_COMMIT('db_bak_gd_log');

错误码为0说明备份成功
达梦数据库的使用_第23张图片
备份路径下会生成一个文件夹
达梦数据库的使用_第24张图片
查询备份相关信息
SELECT * FROM V B A C K U P S E T B K P ; S E L E C T ∗ F R O M V BACKUPSET_BKP; SELECT * FROM V BACKUPSETBKP;SELECTFROMVBACKUPSET_SEARCH_DIRS;
SELECT * FROM V$BACKUP_HISTORY;
达梦数据库的使用_第25张图片
查看数据库相关信息

SELECT '实例名称' 数据库选项,INSTANCE_NAME  数据库集群相关参数值 FROM V$INSTANCE UNION ALL
SELECT '数据库名',CUR_DATABASE()FROM DUAL UNION ALL
SELECT '授权客户',(SELECT AUTHORIZED_CUSTOMER FROM V$LICENSE) UNION ALL
SELECT '数据库授权码',(SELECT SERIES_NO FROM V$LICENSE) UNION ALL
SELECT '数据库有效期',CAST((SELECT EXPIRED_DATE FROM V$LICENSE)AS VARCHAR) UNION ALL
SELECT '数据库版本',SUBSTR(SVR_VERSION,INSTR(SVR_VERSION,'('))  FROM V$INSTANCE UNION ALL
SELECT '数据库实例路径',(SELECT PARA_VALUE FROM V$DM_INI WHERE PARA_NAME LIKE'%SYSTEM_PATH%')  FROM V$INSTANCE UNION ALL
SELECT '数据库模式',MODE$ FROM V$INSTANCE  UNION ALL
SELECT '数据库状态',STATUS$ FROM V$INSTANCE UNION ALL
SELECT 'OGUID',CAST(OGUID AS VARCHAR) FROM V$INSTANCE UNION ALL
SELECT '归档状态_开 Y/关 N',ARCH_MODE FROM V$DATABASE UNION ALL
SELECT '长度是否以字符为单位',CASE (SELECT PARA_VALUE FROM V$DM_INI WHERE "V$DM_INI".PARA_NAME ='LENGTH_IN_CHAR') WHEN '0' THEN '否' WHEN '1' THEN '是' END UNION ALL
SELECT '大小写是否敏感_是 Y,1/否N,0',CAST(SF_GET_CASE_SENSITIVE_FLAG() AS VARCHAR) UNION ALL
SELECT '字符集',CASE SF_GET_UNICODE_FLAG() WHEN '0' THEN 'GBK18030' WHEN '1' THEN 'UTF-8' WHEN '2' THEN 'EUC-KR' END UNION ALL
SELECT '页大小',CAST(PAGE()/1024 AS VARCHAR) UNION ALL
SELECT '簇大小',CAST(SF_GET_EXTENT_SIZE() AS VARCHAR) UNION ALL
SELECT '唯一魔数',CAST(PERMANENT_MAGIC AS VARCHAR) UNION ALL
SELECT 'LSN',CAST(CUR_LSN AS VARCHAR) FROM V$RLOG UNION ALL
SELECT '当前登录用户',USER;

达梦数据库的使用_第26张图片
备份集校验

--SF_BAKSET_CHECK (device_type,backup_dir)
SELECT  SF_BAKSET_CHECK ('DISK','/home/dm_bak/db_bak_for_check');

达梦数据库的使用_第27张图片
为1说明备份成功
验证备份集是否有效
达梦数据库的使用_第28张图片

3.备份还原

备份之后,尝试修改数据
备份前的数据
达梦数据库的使用_第29张图片
备份后修改数据
达梦数据库的使用_第30张图片
新建测试表
达梦数据库的使用_第31张图片
考虑到生产环境的实例不能关闭,切为了不影响实际业务数据,新建一个实例进行恢复
实际生产环境端口5236,且实例名为DAMENG,新建一个5237,实例名为DM02

[dmdba@localhost bin]$ ./dminit path=/dm8/data1/ DB_NAME=DM02 INSTANCE_NAME=DMSVR02 PORT_NUM=5237 page_size=16 extent_size=32 CASE_SENSITIVE=1 log_size=500
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2023-06-30
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL

 log file path: /dm8/data1/DM02/DM0201.log


 log file path: /dm8/data1/DM02/DM0202.log

write to dir [/dm8/data1/DM02].
create dm database success. 2022-12-29 14:15:45
#
#前台启动数据库,确认实例是否初始化正常。

[dmdba@localhost bin]$ ./dmserver /dm8/data1/DM02/dm.ini

#退出实例准备数据还原

达梦数据库的使用_第32张图片
以上是window系统操作,同样的指令,可见新建一个实例成功
达梦数据库的使用_第33张图片
达梦数据库的使用_第34张图片
达梦数据库的使用_第35张图片
新建达梦连接,端口号给5237,可见创建成功
达梦数据库的使用_第36张图片

里面是空的
达梦数据库的使用_第37张图片
实例2当前未配置归档
达梦数据库的使用_第38张图片

数据库备份还原恢复
./dmrman
restore database '/dm8/data1/DM02/dm.ini' from backupset '/dm8/backup/1229';
recover database '/dm8/data1/DM02/dm.ini' WITH ARCHIVEDIR '/dm8/data/DM01/arch' UNTIL LSN 1000050;
recover database '/dm8/data1/DM02/dm.ini' update db_magic;

归档备份还原恢复
##还原归档。启动 DMRMAN,设置 OVERWRITE 为 2,如果归档文件已存在,会报错。 
##1、指定还原的目标归档日志目录:
RMAN>RESTORE ARCHIVE LOG FROM BACKUPSET '/home/dm_bak/arch_all_for_restore' TO ARCHIVEDIR'/opt/dmdbms/data/DAMENG_FOR_RESTORE/arch_dest' OVERWRITE 2; 

##2、指定还原目标库的 dm.ini 文件路径:
RMAN>RESTORE ARCHIVE LOG FROM BACKUPSET '/home/dm_bak/arch_all_for_restore' TO  DATABASE '/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini' OVERWRITE 2; 

以下用的是归档方式
达梦数据库的使用_第39张图片
达梦数据库的使用_第40张图片
归档还原时候报错,不知道什么原因,有大佬知道可以回复下
CHECK BACKUPSET ‘D:\dmdbms\data\bfwj_gdbf\DB_DAMENG_FULL_2024_01_11_10_25_45’;
达梦数据库的使用_第41张图片
尝试使用管理工具页面还原
达梦数据库的使用_第42张图片
达梦数据库的使用_第43张图片
换个备份方式,重新备份,后面选择全备试下
达梦数据库的使用_第44张图片

call SP_CREATE_JOB('db_bak_gd_log',1,0,'',0,0,'',0,'配置归档备份');

call SP_JOB_CONFIG_START('db_bak_gd_log');

call SP_ADD_JOB_STEP('db_bak_gd_log', '归档备份库', 6, '01020200D:\dmdbms\data\bfwj_gdbf', 1, 1, 0, 0, NULL, 0);

call SP_ADD_JOB_SCHEDULE('db_bak_gd_log', '归档备份调度', 1, 1, 1, 0, 0, '10:24:55', NULL, '2024-01-08 10:57:43', NULL, '');

call SP_JOB_CONFIG_COMMIT('db_bak_gd_log');

注意备份的时候这两个地方都要启动
达梦数据库的使用_第45张图片
刚刚全备的已经成功了
达梦数据库的使用_第46张图片
测试在新实例上还原,新实例之前已经开启过归档了,可以看到改用完全备份方式成功

./dmrman
restore database 'D:\dmdbms\data\DM02\dm.ini' from backupset 'D:\dmdbms\data\bfwj_gdbf\ARCH_LOG_DAMENG_2024_01_10_11_20_57';
recover database 'D:\dmdbms\data\DM02\dm.ini' WITH ARCHIVEDIR 'D:\dmdbms\data\DAMENG\he_gd' UNTIL LSN 1000050;
recover database 'D:\dmdbms\data\DM02\dm.ini' update db_magic;

达梦数据库的使用_第47张图片

注意这里用的是归档路径不是备份集路径
达梦数据库的使用_第48张图片
达梦数据库的使用_第49张图片
开启新实例,查看数据是否和旧实例数据一样

dmserver D:\dmdbms\data\DM02\dm.ini

达梦数据库的使用_第50张图片
可以看到5237的数据和5236的数据一致
达梦数据库的使用_第51张图片
整个过程中实例5236的数据是不需要关闭的,只是把数据恢复到了5237的实例中

你可能感兴趣的:(数据库)