Maison base de données tutoriel mysql 达梦(6)联机备份恢复

达梦(6)联机备份恢复

Jun 07, 2016 pm 03:28 PM
备份 恢复 数据库 en ligne

达梦数据库的联机备份颇花了我不少时间,关键是附带的文档感觉说得不清楚。不过测试出来后觉得达梦的这个设计还是比较简明的。 为了让后面学习的人不用花我这么多时间,把测试流程整理了下放在下面: 主要测试了: 1. 不包含归档的联机全备 2. 包含归档的联机全

达梦数据库的联机备份颇花了我不少时间,关键是附带的文档感觉说得不清楚。不过测试出来后觉得达梦的这个设计还是比较简明的。
为了让后面学习的人不用花我这么多时间,把测试流程整理了下放在下面:
主要测试了:
1. 不包含归档的联机全备
2. 包含归档的联机全备
3. 不包含归档的联机全备的恢复
4. 不包含归档的联机全备文件加上归档日志的恢复
5. 包含归档的联机全备的恢复

测试版本: V7.1.2.215-Build(2013.11.08-36626trunc)

一。检查并设置数据库为归档模式
联机备份必须处在归档模式下,可用下面两条sql查看数据库当前状态
--查看归档是否打开
select arch_mode from v$database;
--查看归档日志信息
select arch_name,arch_type,arch_dest from v$dm_arch_ini;
Copier après la connexion

二。创建测试数据
-- 创建表空间test_data(数据文件TEST_DATA01.DBF大小为50m)
create tablespace test_data datafile 'C:\dmdbms\data\DAMENG\TEST_DATA01.DBF' size 50;
-- 增加用户
create user "TESTUSER" identified by "111111" default tablespace "TEST_DATA";
-- 授权
grant "DBA" to "TESTUSER";
-- 创建模式
create schema test_sch authorization testuser;
-- 创建 表
create table test_sch.t1(id int primary key ,name varchar(20)) storage(on test_data)
-- 插入数据
insert into test_sch.t1 values(1,'aaa');
insert into test_sch.t1 values(2,'bbb');
-- 检索数据
select * from test_sch.t1;
Copier après la connexion

三。备份数据库
1. 不包含归档的联机全备
-- 仅备份数据库,不备份日志 
backup database full to dmbkname03_noarc bakfile 'C:\xcl\online_noarc\dmbkname03_noarc.bak' backupinfo '测试全库联机备份不包含归档' maxsize 50 without log ;
Copier après la connexion

2. 再次插入数据
insert into test_sch.t1 values(3,'dmbkname03_noarc');
Copier après la connexion

3. 包含归档的联机全备
-- 备份数据库,并包含日志
backup database full to dmbkname04 bakfile 'C:\xcl\online\dmbkname04.bak' backupinfo '测试全库联机备份' maxsize 50 ;
Copier après la connexion

备份完成的后续工作:

1. 继续插入一笔数据
-- 插入数据
insert into test_sch.t1 values(4,'dmbkname04');

-- 检索数据
select * from test_sch.t1;

SQL> select * from test_sch.t1;


行号       ID          NAME
---------- ----------- ----------------
1          1           aaa
2          2           bbb
3          3           dmbkname03_noarc
4          4           dmbkname04


已用时间: 1.245(毫秒). 执行号:99.
Copier après la connexion
2 将归档备份一份到另一个目录
3. 在"DM服务查看器"中停掉对应的实例服务"DmServiceDMSERVER"
4. 将dm.ini 备份一份到另一个目录
5. 删除数据库目录
在"C:\dmdbms\data"目录下删除数据库所在目录"DAMENG".此时数据库就被删除了。
这时,你去"DM服务查看器"刷新下,就看不到"DmServiceDMSERVER"这个服务了

四。恢复测试

达梦数据库的恢复通常分两步走.
第一,通过dminit重新初始化出一个和备份数据库相同的名字的库
第二. 执行恢复命令恢复.

a. 不包含归档的联机全备的恢复

1. 初始化数据库
c:\dmdbms\bin>dminit.exe  PATH=C:\dmdbms\data  DB_NAME=DAMENG  INSTANCE_NAME=DMSERVER
Copier après la connexion
2.恢复数据库
-- 不包含归档
c:\dmdbms\bin> dmrestore ini_path=C:\xcl\dm.ini  file=C:\xcl\online_noarc\dmbkname03_noarc.bak
Copier après la connexion
3. 启动服务,进入数据库查看恢复结果
SQL>select * from test_sch.t1;


行号       ID          NAME
---------- ----------- ----
1          1           aaa
2          2           bbb


