记学习达梦6数据库物理还原

本文详细介绍了达梦6数据库的物理还原过程,包括使用SQL语句和达梦客户端进行还原,以及如何处理数据库在脱机时遇到的对象占用问题。在还原前需确保目的数据库参数与原始数据库一致,并关闭所有连接。

达梦6数据库备份还原(物理还原)

一、 物理还原
数据库物理还原,即使用物理备份BAK文件还原数据库,还原到的目的数据库的建库参数要和原始数据库一致,包括页大小、簇大小、大小写敏感。
还原数据库时,要求当前对该数据库没有连接访问,可以通过关闭所有应用,或者修改达梦的端口号来实现,具体参见1.3节。

1.1 使用SQL语句还原

  1. 以系统管理员用户登录数据库./isqlSYSDBA/SYSDBA@127.0.0.1@符号后为数据库的IP地址。
  2. 脱机所要还原的数据库SQL>ALTER DATABASE [数据库名] SET OFFLINE; 例:ALTER DATABASE EMS SET OFFLINE; 如果报错当前对象被占用,按照1.3中的方法确认数据库是否有连接访问。
  3. 还原数据库SQL>RESTORE DATABASE [数据库名] FULL FROM ‘备份文件绝对路径’; 例:RESTORE DATABASE EMS FULL FROM ‘/dbdata/dmdata/EMS_BAK1.bak’;
  4. 数据库联机SQL>ALTER DATABASE [数据库名] SET ONLINE;

1.2 使用达梦客户端还原

使用客户端进行还原,同样使用上面的方式进行还原,只是操作简单。

  1. 以SYSDBA登录到数据库后,脱机要还原的数据库。
    在这里插入图片描述
    成功脱机会弹出提示信息,如果报错“当前对象被占用”,按照1.3中的方法确认数据库是否有连接访问。

  2. 还原数据库
    在这里插入图片描述

  3. 选择备份文件

在这里插入图片描述
在这里插入图片描述

  1. 还原完成后会给出提示信息在这里插入图片描述

  2. 进行数据库联机在这里插入图片描述

1.3 清除数据库访问
当数据库在脱机时,如果报错“当前对象被占用”,说明当前数据库连接中存在联机正在访问所要还原的数据库,通过以下方式查找相关数据库连接:
isql登录数据库:
./isqlSYSDBA/SYSDBA@127.0.0.1
执行查询:
select * from v$session;
该查询会返回当前数据库中的连接信息,包含登录用户、登录的IP地址等信息,通过这些信息可以先关闭相应的连接再进行数据库脱机操作。
在某些情况下,可能不方便关闭所有的连接,此时我们可以通过修改数据库的访问端口号来拒绝应用对数据库的访问。修改达梦安装目录下bin/dm.ini文件,其中的PORT_NUM为数据库端口号,修改为其他值即可,如22345,重启数据库后参数生效。但是需要注意,此时访问数据库的端口后也要使用修改后的值,例如,使用isql登录数据库命令如下:
./isqlSYSDBA/SYSDBA@127.0.0.1:22345

### 达梦数据库的数据还原方法 #### 1. 数据还原概述 数据还原是备份的逆过程,主要分为 **数据还原** 和 **数据恢复** 两个阶段。数据还原的目标是将目标数据库恢复到备份结束时刻的状态,而数据恢复则通过重做日志 (REDO Log),使数据库达到一致性状态[^2]。 --- #### 2. 使用 `dmrman` 工具进行数据还原 `dmrman` 是达梦数据库提供的专门用于备份和还原的操作工具,位于数据库安装目录下的 `bin` 文件夹中。以下是具体的还原步骤: ##### (1)基本语法 ```bash RESTORE DATABASE '<database_ini_path>' FROM BACKUPSET '<backupset_path>'; ``` - `<database_ini_path>`:指明需要还原数据库配置文件路径(通常是 `.ini` 文件)。 - `<backupset_path>`:指定备份集所在的路径。 例如: ```bash ./dmrman RESTORE DATABASE '/data/DAMENG/dm.ini' FROM BACKUPSET 'ddl_bak'; ``` 此命令的作用是从名为 `'ddl_bak'` 的备份集中恢复 `/data/DAMENG/dm.ini` 对应的数据库[^1]。 --- ##### (2)应用归档日志并更新数据库魔数 如果需要进一步恢复至某一特定时间点,则需执行以下操作: ```bash RECOVER DATABASE '<database_ini_path>' FROM BACKUPSET '<backupset_path>'; RECOVER DATABASE '<database_ini_path>' UPDATE DB_MAGIC; ``` 例如: ```bash RECOVER DATABASE '/data/DAMENG/dm.ini' FROM BACKUPSET 'ddl_bak'; RECOVER DATABASE '/data/DAMENG/dm.ini' UPDATE DB_MAGIC; ``` 这些命令分别表示基于归档日志的应用以及更新数据库的校验码[^1]。 --- #### 3. 物理还原的特点与适用场景 物理还原是指直接从备份集中读取数据内容,并将其写回到目标文件的过程。其特点如下: - **完整性恢复**:可完全恢复数据库至备份时刻的状态。 - **快速恢复**:因直接对文件操作,效率较高。 - **支持全量与增量**:既可以选择完整的备份集,也可以选择增量部分进行恢复[^3]。 适用于以下情况: - 当前数据库已损坏或丢失。 - 需要迅速恢复至某一时段的具体状态。 --- #### 4. 脱机还原 vs 联机还原 根据数据库运行状态的不同,还原可分为两种形式: ##### (1)脱机还原(冷备) 脱机还原发生在数据库关闭的情况下,确保无任何用户连接或事务正在进行。具体流程包括: 1. 停止对应数据库的服务; 2. 获取备份数据; 3. 使用控制台或其他工具完成还原操作。 优点在于简单可靠;缺点是对业务中断有一定影响。 ##### (2)联机还原(热备) 联机还原允许在数据库保持在线的同时进行操作。前提条件包括: - 开启相关服务 (`DmAPService`); - 设置归档模式以录必要的变更信息。 实现方式同样依赖于 `dmrman` 或其他管理工具。相比脱机还原,这种方式更适合高可用性和持续运营需求较高的环境。 --- #### 5. 注意事项 - 在执行还原之前,请确认备份文件的有效性及完整性。 - 如果涉及跨版本还原,务必验证源端与目标端之间的兼容性。 - 定期测试备份策略及其效果,以防紧急情况下无法正常使用。 --- 相关问题
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值