search
HomeDatabaseMysql Tutorial达梦(4)脱机备份恢复

达梦的脱机备份按理说应当很简单,可事实是消耗了我大把的时间。唉。 国产的软件公司是不是都很缺钱,缺人? 没人更新文档或在论坛上之类做些例子,不做好推广,没人用怎么做得起市场来? 不过唯一值得称道的是他们的客户QQ群还是很给力的。我周日弄的,遇到

达梦的脱机备份按理说应当很简单,可事实是消耗了我大把的时间。唉。 国产的软件公司是不是都很缺钱,缺人?
没人更新文档或在论坛上之类做些例子,不做好推广,没人用怎么做得起市场来?
不过唯一值得称道的是他们的客户QQ群还是很给力的。我周日弄的,遇到问题提了下问题,马上有人回答。

其实达梦脱机备份设计的很简单,在文档>这份pdf档的275页。它举了个例子.
DMBACKUP TYPE=FULL INI_PATH=c:\dmdata\dameng\dm.ini NAME=test

你按它说的步骤,
1.停掉服务,
Windows下: DM服务查看器 -> 停掉对应实例服务就行了
Linux下: 停掉./dmserver 就行了。


2.执行备份
DMBACKUP INI_PATH=C:\dmdbms\data\DAMENG\dm.ini NAME=DMSERVER
第一次可以成功,
但第二次执行就会报错。 你重启服务,再停掉再试,也会一样。
原因是参数"NAME"实际上相当于Oracle RMAN中的备份集名称。达梦数据库把这个当作
一个备份集的唯一标识。所以当你第二次执行时,数据库会认为这个备份名已存在。
而我误认为这个name是数据库名字。
好吧,我承认是我理解有误,但第二个问题就不关我事了。


我尝试用"BAKFILE_PATH"参数,将备份放到指定的一个文件中。
命令如下:
DMBACKUP INI_PATH=C:\dmdbms\data\DAMENG\dm.ini NAME=DMSERVER8 BAKFILE_PATH='c:\dmtest\xcl.bak';


结果老是报"-8018"错误
C:\dmdbms\bin>DMBACKUP INI_PATH=C:\dmdbms\data\DAMENG\dm.ini NAME=DMSERVER8 BAKFILE_PATH='c:\dmtest\xcl.bak';
backup V7.1.2.215-Build(2013.11.08-36626trunc)
Global parameter value of HA_OTHER_INST_PORT is illegal, use max value!
无效的备份路径名, backup error code : -8018
backup time used: 2967.504(ms)


解决方法是:
将NAME参数放在BAKFILE_PATH后面
C:\dmdbms\bin\dmbackup.exe INI_PATH=C:\dmdbms\data\DAMENG\dm.ini BAKFILE_PATH=C:\dmtest\xcl.bak NAME=DMSERVER8
这个问题因为我一直在怀疑BAKFILE_PATH参数是不是输入得不对,尝试了很多种方法。文档和网上也没查到相关的说明。最后还是达梦客户群
的人解答的。据说是因为代码更新很快,定制化也多,做不来过,所以文档更新不即时造成的。虽无语,不过也感觉到国产数据库日子过得不错啊。单子这

么多,据说已卖到国外了。

 

		C:\Users\XCL>C:\dmdbms\bin\dmbackup.exe INI_PATH=C:\dmdbms\data\DAMENG\dm.ini BAKFILE_PATH=C:\dmtest\xcl.bak NAME=DMSERVER8
		backup V7.1.2.215-Build(2013.11.08-36626trunc)
		Global parameter value of HA_OTHER_INST_PORT is illegal, use max value!
		start backup tablespace: SYSTEM.
		start backup file: C:\dmdbms\data\DAMENG\SYSTEM.DBF, pages: 1280
		end backup file: C:\dmdbms\data\DAMENG\SYSTEM.DBF

		end backup tablespace: SYSTEM.

		start backup tablespace: ROLL.
		start backup file: C:\dmdbms\data\DAMENG\ROLL.DBF, pages: 0
		end backup file: C:\dmdbms\data\DAMENG\ROLL.DBF

		end backup tablespace: ROLL.

		start backup tablespace: MAIN.
		start backup file: C:\dmdbms\data\DAMENG\MAIN.DBF, pages: 0
		end backup file: C:\dmdbms\data\DAMENG\MAIN.DBF

		end backup tablespace: MAIN.

		start backup tablespace: BOOKSHOP.
		start backup file: C:\dmdbms\data\DAMENG\BOOKSHOP.DBF, pages: 0
		end backup file: C:\dmdbms\data\DAMENG\BOOKSHOP.DBF

		end backup tablespace: BOOKSHOP.

		backup fun end time used: 1928.889(ms)
		backup successfully!
		backup time used: 3797.014(ms)

		C:\Users\XCL>

恢复

首先看参数:


C:\Users\XCL>C:\dmdbms\bin\dmrestore.exe help
格式: DMRESTORE KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)


例程: DMRESTORE INI_PATH=c:\dm7data\dameng\dm.ini FILE=c:\dm7data\backup\test.bak


