1、防止误操作
2、软件硬件故障
3、防止天灾人祸
备份方式:物理备份,逻辑备份
物理备份还原是对数据库的操作系统物理文件(如数据文件、控制文件和日志文件等)的备份还原。
达梦数据库中,物理备份分为脱机备份(冷备)和联机备份(热备)两种备份方式。其中脱机备份可通过console控制台工具和DMRMAN命令行的方式进行备份,联机备份可通过达梦管理工具和使用SQL命令的方式进行备份。
打开管理工具后,右键数据库实例,选择管理服务器,然后点击“系统管理”,选择“配置”后点击“转换”,成功后点击“确定”
选择“归档配置”,选择“归档目标”后,点击“归档”,然后“确定”。
#打开DIsql
#修改数据库状态为MOUNT
SQL> alter database mount;
#配置本地归档
SQL> alter database add archivelog 'type=local,dest=/home/dmdba/dmdbms/arch,file_size=64,space_limit=0';
#开启归档模式
SQL> alter database archivelog;
#修改数据库为OPEN状态
SQL> alter database open;
vi dmarch.ini
ARCH_TYPE = LOCAL #本地归档类型
ARCH_DEST = /home/dmdba/dmdbms/data/DAMENG/arch #本地归档文件存放路径
ARCH_FILE_SIZE = 128 #单位 Mb,本地单个归档文件最大值
ARCH_SPACE_LIMIT = 0 #单位 Mb,0 表示无限制,范围 1024~4294967294M
vi dm.ini
脱机备份发生在数据库已经正常关闭的情况下,这种情况会提供给我们一个完整的数据库,将关键性文件拷贝到另外位置的一个说法。如果可能的话(主要看效率),将信息备份到磁盘上,然后启动数据库(不耽误用户工作)同时将所备份的信息拷贝到磁盘上(拷贝时数据库可以工作)。为保证备份文件的数据完整性,必须确保数据库是正常关闭的,数据库服务也要停止。
脱机备份的优点:
脱机备份的缺点:
脱机备份必须拷贝的文件:
#备份前一定要关闭要备份的数据库实例,停止该实例服务。
#打开console控制台工具
INI 文件路径:必填,待备份目标数据库 dm.ini 文件路径。
备份类型:完全备份和增量备份。数据库克隆是完全备份的一个选项,表示进行数据库备份时,仅拷贝所有的元数据不拷贝数据。默认选完全备份,在已经存在完全备份的情况下,可以选择增量备份。
点击确定,等待备份成功。
打开console控制台工具,选择还原。
备份集目录:指定用于还原目标数据库的备份集目录。若指定为相对路径,会在基备份集搜索目录下搜索备份集。
INI 文件路径:指定还原库目标的 dm.ini 文件路径。此时,还可以使用备份集 dm.ini的参数,表示会将备份集中备份的 dm.ini 参数(除路径相关的 INI 参数外),拷贝到当前dm.ini 上,取而代之。
点击确定,等待还原成功。
数据库还原后,一定要进行更新DA_Magic(表空间等还原不需要)
备份:
#保证数据库处于脱机状态 ,在bin目录下启动dmservice
#进入dmrman所在路径,启动程序
cd /home/dmdba/dmdbms/bin
./dmrman
#在dmrman中输入以下命令进行全库备份,然后备份到/home/dmdba/dmdbms/bak:
backup database '/home/dmdba/dmdbms/data/DAMENG/dm.ini' backupset '/home/dmdba/dmdbms/bak'
#需要的情况下可进行增量备份
backup database '/home/dmdba/dmdbms/data/DAMENG/dm.ini' increment base on backupset'基备份集目录' to "备份名称" backupset '备份集目录';
还原:
#校验备份
check backupset '/home/dmdba/dmdbms/bak';
#还原数据库
restore database '/home/dmdba/dmdbms/data/DAMENG/dm.ini' from backupset '/home/dmdba/dmdbms/bak';
#恢复数据库
recover database '/home/dmdba/dmdbms/data/DAMENG/dm.ini' from backupset '/home/dmdba/dmdbms/bak';
#更新magic
recover database '/home/dmdba/dmdbms/data/DAMENG/dm.ini' update db_magic;
联机备份是在数据库运行的情况下,在archivelog方式下操作,联机备份只能在数据库不适用或使用率低的情况下进行,且需要大量的档案空间。
联机备份的优点:
联机备份的缺点:
备份:
#配置本地归档2.1章节
#在数据库实例的备份选项中,右键“库备份”,选择相关选项,点击确定。
还原:
库备份和表空间不支持联机还原,只有表备份支持联机还原。表还原过程中表空间中其他的表还可以正常操作。
#表还原。
备份:
#打开DIsql
#修改数据库状态为mount
SQL> alter database mount;
#配置本地归档属性
SQL> alter database add archivelog 'dest = /home/dmdba/dmdbms/data/DAMENG/arch,type=local,file_size=64,space_limit=0';
#开启归档模式
SQL> alter database archivelog;
#修改数据库状态为open
SQL> alter database open;
#进行联机库备份
SQL> backup database backupset '/home/dmdba/dmdbms/data/DAMENG/db_bak_01';
还原:只有表支持联机还原
#还原表
SQL>restore table tt from backupset '/home/dmdba/dmdbms/data/DAMENG/tab_bak_01’;
达梦数据库中,逻辑备份还原是对数据库逻辑组件(如表、视图和存储过程等数据库对象)的备份还原。
逻辑导出(dexp)和逻辑导入(dimp)是 DM 数据库的两个命令行工具,分别用来实现对 DM 数据库的逻辑备份和逻辑还原。逻辑备份和逻辑还原都是在联机方式下完成,联机方式是指数据库服务器正常运行过程中进行的备份和还原。
逻辑备份分为四个级别:数据库级、用户级、模式级、表级。
dexp 工具可以对本地或者远程数据库进行数据库级、用户级、模式级和表级的逻辑备
份。
以下导出库:环境为linux,服务器为192.168.109.22,端口号为5236,用户名和密码均为SYSDBA。
./dexp SYSDBA/[email protected]:5236 file=dexp01.dmp log=dexp01.log directory=/home/dmdba/dmdbms/data/dexp full=y
./dexp SYSDBA/[email protected]:5236 file=dexp_user.dmp log=dexp_user.log owner=ttt directory=/home/dmdba/dmdbms/data/dexp_user
./dexp SYSDBA/[email protected]:5236 file=dexp_sch.dmp log=dexp_sch.log schemas=ttt directory=/ home/dmdba/dmdbms/data/dexp_sch
./dexp SYSDBA/[email protected]:5236 file=dexp_tab.dmp log=dexp_tab.log tables=ttt1 directory=/home/dmdba/dmdbms/data/dexp_tab
dimp工具可以对本地或者远程数据库进行数据库级、用户级、模式级和表级的逻辑还原。
以下导入库:环境为linux,服务器为192.168.109.22,端口号为5237,用户名和密码均为SYSDBA。
./dimp SYSDBA/[email protected]:5237 file=/home/dmdba/dmdbms/data/dexp/ dexp01.dmp log=dimp01.log directory=/ home/dmdba/dmdbms/data/dimp schemas=SYSDBA,,OTHER
./dimp SYSDBA/[email protected]:5237 file=/home/dmdba/dmdbms/data/dexp_user/ dexp_user.dmp log=dimp_user.log owner=ttt directory=/ home/dmdba/dmdbms/data/dimp_user
./dimp SYSDBA/[email protected]:5237 file=/home/dmdba/dmdbms/data/dexp_sch/ dexp_sch.dmp log=dimp_sch.log schemas=ttt directory=/ home/dmdba/dmdbms/data/dimp_sch
./dimp SYSDBA/[email protected]:5237 file=/home/dmdba/dmdbms/data/dexp_tab/ dexp_tap.dmp log=dimp_tap.log tables=ttt1 directory=/home/dmdba/dmdbms/data/dimp_tab