九、数据库的备份还原
创始人
2024-04-10 18:32:07
0

九、数据库的备份还原

1、归档管理

使用DM Manager:

  1. 点击注册的实例连接->右键->管理服务器在这里插入图片描述

  2. 点击系统管理->点击配置->点击转换在这里插入图片描述

  3. 点击归档配置->归档在这里插入图片描述

使用DISQL:

#创建文件夹存放日志文件
mkdir /dm/dmarch#登录disql
disql
SYSDBA
SYSDBA#切换为配置
alter database mount;#添加文件
alter database add archivelog 'DEST=/dm/dmarch,TYPE=local,FILE_SIZE=128,space_limit=0';#修改为归档模式,会自动将日志写入上述文件
alter database archivelog;#修改为open状态
alter database open;#查看归档信息
select arch_mode from v$database;
select * from v$dm_arch_ini;#退出disql
exit;#查看是否以生成文件
cd /dm/dmarch/
ls#查看日志的配置文件
cd /dm/dmdbma/data/DAMENG/dmarch.ini

在这里插入图片描述


在这里插入图片描述


2、逻辑备份与还原

逻辑备份与还原就是导出文件和导入文件:

下面演示创建一个用户,再使用此用户在此用户模式下建表,然后导出,再将此用户下的表删除,再导入,看看是否成功

逻辑备份分为:数据库级别、用户级别、模式级别、表级别

#全局导入与导出
#操作1
#登录disql
disql
SYSDBA
SYSDBA#创建用户dexp 密码为dexp123dexp123
create user dexp identified by dexp123dexp123;
#授予权限
grant resource,dba to dexp;
#退出disql / 切换用户
exit
conn dexp/dexp123dexp123#使用dexp用户登录disql
disql
dexp
dexp123dexp123#创建一张表
create table dexp as select * from sysobjects;
#查看表数据
select count(1) from dexp;#操作2
#开始备份 导出文件到/dm/dmbak
dexp SYSDBA/SYSDBA file=full01.dmp log=full01.log directory=/dm/dmbak full=y;
#用户的导入与导出
dexp SYSDBA/SYSDBA file=user01.dmp log=user01.log directory=/dm/dmbak owner=dexp;
#数据库级别、用户级别、模式级别、表级别,多个用逗号(,)间隔
full=y
owner=用户名(这里是dexp)
schemas=模式名(这里是dexp)
tables=表名(这里是dexp)#删除dexp用户下的dexp表
drop table dexp;#操作3恢复刚才备份的文件(replace可加可不加,是具体情况而定)
#全局级别的恢复
dimp SYSDBA/SYSDBA file=full01.dmp log=full02.log directory=/dm/dmbak full=y table_exists_action=replace 
#用户级别的恢复
dimp SYSDBA/SYSDBA file=user01.dmp log=user02.log directory=/dm/dmbak owner=dexp table_exists_action=replace
#恢复到指定用户
dimp SYSDBA/SYSDBA file=user01.dmp log=user02.log directory=/dm/dmbak owner=dexp remap_schema=DEXP:DIMP;#查看表数据
select count(1) from dexp;
  1. 操作1在这里插入图片描述

  2. 操作2在这里插入图片描述
    —————————————————————————————————————————————————————————–在这里插入图片描述

  3. 在这里插入图片描述
    ——————————————————————————————————————————————————————————在这里插入图片描述

3、联机备份与还原

联机备份在数据库级别只支持备份操作,不支持还原,数据库级别的还原必须在脱机进行。

默认的备份路径为dm.ini中BAK_PATH参数配置的路径,若未配置,则使用SYSTEM_PATH下的bak目录。

全备:full参数可以省略,不指定备份类型默认为完全备份

backup database backupset '/dm/dmbak/full01';  

在这里插入图片描述


在这里插入图片描述

增量备份:

backup database increment with backupdir 'dm/dmbak/full01' backupset '/dm/dmbak/full01/inc_back';

在这里插入图片描述


在这里插入图片描述

表的备份和还原:

#创建测试表
create table dmbak as select * from sysobjects;#查看数据
select count(1) from dmbak;#备份表
backup table dmbak backupset '/dm/dmbak/dmbak';#删除表数据
delete from dmbak;
commint;#查看数据
select count(1) from dmbak;#还原表(这里还原表是表必须存在,不支持drop的恢复)
restore table dmbak from backupset '/dm/dmbak/dmbak';#查看数据
select count(1) from dmbak;#如果表示有索引和约束则是另一种写法
#创建测试表
create table dmbak2 as select * from sysobjects;
#创建索引
create index idx_dmbak2_id on dmbak2(id);#查看数据
select count(1) from dmbak2;#备份表
backup table dmbak2 backupset '/dm/dmbak/dmbak2';#删除表数据
delete from dmbak2;
commint;#查看数据
select count(1) from dmbak2;#还原表(这里还原表是表必须存在,不支持drop的恢复)
#还原表结构
restore table dmbak2 struct from backupset '/dm/dmbak/dmbak2';
#还原表数据
restore table dmbak2 from backupset '/dm/dmbak/dmbak2';#查看数据
select count(1) from dmbak2;

在这里插入图片描述


在这里插入图片描述

表空间的备份和还原(DM8不支持):

#备份表空间
backup tablespace main backupset '/dm/dmbak/ts_full_bak_01';#校验表空间备份
select sf_bakset_check('disk','/dm/dmbak/ts_full_bak_01');#修改表空间状态为脱机
alter tablespace main offline;#还原表空间
restore table main from backupset '/dm/dmbak/ts_full_bak_01';#修改表空间状态为联机
alter tablespace main online;

在这里插入图片描述

4、脱机备份与还原

**数据库的备份与还原:**使用dmrman完成脱机备份不同于disql,disql知道是哪个用户登录的,但是dmrman完成脱机备份的,要求数据库处于脱机状态,dmrman并不知道所要备份的是那个数据库实例,所以需要指定数据库实例对应的配置文件,从而确定是要哪个数据库实例完成脱机备份

#1.停止服务
systemctl stop DmServiceDave.service#2.执行环境,必须进入dmrman所在的bin目录执行,否则无法备份
cd /dm/dmdbms/bin/
./dmrman #3.备份
backup database '/dm/dmdbms/data/cndba/dm.ini' full backupset '/dm/dm_bak/db_full_bak_01';
#增量备份
backup database '/dm/dmdbms/data/cndba/dm.ini' increment with backupdir '/dm/dm_bak' backupset '/dm/dm_bak/db_full_bak_02';

在这里插入图片描述
后面的不会了

相关内容

热门资讯

银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...