已用时间: 60.990(毫秒). 执行号:3.
Copier après la connexion

b. 不包含归档的联机全备文件加上归档日志的恢复
1. 初始化数据库
--再次用不包含归档的备份测试,但指定归档日志目录
dminit.exe  PATH=C:\dmdbms\data  DB_NAME=DAMENG  INSTANCE_NAME=DMSERVER
Copier après la connexion
2.恢复数据库
dmrestore ini_path=C:\xcl\dm.ini  file=C:\xcl\online_noarc\dmbkname03_noarc.bak archive_dir=C:\xcl\online_noarc\arc2
Copier après la connexion
3. 启动服务,进入数据库查看恢复结果
SQL>select * from test_sch.t1;


行号       ID          NAME
---------- ----------- ----------------
1          1           aaa
2          2           bbb
3          3           dmbkname03_noarc
4          4           dmbkname04


已用时间: 62.247(毫秒). 执行号:3.
SQL>
Copier après la connexion

c.包含归档的联机全备的恢复
1. 初始化数据库
dminit.exe  PATH=C:\dmdbms\data  DB_NAME=DAMENG  INSTANCE_NAME=DMSERVER
Copier après la connexion
2.恢复数据库
-- 数据库全库备份,并包含日志
dmrestore ini_path=C:\xcl\dm.ini  file=C:\xcl\online\dmbkname04.bak
Copier après la connexion
3. 启动服务,进入数据库查看恢复结果
SQL>select * from test_sch.t1;


行号       ID          NAME
---------- ----------- ----------------
1          1           aaa
2          2           bbb
3          3           dmbkname03_noarc


已用时间: 62.508(毫秒). 执行号:3.
Copier après la connexion

五.总结
达梦数据库的文档中并没有说明,dmrestore命令即能恢复脱机备份,也能恢复联机备份。导致我在执行backup命令后,
误以为要有resotre恢复。但数据库被破坏后,又没法进disql执行restore.后测试才知,dmrestore命令通杀脱机和联机两种恢复方式。
从上面的测试可看出,基本上达梦的备份流程就是发命令,生成备份文件,并同时备份dm.ini。有些情况下还要备份归档日志。

然后恢复是用dminit重新初始化一个库再用dmrestore恢复。 在达梦数据库中dm.ini非常重要,备份时一定要记得把这个也一同备份。

MAIL: xcl_168@aliyun.com

BLOG: http://blog.csdn.net/xcl168




Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser la sauvegarde et la restauration MySQL en PHP ? Comment utiliser la sauvegarde et la restauration MySQL en PHP ? Jun 03, 2024 pm 12:19 PM

La sauvegarde et la restauration d'une base de données MySQL en PHP peuvent être réalisées en suivant ces étapes : Sauvegarder la base de données : Utilisez la commande mysqldump pour vider la base de données dans un fichier SQL. Restaurer la base de données : utilisez la commande mysql pour restaurer la base de données à partir de fichiers SQL.

Comment le langage Go implémente-t-il les opérations d'ajout, de suppression, de modification et de requête de la base de données ? Comment le langage Go implémente-t-il les opérations d'ajout, de suppression, de modification et de requête de la base de données ? Mar 27, 2024 pm 09:39 PM

Le langage Go est un langage de programmation efficace, concis et facile à apprendre. Il est privilégié par les développeurs en raison de ses avantages en programmation simultanée et en programmation réseau. Dans le développement réel, les opérations de base de données font partie intégrante. Cet article explique comment utiliser le langage Go pour implémenter les opérations d'ajout, de suppression, de modification et de requête de base de données. Dans le langage Go, nous utilisons généralement des bibliothèques tierces pour faire fonctionner les bases de données, telles que les packages SQL couramment utilisés, gorm, etc. Ici, nous prenons le package SQL comme exemple pour présenter comment implémenter les opérations d'ajout, de suppression, de modification et de requête de la base de données. Supposons que nous utilisons une base de données MySQL.

Comment restaurer les commentaires supprimés sur Xiaohongshu ? Des conseils pour les commentaires supprimés ? Comment restaurer les commentaires supprimés sur Xiaohongshu ? Des conseils pour les commentaires supprimés ? Mar 27, 2024 am 11:56 AM

