DM 逻辑备份和DMRMAN 工具进行脱机备份

dexp和dimp使用
逻辑导出和逻辑导入数据库对象分为四种级别:数据库级、用户级、模式级和表级。四 种级别独立互斥,不能同时存在。四种级别所提供的功能:
 数据库级(FULL):导出或导入整个数据库中的所有对象。 
用户级(OWNER):导出或导入一个或多个用户所拥有的所有对象。 
模式级(SCHEMAS):导出或导入一个或多个模式下的所有对象。
 表级(TABLES):导出或导入一个或多个指定的表或表分区

逻辑备份
逻辑备份是指利用 dexp 导出工具,将指定对象(库级、模式级、表级)的数据导出到
文件的备份方式。逻辑备份针对的是数据内容,并不关心这些数据物理存储在什么位置。

逻辑还原
逻辑还原是逻辑备份的逆过程,逻辑还原就是使用 dimp 工具,把 dexp 导出的备份数
据重新导入到目标数据库。

使用dexp
dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log FULL=Y

USERID 用于指定数据库的连接信息。必选参数。
FILE 用于明确指定导出的文件(可以包含路径),可以包含多个文件,用逗号分隔。
LOG 用于明确指定导出的日志文件名称(可以包含路径),可以包含多个文件,用逗号分 隔。
LOG 用于明确指定导出的日志文件名称(可以包含路径),可以包含多个文件,用逗号分 隔。

文件也可以在生成过程中自动扩展成多个。首先,文件名需要包含通配符%U,用于作为自动 扩充文件的文件名模板。%U 表示为 2 个字符宽度的数字,由系统自动生成,起始为 01。其 次,使用 FILESIZE 参数来指定文件的大小。

FUZZY_MATCH 用于指定 TABLES 选项是否支持模糊匹配。可选参数,缺省为 N。

FILE 和 LOG 中指定的路径,优先级高于 DIRECTORY 中指定的路径。 当 FILE 和 LOG 不指定路径时,才使用 DIRECTORY 指定的路径。 如果都没有指定路径,则使用系统当前路径

QUERY 用于指定过滤条件来对表数据进行导出

PARALLEL 用于指定导出的过程中所使用的线程数目。可选参数,缺省为单线程。如果 CPU 核心数为 N 的话,那一般来说 PARALLEL 为 N 或者 N+1 最合适。

TABLE_PARALLEL 用于指定导出每张表所使用的线程数。可选参数,缺省为单线程。 如果 CPU 核数为 N 的话,那一般来说 TABLE_PARALLEL 为 N 或者 N+1 最合适。在 MPP 模 式下会转换成单线程

针对数据库对象,有 FULL、OWNER、SCHEMAS、TABLES 四种导出方式可供选择。一 次导出只能指定一种方式。可选参数,缺省为 SCHEMAS。

TABLES 方式导出和导入一个或多个指定的表或表分区。导出所有数据行、约束、索引 等信息。

其实log和file写绝对路径时,DIRECTORY可以不写

准备工作
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

创建模式SYSDBA2属于SYSDBA2,创建角色 AAA,分别建立以下表

导出
1.FULL 导出
dexp USERID=SYSDBA/SYSDBA@127.0.0.1:5236 FILE=C:\Users\47390\Desktop\导出1\db_str.dmp LOG=C:\Users\47390\Desktop\导出1\db_str.log
在这里插入图片描述

dexp USERID=SYSDBA/SYSDBA@127.0.0.1:5236 FILE=C:\Users\47390\Desktop\导出1\db_str.dmp LOG=C:\Users\47390\Desktop\导出1\db_str.log FULL=Y
DIRECTORY=C:\Users\47390\Desktop\导出1
在这里插入图片描述

再次导出时会提示是否覆盖先前导出文件

2.OWNER导出
dexp USERID=SYSDBA/SYSDBA@127.0.0.1:5236 FILE=C:\Users\47390\Desktop\导出2\db_str.dmp LOG=C:\Users\47390\Desktop\导出2\db_str.log OWNER=SYSDBA
DIRECTORY=C:\Users\47390\Desktop\导出2

在这里插入图片描述

3.SCHEMAS导出
dexp USERID=SYSDBA/SYSDBA@127.0.0.1:5236 FILE=C:\Users\47390\Desktop\导出3\db_str.dmp
LOG=C:\Users\47390\Desktop\导出3\db_str.log
SCHEMAS=SYSDBA2 DIRECTORY=C:\Users\47390\Desktop\导出3

在这里插入图片描述

4.TABLES导出

dexp USERID=SYSDBA/SYSDBA@127.0.0.1:5236 FILE=C:\Users\47390\Desktop\导出4\db_str.dmp
LOG=C:\Users\47390\Desktop\导出4\db_str.log TABLES=AAA1 DIRECTORY=C:\Users\47390\Desktop\导出4
在这里插入图片描述

清空数据库表

1.Full导入
dimp USERID=SYSDBA/SYSDBA FILE=C:\Users\47390\Desktop\导出1\db_str.dmp LOG=C:\Users\47390\Desktop\导出1\db_str.log full=Y DIRECTORY=C:\Users\47390\Desktop\导出1
在这里插入图片描述

导入成功,删除的表重新创建