必选参数: FILE


关键字 说明(默认)
--------------------------------------------------------------------------------
INI_PATH 服务器的ini文件路径
FILE 备份文件
MAPPED_FIL 当指定res_type为4时,输出备份文件的映射信息到该文件
TIME 恢复到的时间点
ARCHIVE_DIR 备份时的归档目录 格式 (dir1,dir2,dir3,...)
BACKUP_DIR 备份文件存放路径,用于搜索备份文件 格式 (dir1,dir2,dir3,...)
DATAFIL_PATH 恢复时指定文件路径 (id1,path1,id2,path2,id3,path3,...)
MIRROR_PATH 恢复时指定镜像文件路径 (id1,path1,id2,path2,id3,path3,...)
PARALLEL_DIR 并行映射文件所在的完整目录名
RES_TYPE 还原类型(0,1,2,3,4) 0:备份文件还原,1:备份文件显示,2:归档文件还原,3:单步增量还原,4:输出备份映射文件。
END_LSN 还原到指定的LSN
LOG 还原的日志输出文件
HELP 打印帮助信息

然后,发现要保留下面文件,然后运行恢复命令才能恢复出来,否则老是提示少文件,这个和Oracle之类还真不一样。
就是说能删的只有 BOOKSHOP.DBF DAMENG目录 trace目录 arch目录
这有啥用?

删得只剩下这些文件,少一个恢复时都会报错,文档没解释,真不解

 

C:\dmdbms\data\DAMENG>dir
 驱动器 C 中的卷是 OS
 卷的序列号是 C8C0-48C4

 C:\dmdbms\data\DAMENG 的目录

2014/01/07  16:43    <DIR>          .
2014/01/07  16:43    <DIR>          ..
2014/01/07  16:01        67,108,864 DAMENG01.log
2014/01/07  16:01        67,108,864 DAMENG02.log
2014/01/03  10:51             5,632 dm.ctl
2014/01/03  15:02            22,214 dm.ini
2014/01/04  10:48               127 dmarch.ini
2014/01/03  10:50               633 dm_service.prikey
2014/01/07  16:01        10,485,760 SYSTEM.DBF
               7 个文件    144,732,094 字节
               2 个目录 65,555,996,672 可用字节

执行恢复

 

 

C:\dmdbms\data\DAMENG>C:\dmdbms\bin\dmrestore.exe  INI_PATH=C:\dmdbms\data\DAMENG\dm.ini  file=C:\dmtest\dmcold.bak
restore V7.1.2.215-Build(2013.11.08-36626trunc)
Global parameter value of HA_OTHER_INST_PORT is illegal, use max value!

backup DMSERVER10 info:
backup sig:            BA
backup tool version:   12595
backup db name:        DAMENG
backup db magic:       1388717456
backup name:           DMSERVER10
backup type:           full
backup level:          offline
backup range:          database
backup description:
compressed level:      0
rac node:              0
page check:            0
length in char:        0
backup time:           2014-01-07 14:34:20
page size:             8 KB
extent size:           16
case sensitive:        1
log page size:         512 B
unicode flag:          0
data version:          0x70008
sys version:           V7.1.2.215-Build(2013.11.08-36626trunc)
enable policy:         0
parallel type:         0
parallel info len:     0
backup db fil num:     4
archive flag:          1
after backup LSN:      25337

file_seq   file_path                                                size(KB)
1          C:\dmtest\dmcold.bak                                     16384

file_seq   file_path                         mirror_path
1          C:\dmdbms\data\DAMENG\SYSTEM.DBF
2          C:\dmdbms\data\DAMENG\ROLL.DBF
3          C:\dmdbms\data\DAMENG\MAIN.DBF
4          C:\dmdbms\data\DAMENG\BOOKSHOP.DBF

Continue?[Y/N]:y
restore bak_file: C:\dmtest\dmcold.bak ...
start restore database...
start restore file: C:\dmdbms\data\DAMENG\SYSTEM.DBF(SYSTEM), pages: 278
end restore file: C:\dmdbms\data\DAMENG\SYSTEM.DBF(SYSTEM)
start restore file: C:\dmdbms\data\DAMENG\ROLL.DBF(ROLL), pages: 617
end restore file: C:\dmdbms\data\DAMENG\ROLL.DBF(ROLL)
start restore file: C:\dmdbms\data\DAMENG\MAIN.DBF(MAIN), pages: 4
end restore file: C:\dmdbms\data\DAMENG\MAIN.DBF(MAIN)
start restore file: C:\dmdbms\data\DAMENG\BOOKSHOP.DBF(BOOKSHOP), pages: 133
end restore file: C:\dmdbms\data\DAMENG\BOOKSHOP.DBF(BOOKSHOP)
end restore database data files.

restore finished, code = 0!

restore successfully!
restore time used: 3654.514(ms)               
恢复成功后
C:\dmdbms\data\DAMENG>dir
 驱动器 C 中的卷是 OS
 卷的序列号是 C8C0-48C4

 C:\dmdbms\data\DAMENG 的目录

