九、数据库的备份还原
创始人
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';

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

相关内容

热门资讯

保存时出现了1个错误,导致这篇... 当保存文章时出现错误时,可以通过以下步骤解决问题:查看错误信息:查看错误提示信息可以帮助我们了解具体...
汇川伺服电机位置控制模式参数配... 1. 基本控制参数设置 1)设置位置控制模式   2)绝对值位置线性模...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
表格中数据未显示 当表格中的数据未显示时,可能是由于以下几个原因导致的:HTML代码问题:检查表格的HTML代码是否正...
本地主机上的图像未显示 问题描述:在本地主机上显示图像时,图像未能正常显示。解决方法:以下是一些可能的解决方法,具体取决于问...
表格列调整大小出现问题 问题描述:表格列调整大小出现问题,无法正常调整列宽。解决方法:检查表格的布局方式是否正确。确保表格使...
不一致的条件格式 要解决不一致的条件格式问题,可以按照以下步骤进行:确定条件格式的规则:首先,需要明确条件格式的规则是...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...