2.OWNER导入
dimp USERID=SYSDBA/SYSDBA@127.0.0.1:5236 FILE=C:\Users\47390\Desktop\导出2\db_str.dmp LOG=C:\Users\47390\Desktop\导出2\db_str.log
OWNER=SYSDBA DIRECTORY=C:\Users\47390\Desktop\导出2 DIRECTORY=C:\Users\47390\Desktop\导出2

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

在这里插入图片描述

属于SYSDBA的表创建

3.dimp USERID=SYSDBA/SYSDBA@127.0.0.1:5236 FILE=C:\Users\47390\Desktop\导出3\db_str.dmp
LOG=C:\Users\47390\Desktop\导出3\db_str.log
SCHEMAS=SYSDBA.SYSDBA2 DIRECTORY=C:\Users\47390\Desktop\导出3

在这里插入图片描述

这里报错是因为SCHEMAS不同
dimp USERID=SYSDBA/SYSDBA@127.0.0.1:5236 FILE=C:\Users\47390\Desktop\导出3\db_str.dmp
LOG=C:\Users\47390\Desktop\导出3\db_str.log
SCHEMAS=SYSDBA.SYSDBA2 DIRECTORY=C:\Users\47390\Desktop\导出3
应该直接写模式名
在这里插入图片描述

dimp USERID=SYSDBA/SYSDBA@127.0.0.1:5236 FILE=C:\Users\47390\Desktop\导出1\db_str.dmp
LOG=C:\Users\47390\Desktop\导出1\db_str.log TABLES=AAA.AAA1 DIRECTORY=C:\Users\47390\Desktop\导出1
不要选择覆盖,默认为SYSDBA模式下所以要加AAA

在这里插入图片描述

创建表成功
每次导入时会提示是否覆盖log,根据需求选择

Window图形化进行归档

先切换配置模式

在这里插入图片描述

配置归档文件地址

在这里插入图片描述
切换回归档打开状态

在这里插入图片描述

此处注意,处于配置模式并设置好归档配置后确认再修改为打开模式,因为如果直接配置后就打开归档配置语句没有生效

或者运行
ALTER DATABASE MOUNT;配置模式
ALTER DATABASE ADD ARCHIVELOG
‘归档日志地址’, TYPE = local, FILE_SIZE = 1024, SPACE_LIMIT = 2048’;
ALTER DATABASE ARCHIVELOG;开启归档日志
ALTER DATABASE OPEN;打开模式

添加备份
在这里插入图片描述

使用disql或者新建查询进行建表

create table hh(uid int,uname varchar(10));
insert into hh values(1,‘new’);
commit;

alter system switch logfile;
select file_lsn from v$rlog;

此时FILE_LSN号为29291 归档时要用到

在这里插入图片描述

insert into hh values(2,‘test’);
commit;
select file_lsn from v$rlog;

每次操作FILE_LSN号会改变

在这里插入图片描述

启动DM服务查看器关闭服务
在这里插入图片描述

达梦控制台工具和dmrman对库,归档,表空间还原需要关闭服务

在这里插入图片描述

启动DM控制台工具,备份还原,配置指定搜索目录,默认在实例bak目录,
获取备份
在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

或者还原到具体时间

在这里插入图片描述

进行还原操作每次都需要更新DM_Magic

重新启动服务还原到了指定LSN

使用Linux 进行归档
进入dm8 tool目录
./manager启动图形化管理工具
或者
./disql SYSDBA/SYSDBA@127.0.0.1:5237
连接到数据库实例
执行以下操作
ALTER DATABASE MOUNT;配置模式
ALTER DATABASE ADD ARCHIVELOG
‘归档日志地址’, TYPE = local, FILE_SIZE = 1024, SPACE_LIMIT = 2048’;
ALTER DATABASE ARCHIVELOG;开启归档日志
ALTER DATABASE OPEN;打开模式
和使用图形化效果一样,图形化操作时必须先在配置模式下,修改归档或非归档模式,
最后转换为打开模式

backup database full to 全量备份名 backupset ‘全量备份地址’ parallel 并发线程数;

create table hh(uid int,uname varchar(10));
insert into hh values(1,‘new’);
commit;
创建表

alter system switch logfile;
select file_lsn from v r l o g ; 查 看 L S N 1 i n s e r t i n t o h h v a l u e s ( 2 , ′ t e s t ′ ) ; c o m m i t ; s e l e c t f i l e l s n f r o m v rlog; 查看LSN1 insert into hh values(2,'test'); commit; select file_lsn from v rlog;LSN1insertintohhvalues(2,test);commit;selectfilelsnfromvrlog;
查看LSN2

Systemctl stop DmServiceDMSERVER
关闭服务

./dmrman ctlstmt="’dm.ini文件’
from backupset ‘’ 全量备份文件地址"

./dmrman ctlstmt="recover database ‘dm.ini文件’ With archivedir ‘归档文件地址’
UNTIL LSN 归档LSN1 "

UNTIL TIME ‘创建归档文件后的时间’
或者指定时间归档

./dmrman ctlstmt=“recover database ‘ini文件地址’ update db_magic”
每次都需要更新魔数

Systemctl start DmServiceDMSERVER
开启服务

select * from hh ; #此时表中只有一条记录“new”,没有“误操作”加入的“test”值。

使用disql查询
在这里插入图片描述

社区地址:https://eco.dameng.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值