2014/01/07  16:44    <DIR>          .
2014/01/07  16:44    <DIR>          ..
2014/01/07  16:44       157,286,400 BOOKSHOP.DBF
2014/01/07  16:44        67,108,864 DAMENG01.log
2014/01/07  16:44        67,108,864 DAMENG02.log
2014/01/07  16:44             5,632 dm.ctl
2014/01/07  16:44            22,214 dm.ini
2014/01/04  10:48               127 dmarch.ini
2014/01/07  16:44               156 dminst.sys
2014/01/07  16:44             2,131 dmrestore.log
2014/01/07  16:44               633 dm_service.prikey
2014/01/07  16:44       134,217,728 MAIN.DBF
2014/01/07  16:44       134,217,728 ROLL.DBF
2014/01/07  16:44        10,485,760 SYSTEM.DBF
2014/01/07  16:44        10,485,760 TEMP.DBF
              13 个文件    580,941,997 字节
               2 个目录 65,117,458,432 可用字节
Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
How do you handle database upgrades in MySQL?How do you handle database upgrades in MySQL?Apr 30, 2025 am 12:28 AM

The steps for upgrading MySQL database include: 1. Backup the database, 2. Stop the current MySQL service, 3. Install the new version of MySQL, 4. Start the new version of MySQL service, 5. Recover the database. Compatibility issues are required during the upgrade process, and advanced tools such as PerconaToolkit can be used for testing and optimization.

What are the different backup strategies you can use for MySQL?What are the different backup strategies you can use for MySQL?Apr 30, 2025 am 12:28 AM

MySQL backup policies include logical backup, physical backup, incremental backup, replication-based backup, and cloud backup. 1. Logical backup uses mysqldump to export database structure and data, which is suitable for small databases and version migrations. 2. Physical backups are fast and comprehensive by copying data files, but require database consistency. 3. Incremental backup uses binary logging to record changes, which is suitable for large databases. 4. Replication-based backup reduces the impact on the production system by backing up from the server. 5. Cloud backups such as AmazonRDS provide automation solutions, but costs and control need to be considered. When selecting a policy, database size, downtime tolerance, recovery time, and recovery point goals should be considered.

What is MySQL clustering?What is MySQL clustering?Apr 30, 2025 am 12:28 AM

MySQLclusteringenhancesdatabaserobustnessandscalabilitybydistributingdataacrossmultiplenodes.ItusestheNDBenginefordatareplicationandfaulttolerance,ensuringhighavailability.Setupinvolvesconfiguringmanagement,data,andSQLnodes,withcarefulmonitoringandpe

How do you optimize database schema design for performance in MySQL?How do you optimize database schema design for performance in MySQL?Apr 30, 2025 am 12:27 AM

Optimizing database schema design in MySQL can improve performance through the following steps: 1. Index optimization: Create indexes on common query columns, balancing the overhead of query and inserting updates. 2. Table structure optimization: Reduce data redundancy through normalization or anti-normalization and improve access efficiency. 3. Data type selection: Use appropriate data types, such as INT instead of VARCHAR, to reduce storage space. 4. Partitioning and sub-table: For large data volumes, use partitioning and sub-table to disperse data to improve query and maintenance efficiency.

How can you optimize MySQL performance?How can you optimize MySQL performance?Apr 30, 2025 am 12:26 AM

TooptimizeMySQLperformance,followthesesteps:1)Implementproperindexingtospeedupqueries,2)UseEXPLAINtoanalyzeandoptimizequeryperformance,3)Adjustserverconfigurationsettingslikeinnodb_buffer_pool_sizeandmax_connections,4)Usepartitioningforlargetablestoi

How to use MySQL functions for data processing and calculationHow to use MySQL functions for data processing and calculationApr 29, 2025 pm 04:21 PM

MySQL functions can be used for data processing and calculation. 1. Basic usage includes string processing, date calculation and mathematical operations. 2. Advanced usage involves combining multiple functions to implement complex operations. 3. Performance optimization requires avoiding the use of functions in the WHERE clause and using GROUPBY and temporary tables.

An efficient way to batch insert data in MySQLAn efficient way to batch insert data in MySQLApr 29, 2025 pm 04:18 PM

Efficient methods for batch inserting data in MySQL include: 1. Using INSERTINTO...VALUES syntax, 2. Using LOADDATAINFILE command, 3. Using transaction processing, 4. Adjust batch size, 5. Disable indexing, 6. Using INSERTIGNORE or INSERT...ONDUPLICATEKEYUPDATE, these methods can significantly improve database operation efficiency.

Steps to add and delete fields to MySQL tablesSteps to add and delete fields to MySQL tablesApr 29, 2025 pm 04:15 PM

In MySQL, add fields using ALTERTABLEtable_nameADDCOLUMNnew_columnVARCHAR(255)AFTERexisting_column, delete fields using ALTERTABLEtable_nameDROPCOLUMNcolumn_to_drop. When adding fields, you need to specify a location to optimize query performance and data structure; before deleting fields, you need to confirm that the operation is irreversible; modifying table structure using online DDL, backup data, test environment, and low-load time periods is performance optimization and best practice.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor