达梦数据库的使用

文章目录

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

一、安装程序介绍

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

达梦数据库安装成功后,会显示如下客户端
在这里插入图片描述

1.dm管理工具

用于建立连接,建表,查询等操作,可在模式下查看建立的数据库信息
在这里插入图片描述
在库中建表,表名只能大写,或者查询时报错

2.dm服务查看器

用于启动停止服务
在这里插入图片描述

3.数据迁移工具

用于导入导出数据
建立迁移任务,选择导入数据
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
去管理工具,查询验证,只有姓名导入,其他导入失败
在这里插入图片描述
新建的表则插入成功
在这里插入图片描述
重新建立迁移任务
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
建立迁移任务,选择导出数据
在这里插入图片描述
在这里插入图片描述
数据成功导出,切可以支持导入多个表
在这里插入图片描述

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

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;

在这里插入图片描述

右键管理服务器也可以查看
在这里插入图片描述

2.备份

1.归档备份

命令行

##配置归档,请参考归档配置;
##保证数据库处于脱机状态;
##启动 DMRMAN 命令行工具;##DMRMAN 中输入以下命令:
RMAN>BACKUP ARCHIVE LOG ALL DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' BACKUPSET  '/home/dm_bak/arch_all_bak_01'; 

页面
代理=》创建代理环境=》新建作业=》确定
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
会自动生成一个ddl语句
在这里插入图片描述
设置定时任务

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说明备份成功
在这里插入图片描述
备份路径下会生成一个文件夹
在这里插入图片描述
查询备份相关信息
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;
在这里插入图片描述
查看数据库相关信息

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;

在这里插入图片描述
备份集校验

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

在这里插入图片描述
为1说明备份成功
验证备份集是否有效
在这里插入图片描述

3.备份还原

备份之后,尝试修改数据
备份前的数据
在这里插入图片描述
备份后修改数据
在这里插入图片描述
新建测试表
在这里插入图片描述
考虑到生产环境的实例不能关闭,切为了不影响实际业务数据,新建一个实例进行恢复
实际生产环境端口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 ROLLlog file path: /dm8/data1/DM02/DM0201.loglog file path: /dm8/data1/DM02/DM0202.logwrite to dir [/dm8/data1/DM02].
create dm database success. 2022-12-29 14:15:45
#
#前台启动数据库,确认实例是否初始化正常。[dmdba@localhost bin]$ ./dmserver /dm8/data1/DM02/dm.ini#退出实例准备数据还原

在这里插入图片描述
以上是window系统操作,同样的指令,可见新建一个实例成功
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
新建达梦连接,端口号给5237,可见创建成功
在这里插入图片描述

里面是空的
在这里插入图片描述
实例2当前未配置归档
在这里插入图片描述

数据库备份还原恢复
./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; 

以下用的是归档方式
在这里插入图片描述
在这里插入图片描述
归档还原时候报错,不知道什么原因,有大佬知道可以回复下
CHECK BACKUPSET ‘D:\dmdbms\data\bfwj_gdbf\DB_DAMENG_FULL_2024_01_11_10_25_45’;
在这里插入图片描述
尝试使用管理工具页面还原
在这里插入图片描述
在这里插入图片描述
换个备份方式,重新备份,后面选择全备试下
在这里插入图片描述

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');

注意备份的时候这两个地方都要启动
在这里插入图片描述
刚刚全备的已经成功了
在这里插入图片描述
测试在新实例上还原,新实例之前已经开启过归档了,可以看到改用完全备份方式成功

./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;

在这里插入图片描述

注意这里用的是归档路径不是备份集路径
在这里插入图片描述
在这里插入图片描述
开启新实例,查看数据是否和旧实例数据一样

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

在这里插入图片描述
可以看到5237的数据和5236的数据一致
在这里插入图片描述
整个过程中实例5236的数据是不需要关闭的,只是把数据恢复到了5237的实例中

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/339554.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenCV4.x(C++)人脸检测(眼睛、侧脸、正脸)

