一、达梦数据库(dm8)之 linux环境下的全库备份和完全还原恢复

1. 前景

        数据库在软件程序中是最至关重要的,在突然停电、火灾或者服务器挂掉了等等不可预知的灾难时,数据也丢失了,那么还原数据库必然条件就是“备份”。(使用物理服务器的有条件建议备份数据库的服务器跟生成环境下的数据库服务器不要放在一个服务器上,遇到服务器挡掉就很难找回来了,亲身经历。)

2. 备份类型

2.1 冷备:

需停止服务器的服务,才能进行的备份;

2.2 热备:

不需要停止服务器服务,就可备份;

3.备份前期准备

        我的达梦安装目录为 /dm8目录,存放数据库的文件夹为 /dm8/data目录,备份集存放目录/dm8/backup,存放归档日志路径/dm8/arch,记得这些目录权限都得是dmdba用户的。(文件夹命名看个人习惯)

3.1 创建文件名

用dmdba账号创建文件夹arch和backup,data安装自带

[root@localhost ~]$ su dmdba
[dmdba@localhost ~]$ cd /dm8
[dmdba@localhost dm8]$ mkdir arch
[dmdba@localhost dm8]$ mkdir backup

3.2 部分文件夹解释

bin:主要通过命令行的方式执行的各类文件

tool:主要存放视图工具

4. 备份操作

4.1 冷备

注意:如果图形化打不开请执行以下命令,且需要启动DmAP服务。

[root@localhost mnt]# xhost + 
access control disabled, clients can connect from any host
[root@localhost mnt]# echo $DISPLAY
:0.0
[root@localhost mnt]# su - dmdba
[dmdba@localhost ~]$ export DISPLAY=:0.0   //这里“=”后面的值为上条命令查询的值
[dmdba@localhost ~]$ xhost +
access control disabled, clients can connect from any host
[dmdba@localhost ~]$ cd /dm8/bin
[dmdba@localhost bin]$ ./DmAPService status  //查看达梦ap服务是否开启
DmAPService (pid 9717) is running.  //如果未启动请执行 ./DmAPService start

(1) 冷备前需要停止数据库服务,且需开启DmAP服务:

[root@localhost ~]$ su dmdba
[root@localhost ~]$ cd /dm8/bin
[dmdba@localhost bin]$ ./DmServiceDMSERVER status  // DmService+DMSERVER(你数据库的实例名)+status:查看状态;start:启动;stop:停止;restart:重启
DmAPService (pid 9717) is running.     //说明启动中
[dmdba@localhost bin]$ ./DmServiceDMSERVER stop

(2)执行冷备

[dmdba@localhost ~]$ cd /dm8/bin  
[dmdba@localhost bin]$ ./dmrman 

RMAN> backup database '/dm8/data/DAMENG/dm.ini' backupset '/dm8/backup';  //备份到指定的目录
RMAN> exit

5. 热备

(1)启动数据库服务,DmAp服务也必须是启动着的。

[root@localhost ~]$ su dmdba
[root@localhost ~]$ cd /dm8/bin
[dmdba@localhost bin]$ ./DmServiceDMSERVER start  //启动数据库服务
Starting DmServiceDMSERVER:              [ok]

(2)开启归档模式

[dmdba@localhost bin]$ ./disql sysdba/你的数据库密码@LOCALHOST:5236 //连接本地端口为5236的数据库

disql V8

SQL> alter database mount;  //数据库设为配置状态
SQL> alter database add archivelog 'type=local,dest=/dm8/arch,file_size=80,space_limit=0';
SQL> alter database archivelog;
SQL> alter database open; //数据库设为打开状态
SQL> exit

(3)执行热备,如果执行下面报错为“归档日志不连续”的话,请重新启动数据库服务,再执行以下操作。

[dmdba@localhost bin]$ ./disql sysdba/你的数据库密码@LOCALHOST:5236 //连接本地端口为5236的数据库
SQL> backup database full backupset '/dm8/backup/full2';    //备份到指定路径full2为备份文件名
SQL> exit

6. 还原恢复

注意:需执行四步方可达到完全恢复的效果。检查-->还原-->恢复-->更新

(1)停掉数据库服务

[dmdba@localhost ~]$ cd /dm8/bin
[dmdba@localhost bin]$ ./DmServiceDMSERVER stop  //关闭服务

(2)检查备份集是否可以使用。

[dmdba@localhost bin]$ ./dmrman 
dmrman V8
RMAN> check backupset '/dm8/backup';  //检验备份集是否可用
check backupset successfully. time used: 46.671(ms)  //successfully可正常使用

(3)还原、恢复、更新(一步都不能少,否则启动数据库服务的时候会报错)

[dmdba@localhost bin]$ ./dmrman 
dmrman V8

RMAN> restore database '/dm8/data/DAMENG/dm.ini' from backupset '/dm8/backup'; //还原备份集
RMAN> recover database '/dm8/data/DAMENG/dm.ini' with archivedir '/dm8/arch'; //通过归档日志完全恢复
RMAN> recover database '/dm8/data/DAMENG/dm.ini' update db_magic   //更新db_magic

(4)重启数据库服务,这样就完成了数据库的备份还原操作

[dmdba@localhost ~]$ cd /dm8/bin
[dmdba@localhost bin]$ ./DmServiceDMSERVER start  //开启服务
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值