一、参数配置
数据库管理员需要在归档模式下备份数据库,而数据库归档模式默认是关闭的,可以通过以下方式打开。
在达梦数据库DM7的安装目录下,如:C:\dmdbms\data\DAMENG目录下,找到dm.ini文件,打开此文件,找到参数:
BAK_PATH = C:\dmdbms\data\DAMENG #backup file path(指定自动备份目录,修改此目录,防止用户误删除数据库系统文件)
注意:备份目录,必须存在,如果不存在需要手动创建。
ARCH_INI = 0 #dmarch.ini(这里的值改成1)
修改完毕,保存并关闭文件。
在C:\dmdbms\data\DAMENG目录下,找到dmarch.ini文件,打开此文件,添加如下内容:
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = C:\dmdbms\data\arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
其中,ARCH_DEST目录如果不存在,请手动创建,dmdbms\data为数据库安装的目录。修改完毕,保存并关闭文件。
修改完成后,重启数据库服务。
二、数据库备份
在开始菜单中选择“DM管理工具”,单击鼠标左键,打开“DM管理工具”。
使用SYSDBA登录,
在查询分析器中输入脚本:
backup database full to full_back bakfile 'd:\database_full.bak';
运行脚本,执行备份操作。
三、数据库定期自动备份
以用户SYSDBA登录数据库,详细操作请参见数据库备份。在查询分析器中输入脚本,运行脚本:
create or replace procedure p_bak as
str varchar(500);
begin
str = 'backup database full to bak_' || to_char(now(), 'yyyymmddhh24miss') ||
' bakfile ''db_dameng7_' || to_char(now(), 'yyyymmddhh24miss') || '.bak'' ' ||
' maxsize 2048 ';
execute immediate str;
end;
注意:以上存储过程是对整个数据库进行备份,在创建作业时,需要调用此存储过程,如果任何一个库数据量特别大,不建议使用此方法。
定期自动备份,需要创建作业,其步骤如下:在“对象导航”树中选择“代理”节点,单击鼠标右键,选择“创建代理环境”,单击鼠标左键创建代理环境。
在“代理”节点下选择“作业”,单击鼠标右键,选择“新建作业”,单击鼠标左键进入“新建作业”界面。
在“选择项”中选择“常规”,输入作业名,例如:db_backup。
在“选择项”中选择“作业步骤”,点击“添加”按钮,进入“新建作业步骤”界面。
在“选择项”中选择“常规”,输入步骤名称,例如:job_backup;步骤类型选择“SQL脚本”;在脚本语句中输入:call P_BAK(); “高级”选项按照系统默认设置,点击“确定”按钮保存作业步骤。
在“选择项”中选择“作业调度”,点击“新建”按钮,进入“新建作业调度”界面。
在“选择项”中选择“常规”,输入名称,例如:attemper_backup;调度类型选择“反复执行”;设置发生频率,点击“确定”按钮保存作业调度。点击“新建作业”界面的“确定”按钮,保存作业。
四、数据库还原
将数据库备份.bak文件拷贝至磁盘的根目录下,停止DM数据库的服务。
在开始菜单中,点击“运行”,输入命令“cmd”,进入命令行界面。
通过命令行进入DM数据库所在的安装目录,使用dmdbms\bin目录下的dmrestore.exe工具还原演示数据库;输入如下命令:c:\dmdbms7\bin>dmrestore.exe ini_path=c:\dmdbms7\data\DAMENG\dm.ini file=c:\database_full.bak,然后回车执行命令。 INI_PATH为 配置文件路径,最大长度为256字节;FILE 为用于恢复的备份文件完整路径,路径过长导致数据库还原失败,建议路径为磁盘根目录。
输入y,回车,继续执行还原命令。
出现如下提示,则表示数据库还原成功,否则失败。然后,启动DM数据库的服务。