一、前言 OpenCV是一款广泛使用的计算机视觉库,提供了许多强大的功能,包括人脸检测和识别。人脸分类器是OpenCV中用于人脸检测的关键工具之一,能够快速准确地检测出图像中的人脸。 本文将介绍如何使用OpenCV自带的人脸分类器,并…

05- OpenCV:图像操作和图像混合

目录 一、图像操作 1、读写图像 2、读写像素 3、修改像素值 4、Vec3b与Vec3F 5、相关的代码演示 二、图像混合 1、理论-线性混合操作 2、相关API(addWeighted) 3、代码演示(完整的例子) 一、图像操作 1、读写图像 (1)…

阿赵UE学习笔记——8、贴图导入设置

阿赵UE学习笔记目录 大家好,我是阿赵。   继续学习虚幻引擎的用法,这次来说一下贴图的导入设置。   在内容浏览器里面可以看到纹理类型的资源,就是贴图了,鼠标悬浮在上面可以看到这个纹理贴图的信息: 双击纹理贴图…

基于ssm文化遗产的保护与旅游开发论文

摘 要 信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自古…

【Python程序开发系列】一文总结程序运行出现No module named ‘xxx‘的解决方案

这是Python程序开发系列原创文章,我的第196篇原创文章。 一、引言 "ModuleNotFoundError: No module named xxx"这个报错是个非常常见的报错,几乎每个python程序员都遇到过,导致这个报错的原因也非常多,解决这个问题之…

原生Camera2中CameraMetadata用法和代码流程详解

1,CameraMetadata介绍 CameraMetadata在Android的Camera2 API中起到了关键的作用。它提供了一种机制,使应用程序能够获取关于相机硬件和其当前状态的元数据。这些元数据包括各种信息,例如相机传感器的状态、镜头的朝向、闪光灯的充电状态、自…

智能AI一键养号,助力账号增加浏览轨迹的全新体验

我想分享一下我对亚马逊鲲鹏系统的智能AI一键养号功能的使用体验。这一创新性的功能让账号的养号过程变得更加轻松、灵活且有效。 首先,我对软件的AI功能页面印象深刻。通过勾选不同的姓名、职业、性别等选项,我可以生成各种不同的AI角色。这些角色使得账…

windows10 装docker和docker compose

一.windows环境准备 开启过程中的问题,进入bios修复 二.docker下载安装 1.下载 Docker Desktop: The #1 Containerization Tool for Developers | Docker 下载最新版有问题,下载老版本试试 Docker Desktop release notes | Docker Docs 2.安装 三.do…

C++11_lambda表达式

文章目录 一、lambda表达式1.lambda的组成2.[capture-list] 的其他使用方法2.1混合捕捉 二、lambda表达式的使用场景1.替代仿函数 总结 一、lambda表达式 lambda表达式是C11新引入的功能,它的用法与我们之前学过的C语法有些不同。 1.lambda的组成 [capture-list] …

有免费仓库出入库管理软件推荐吗?

有免费仓库出入库管理软件推荐吗? 对于希望仓库管理系统“简单易上手”的使用者来说,能够实现扫码出入库的系统无疑是最优选。这种方式以其直观的操作和高效的流程,极大地简化了仓库管理,为用户提供了许多实际的便利。 像我们公…

android 实时流媒体 实时流媒体播放

场景描述 将实时流采集终端的视频数据实时推送到另外一个(多个)播放终端,完成远距离实时视频播放的功能。典型场景: (1)远程查看监控摄像头。选择指定摄像头,将该摄像头采集到的实时数据推送到…

k8s的存储卷、数据卷---动态PV创建

当发布PVC之后可以生成PV,还可以在动态服务器上直接生成挂载目录。PVC直接绑定和使用PV。 动态PV需要两个组件 存储卷插件:Provisioner(存储分配器)根据定义的属性创建PV StorageClass:定义属性 存储卷插件 存储卷插件:k8s本…