Xiaohongshu est une plateforme sociale de commerce électronique populaire où les utilisateurs peuvent partager des expériences d'achat, des détails sur leur vie, etc. Lors de l'utilisation, certains utilisateurs peuvent voir leurs commentaires supprimés. Alors, comment restaurer les commentaires supprimés sur Xiaohongshu ? 1. Comment restaurer les commentaires supprimés sur Xiaohongshu ? S'il s'avère qu'un commentaire a été supprimé par erreur, les utilisateurs peuvent choisir d'attendre que l'équipe officielle de Xiaohongshu le restaure. Dans ce cas, il est préférable d’être patient et d’attendre car l’équipe officielle peut automatiquement traiter et reprendre les commentaires après un certain temps. Si vous constatez qu'un commentaire a été supprimé, envisagez de republier un contenu similaire. Mais lorsque vous republiez, assurez-vous que le contenu est conforme aux directives de la communauté de Xiaohongshu pour éviter d'être à nouveau supprimé. 3. Contactez le service client de Xiaohongshu : si vous pensez que votre commentaire a été erroné

Comment Hibernate implémente-t-il le mappage polymorphe ? Comment Hibernate implémente-t-il le mappage polymorphe ? Apr 17, 2024 pm 12:09 PM

Le mappage polymorphe Hibernate peut mapper les classes héritées à la base de données et fournit les types de mappage suivants : join-subclass : crée une table séparée pour la sous-classe, incluant toutes les colonnes de la classe parent. table par classe : créez une table distincte pour les sous-classes, contenant uniquement des colonnes spécifiques aux sous-classes. union-subclass : similaire à join-subclass, mais la table de classe parent réunit toutes les colonnes de la sous-classe.

iOS 18 ajoute une nouvelle fonction d'album 'Récupéré' pour récupérer les photos perdues ou endommagées iOS 18 ajoute une nouvelle fonction d'album 'Récupéré' pour récupérer les photos perdues ou endommagées Jul 18, 2024 am 05:48 AM

Les dernières versions d'Apple des systèmes iOS18, iPadOS18 et macOS Sequoia ont ajouté une fonctionnalité importante à l'application Photos, conçue pour aider les utilisateurs à récupérer facilement des photos et des vidéos perdues ou endommagées pour diverses raisons. La nouvelle fonctionnalité introduit un album appelé "Récupéré" dans la section Outils de l'application Photos qui apparaîtra automatiquement lorsqu'un utilisateur a des photos ou des vidéos sur son appareil qui ne font pas partie de sa photothèque. L'émergence de l'album « Récupéré » offre une solution aux photos et vidéos perdues en raison d'une corruption de la base de données, d'une application d'appareil photo qui n'enregistre pas correctement dans la photothèque ou d'une application tierce gérant la photothèque. Les utilisateurs n'ont besoin que de quelques étapes simples

Une analyse approfondie de la façon dont HTML lit la base de données Une analyse approfondie de la façon dont HTML lit la base de données Apr 09, 2024 pm 12:36 PM

HTML ne peut pas lire directement la base de données, mais cela peut être réalisé via JavaScript et AJAX. Les étapes comprennent l'établissement d'une connexion à la base de données, l'envoi d'une requête, le traitement de la réponse et la mise à jour de la page. Cet article fournit un exemple pratique d'utilisation de JavaScript, AJAX et PHP pour lire les données d'une base de données MySQL, montrant comment afficher dynamiquement les résultats d'une requête dans une page HTML. Cet exemple utilise XMLHttpRequest pour établir une connexion à la base de données, envoyer une requête et traiter la réponse, remplissant ainsi les données dans les éléments de la page et réalisant la fonction de lecture HTML de la base de données.

Comment gérer les erreurs de connexion à la base de données en PHP Comment gérer les erreurs de connexion à la base de données en PHP Jun 05, 2024 pm 02:16 PM

Pour gérer les erreurs de connexion à la base de données en PHP, vous pouvez utiliser les étapes suivantes : Utilisez mysqli_connect_errno() pour obtenir le code d'erreur. Utilisez mysqli_connect_error() pour obtenir le message d'erreur. En capturant et en enregistrant ces messages d'erreur, les problèmes de connexion à la base de données peuvent être facilement identifiés et résolus, garantissant ainsi le bon fonctionnement de votre application.

Tutoriel détaillé sur l'établissement d'une connexion à une base de données à l'aide de MySQLi en PHP Tutoriel détaillé sur l'établissement d'une connexion à une base de données à l'aide de MySQLi en PHP Jun 04, 2024 pm 01:42 PM

Comment utiliser MySQLi pour établir une connexion à une base de données en PHP : Inclure l'extension MySQLi (require_once) Créer une fonction de connexion (functionconnect_to_db) Appeler la fonction de connexion ($conn=connect_to_db()) Exécuter une requête ($result=$conn->query()) Fermer connexion ( $conn->close())

See all articles