达梦(6)联机备份恢复
达梦数据库的联机备份颇花了我不少时间,关键是附带的文档感觉说得不清楚。不过测试出来后觉得达梦的这个设计还是比较简明的。 为了让后面学习的人不用花我这么多时间,把测试流程整理了下放在下面: 主要测试了: 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;
二。创建测试数据
-- 创建表空间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;
三。备份数据库
1. 不包含归档的联机全备
-- 仅备份数据库,不备份日志 backup database full to dmbkname03_noarc bakfile 'C:\xcl\online_noarc\dmbkname03_noarc.bak' backupinfo '测试全库联机备份不包含归档' maxsize 50 without log ;
2. 再次插入数据
insert into test_sch.t1 values(3,'dmbkname03_noarc');
3. 包含归档的联机全备
-- 备份数据库,并包含日志 backup database full to dmbkname04 bakfile 'C:\xcl\online\dmbkname04.bak' backupinfo '测试全库联机备份' maxsize 50 ;
备份完成的后续工作:
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.
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
-- 不包含归档 c:\dmdbms\bin> dmrestore ini_path=C:\xcl\dm.ini file=C:\xcl\online_noarc\dmbkname03_noarc.bak
SQL>select * from test_sch.t1; 行号 ID NAME ---------- ----------- ---- 1 1 aaa 2 2 bbb 已用时间: 60.990(毫秒). 执行号:3.
b. 不包含归档的联机全备文件加上归档日志的恢复
1. 初始化数据库
--再次用不包含归档的备份测试,但指定归档日志目录 dminit.exe PATH=C:\dmdbms\data DB_NAME=DAMENG INSTANCE_NAME=DMSERVER
dmrestore ini_path=C:\xcl\dm.ini file=C:\xcl\online_noarc\dmbkname03_noarc.bak archive_dir=C:\xcl\online_noarc\arc2
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>
c.包含归档的联机全备的恢复
1. 初始化数据库
dminit.exe PATH=C:\dmdbms\data DB_NAME=DAMENG INSTANCE_NAME=DMSERVER
-- 数据库全库备份,并包含日志 dmrestore ini_path=C:\xcl\dm.ini file=C:\xcl\online\dmbkname04.bak
SQL>select * from test_sch.t1; 行号 ID NAME ---------- ----------- ---------------- 1 1 aaa 2 2 bbb 3 3 dmbkname03_noarc 已用时间: 62.508(毫秒). 执行号:3.
五.总结
达梦数据库的文档中并没有说明,dmrestore命令即能恢复脱机备份,也能恢复联机备份。导致我在执行backup命令后,
误以为要有resotre恢复。但数据库被破坏后,又没法进disql执行restore.后测试才知,dmrestore命令通杀脱机和联机两种恢复方式。
从上面的测试可看出,基本上达梦的备份流程就是发命令,生成备份文件,并同时备份dm.ini。有些情况下还要备份归档日志。
然后恢复是用dminit重新初始化一个库再用dmrestore恢复。 在达梦数据库中dm.ini非常重要,备份时一定要记得把这个也一同备份。
MAIL: xcl_168@aliyun.com
BLOG: http://blog.csdn.net/xcl168

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

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.

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.

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é

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.

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

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.

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.

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())
