1、DMRMAN简介
DMRMAN(DM RECOVERY MANEGER)是DM的脱机备份还原管理工具,由它来统一负责库级脱机备份、脱机还原、脱机恢复等相关操作,该工具支持命令行指定参数方式和控制台交互方式执行,降低了用户的操作难度。通过 DMRMAN 工具执行脱机操作过程中,仅会使用通过关键字 DATABASE 指定的目标库的本地归档配置信息,不会对本地归档配置文件中其他类型归档配置信息进行校验。
2、DMRMAN概述
DMRMAN 是 DM 提供的命令行工具,无需额外地安装。
- 1.源库
源库是待备份的数据库。使用 DMRMAN 工具只可对数据库进行脱机备份,联机备份需要通过 DIsql 工具实现。DMRMAN 可以针对整个数据库执行脱机完全备份和增量备份,数据库可以配置归档也可以不配置。 - 2.目标库
目标库是待还原的数据库,即是用来做还原的库,也称为目标还原库。目标库可以是通过 dm.ini 文件指定的数据库,也可以是目标文件目录。通过 dm.ini 指定库时,dm.ini及其配置中的 CTL_PATH 必须有效,且库必须处于关闭状态;指定文件目录时,指定目录作为 SYSTEM_PATH 处理,可以存在,也可以不存在,但必须有效。目前目标库的还原仅支持脱机还原,可通过 DMRMAN 和 CONSOLE 工具实现。 - 3.DMRMAN 客户端
DMRMAN 客户端是 DM 软件的一部分,用来执行目标数据库的备份和恢复操作。DMRMAN客户端是一个命令行工具。 - 4.备份集
利用 DMRMAN 工具将数据库中的一个或多个数据文件、数据库信息等备份到一个称为“备份集”的逻辑结构中,备份集的格式是特定的只能由 DMRMAN 创建和访问。一个备份集中会包含一个或多个二进制文件,这个二进制文件被称为备份片。备份数据库会产生一个备份集,这个备份集可能包含一个或者多个备份片。
3、启动和配置 DMRMAN
3.1启动和退出
安装 DM 数据库后,DMRMAN 可执行程序与数据库其他可执行程序一样位于安装路径的执行码目录下,转到执行码目录直接在操作系统的命令行中输入以下命令就可启动 DMRMAN。若配置了环境变量DM_HOME,可直接命令行执行。
[dmdba@lei2 ~]$ dmrman
dmrman V8
RMAN> exit
time used: 8.925(ms)
3.2DMRMAN命令
DMRMAN 工具支持控制台输入命令、命令行设置参数两种操作方式。
3.2.1DMRMAN控制台执行备份
[dmdba@lei2 ~]$ dmrman
dmrman V8
RMAN> backup database '/dmdba/data/dm.ini';
backup database '/dmdba/data/dm.ini';
file dm.key not found, use default license!
[-137]:服务器正在运行或者存在其他进程正在操作同一个库
RMAN> exit
time used: 3.706(ms)
[dmdba@lei2 ~]$ DmServicelei stop
Stopping DmServicelei: [ OK ]
[dmdba@lei2 ~]$ dmrman
dmrman V8
RMAN> backup database '/dmdba/data/dm.ini';
backup database '/dmdba/data/dm.ini';
file dm.key not found, use default license!
Processing backupset /dmdba/data/bak/DB_lei_FULL_20240902_095818_687563
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:02][Remaining:00:00:00]
backup successfully!
time used: 00:00:03.245
3.2.2DMRMAN命令行执行备份
[dmdba@lei2 ~]$ cat /home/dmdba/rmanfull_lei.sh
backup database '/dmdba/data/dm.ini'
[dmdba@lei2 ~]$ dmrman CTLFILE=/home/dmdba/rmanfull_lei.sh
dmrman V8
/home/dmdba/rmanfull_lei.sh
backup database '/dmdba/data/dm.ini'
file dm.key not found, use default license!
Processing backupset /dmdba/data/bak/DB_lei_FULL_20240902_100115_778479
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:02][Remaining:00:00:00]
backup successfully!
time used: 00:00:03.177
或
[dmdba@lei2 ~]$ dmrman CTLSTMT="backup database '/dmdba/data/dm.ini';"
dmrman V8
backup database '/dmdba/data/dm.ini';
file dm.key not found, use default license!
Processing backupset /dmdba/data/bak/DB_lei_FULL_20240902_100240_986425
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:02][Remaining:00:00:00]
backup successfully!
time used: 00:00:03.171
4、备份恢复演练
4.1备份数据库
4.1.1完整备份
执行数据库备份要求数据库处于脱机状态。与联机备份数据库不同的是,脱机备份不需归档。
[dmdba@lei2 ~]$ dmrman
dmrman V8
RMAN> backup database '/dmdba/data/dm.ini' full backupset '/dmdba/dmbak/full_lei0902';
backup database '/dmdba/data/dm.ini' full backupset '/dmdba/dmbak/full_lei0902';
file dm.key not found, use default license!
Processing backupset /dmdba/dmbak/full_lei0902
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:02][Remaining:00:00:00]
backup successfully!
time used: 00:00:03.202
4.1.2增量备份
增量备份指基于指定的库的某个备份(完全备份或者增量备份),备份自该备份以来所有发生修改了的数据页。
[dmdba@lei2 ~]$ dmrman
dmrman V8
RMAN> backup database '/dmdba/data/dm.ini' increment with backupdir '/dmdba/dmbak/' backupset '/dmdba/dmbak/incre_lei0902';
backup database '/dmdba/data/dm.ini' increment with backupdir '/dmdba/dmbak/' backupset '/dmdba/dmbak/incre_lei0902';
file dm.key not found, use default license!
Processing backupset /dmdba/dmbak/incre_lei0902
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:02][Remaining:00:00:00]
backup successfully!
time used: 00:00:03.164
4.1.3归档备份
4.1.3.1备份全部归档
[dmdba@lei2 ~]$ dmrman
dmrman V8
RMAN> backup archive log all database '/dmdba/data/dm.ini' backupset '/dmdba/dmbak/arch_lei0902';
backup archive log all database '/dmdba/data/dm.ini' backupset '/dmdba/dmbak/arch_lei0902';
file dm.key not found, use default license!
Processing backupset /dmdba/dmbak/arch_lei0902
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:02][Remaining:00:00:00]
backup successfully!
time used: 00:00:03.167
4.1.3.2按条件备份归档
[dmdba@lei2 ~]$ dmrman
dmrman V8
RMAN> BACKUP ARCHIVE LOG time BETWEEN '2024-09-02 10:00:00' AND '2024-09-02 10:20:00' DATABASE '/dmdba/data/dm.ini' BACKUPSET '/dmdba/dmbak/arch_lei_1000_1020';
BACKUP ARCHIVE LOG time BETWEEN '2024-09-02 10:00:00' AND '2024-09-02 10:20:00' DATABASE '/dmdba/data/dm.ini' BACKUPSET '/dmdba/dmbak/arch_lei_1000_1020';
file dm.key not found, use default license!
Processing backupset /dmdba/dmbak/arch_lei_1000_1020
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:02][Remaining:00:00:00]
backup successfully!
time used: 00:00:03.162
4.2管理备份
4.2.1备份信息查看
4.2.1.1查看指定备份集信息
[dmdba@lei2 ~]$ dmrman
dmrman V8
RMAN> show backupset '/dmdba/dmbak/full_lei0902';
show backupset '/dmdba/dmbak/full_lei0902';
<backupset [DEVICE TYPE:DISK, BACKUP_PATH: /dmdba/dmbak/full_lei0902] info start ..........>
<DB INFO>
system path: /dmdba/data
pmnt_magic: 337961312
src_db_magic: 1564722514
db_magic: 1564722514
dsc node: 1
sys mode: 0
page check: 3
rlog encrypt: 0
rlog encrypt id: 0
external cipher[id/name]: 0/
external hash[id/name]: 0/
length in char: 0
use new hash: 1
page size: 8KB
extent size: 16
case sensitive: 1
log page size: 512B
unicode_flag/charset: 0
data version: 0x7000C
sys version: V8
pseg version: 0x7000B
enable policy: 0
archive flag: 1
blank_pad_mode: 0
crc_check: TRUE
page_enc_slice_size: 4096
char_fix_storage: 0
sql_log_forbid: 0
secur_flag: 2
db_enc_extend_size: 0
page_check_hash_size: 0
dpc_magic: 0
<META INFO>
backupset sig: BA
backupset version: 0x400A
backupset sub-version: 0xD
database name: lei
backup name: DB_FULL_20240902_101633_230757
backupset description:
n_magic: 0x4784AD7A
bakset_magic: 1199877498
parent n_magic: 0xFFFFFFFF
meta file size : 120320
compressed level: 0
encrypt type: 0
parallel num: 1
backup range: database
mpp_timestamp: 1725243393
with_huge: TRUE
backupset_type: NORMAL
mpp_flag: FALSE
backup level: offline
backup type: full
without log: FALSE
without mirror: FALSE
use_bct: FALSE
end_lsn: 78493
max_trxid: 78447
base begin_lsn: -1
base end_lsn: -1
base n_magic: 0xFFFFFFFF
from lsn: 0
base name:
base backupset:
backup time: 2024-09-02 10:16:36
min exec ver: 0x08010227
min dct ver: 4
pkg size: 0x04000000
bak_magic: 0
l_term_id: 0
term_id: 0
c_seqno: 5030
c_lsn: 78493
h_seqno: 5030
h_lsn: 78493
<EP INFO>
EP[0]:
begin_pkg_seq: 5030
begin_lsn: 78493
end_pkg_seq: 5030
end_lsn: 78493
<FILE INFO>
backupset directory: /dmdba/dmbak/full_lei0902
backupset name: full_lei0902
backup data file num: 6
backup piece num: 1
backup huge file num: 0
<backup_piece_list>
$file_seq |$size(KB) |$pos_desc |$content_type
0 |12719 |full_lei0902.bak |DATA
<data_file_list>
$file_seq |$group_id |$group_name |$file_id |$file_path |$mirror_path |$file_len |$copy_num |$size_flag|$asm_mirror|$asm_striping
1 |0 |SYSTEM |0 |/dmdba/data/SYSTEM.DBF | |77594624 |0 |0 |1 |0
2 |1 |ROLL |0 |/dmdba/data/ROLL.DBF | |134217728 |0 |0 |1 |0
3 |4 |MAIN |0 |/dmdba/data/MAIN.DBF | |134217728 |0 |0 |1 |0
4 |5 |BOOKSHOP |0 |/dmdba/data/BOOKSHOP.DBF | |157286400 |0 |0 |1 |0
5 |6 |DMHR |0 |/dmdba/data/DMHR.DBF | |134217728 |0 |0 |1 |0
6 |7 |IDX |0 |/dmdba/data/idx01.dbf | |134217728 |0 |0 |1 |0
<arch_file_list>
$file_seq |$dsc_seq |$file_path |$file_len |$begin_seqno |$begin_lsn |$end_seqno |$end_lsn
<huge_file_list>
$group_id |$schema_id|$table_id |$column_id|$file_id |$file_len |$path
<TABLESPACE INFO>
<tablespace_list>
$ts_id |$name |$state |$cache |$copy_num |$size_flag|$cipher_name |$opt_node
0 |SYSTEM |0 | |0 |0 | |65535
1 |ROLL |0 | |0 |0 | |65535
4 |MAIN |0 | |0 |0 | |65535
5 |BOOKSHOP |0 |NORMAL |0 |0 | |65535
6 |DMHR |0 |NORMAL |0 |0 | |65535
7 |IDX |0 |NORMAL |0 |0 | |65535
<backupset [DEVICE TYPE:DISK, BACKUP_PATH: /dmdba/dmbak/full_lei0902] info end .>
show backupsets successfully.
time used: 16.261(ms)
4.2.1.2批量显示备份集信息
[dmdba@lei2 ~]$ dmrman
dmrman V8
RMAN>
RMAN>
RMAN> show backupsets with backupdir '/dmdba/dmbak/full_lei0902','/dmdba/dmbak/incre_lei0902';
show backupsets with backupdir '/dmdba/dmbak/full_lei0902' , '/dmdba/dmbak/incre_lei0902';
<ALL backupsets list start ..........>
<backupset of DB_MAGIC [1564722514] GROUP list start ..........>
<backupset [DEVICE TYPE:DISK, BACKUP_PATH: /dmdba/dmbak/incre_lei0902] info start ..........>
<DB INFO>
system path: /dmdba/data
pmnt_magic: 337961312
src_db_magic: 1564722514
db_magic: 1564722514
dsc node: 1
sys mode: 0
page check: 3
rlog encrypt: 0
rlog encrypt id: 0
external cipher[id/name]: 0/
external hash[id/name]: 0/
length in char: 0
use new hash: 1
page size: 8KB
extent size: 16
case sensitive: 1
log page size: 512B
unicode_flag/charset: 0
data version: 0x7000C
sys version: V8
pseg version: 0x7000B
enable policy: 0
archive flag: 1
blank_pad_mode: 0
crc_check: TRUE
page_enc_slice_size: 4096
char_fix_storage: 0
sql_log_forbid: 0
secur_flag: 2
db_enc_extend_size: 0
page_check_hash_size: 0
dpc_magic: 0
<META INFO>
backupset sig: BA
backupset version: 0x400A
backupset sub-version: 0xD
database name: lei
backup name: DB_INCREMENT_20240902_101927_304816
backupset description:
n_magic: 0x622266E0
bakset_magic: 1646421728
parent n_magic: 0xFFFFFFFF
meta file size : 120320
compressed level: 0
encrypt type: 0
parallel num: 1
backup range: database
mpp_timestamp: 1725243567
with_huge: TRUE
backupset_type: NORMAL
mpp_flag: FALSE
backup level: offline
backup type: increment
cumulative: FALSE
without log: FALSE
without mirror: FALSE
use_bct: FALSE
end_lsn: 78493
max_trxid: 78447
base begin_lsn: 78493
base end_lsn: 78493
base n_magic: 0x4784AD7A
from lsn: 0
base name: DB_FULL_20240902_101633_230757
base backupset: /dmdba/dmbak/full_lei0902
backup time: 2024-09-02 10:19:30
min exec ver: 0x08010227
min dct ver: 4
pkg size: 0x04000000
bak_magic: 0
l_term_id: 0
term_id: 0
c_seqno: 5030
c_lsn: 78493
h_seqno: 5030
h_lsn: 78493
<EP INFO>
EP[0]:
begin_pkg_seq: 5030
begin_lsn: 78493
end_pkg_seq: 5030
end_lsn: 78493
<FILE INFO>
backupset directory: /dmdba/dmbak/incre_lei0902
backupset name: incre_lei0902
backup data file num: 6
backup piece num: 1
backup huge file num: 0
<backup_piece_list>
$file_seq |$size(KB) |$pos_desc |$content_type
0 |71 |incre_lei0902.bak |DATA
<data_file_list>
$file_seq |$group_id |$group_name |$file_id |$file_path |$mirror_path |$file_len |$copy_num |$size_flag|$asm_mirror|$asm_striping
1 |0 |SYSTEM |0 |/dmdba/data/SYSTEM.DBF | |77594624 |0 |0 |1 |0
2 |1 |ROLL |0 |/dmdba/data/ROLL.DBF | |134217728 |0 |0 |1 |0
3 |4 |MAIN |0 |/dmdba/data/MAIN.DBF | |134217728 |0 |0 |1 |0
4 |5 |BOOKSHOP |0 |/dmdba/data/BOOKSHOP.DBF | |157286400 |0 |0 |1 |0
5 |6 |DMHR |0 |/dmdba/data/DMHR.DBF | |134217728 |0 |0 |1 |0
6 |7 |IDX |0 |/dmdba/data/idx01.dbf | |134217728 |0 |0 |1 |0
<arch_file_list>
$file_seq |$dsc_seq |$file_path |$file_len |$begin_seqno |$begin_lsn |$end_seqno |$end_lsn
<huge_file_list>
$group_id |$schema_id|$table_id |$column_id|$file_id |$file_len |$path
<TABLESPACE INFO>
<tablespace_list>
$ts_id |$name |$state |$cache |$copy_num |$size_flag|$cipher_name |$opt_node
0 |SYSTEM |0 | |0 |0 | |65535
1 |ROLL |0 | |0 |0 | |65535
4 |MAIN |0 | |0 |0 | |65535
5 |BOOKSHOP |0 |NORMAL |0 |0 | |65535
6 |DMHR |0 |NORMAL |0 |0 | |65535
7 |IDX |0 |NORMAL |0 |0 | |65535
<backupset [DEVICE TYPE:DISK, BACKUP_PATH: /dmdba/dmbak/incre_lei0902] info end .>
<backupset [DEVICE TYPE:DISK, BACKUP_PATH: /dmdba/dmbak/full_lei0902] info start ..........>
<DB INFO>
system path: /dmdba/data
pmnt_magic: 337961312
src_db_magic: 1564722514
db_magic: 1564722514
dsc node: 1
sys mode: 0
page check: 3
rlog encrypt: 0
rlog encrypt id: 0
external cipher[id/name]: 0/
external hash[id/name]: 0/
length in char: 0
use new hash: 1
page size: 8KB
extent size: 16
case sensitive: 1
log page size: 512B
unicode_flag/charset: 0
data version: 0x7000C
sys version: V8
pseg version: 0x7000B
enable policy: 0
archive flag: 1
blank_pad_mode: 0
crc_check: TRUE
page_enc_slice_size: 4096
char_fix_storage: 0
sql_log_forbid: 0
secur_flag: 2
db_enc_extend_size: 0
page_check_hash_size: 0
dpc_magic: 0
<META INFO>
backupset sig: BA
backupset version: 0x400A
backupset sub-version: 0xD
database name: lei
backup name: DB_FULL_20240902_101633_230757
backupset description:
n_magic: 0x4784AD7A
bakset_magic: 1199877498
parent n_magic: 0xFFFFFFFF
meta file size : 120320
compressed level: 0
encrypt type: 0
parallel num: 1
backup range: database
mpp_timestamp: 1725243393
with_huge: TRUE
backupset_type: NORMAL
mpp_flag: FALSE
backup level: offline
backup type: full
without log: FALSE
without mirror: FALSE
use_bct: FALSE
end_lsn: 78493
max_trxid: 78447
base begin_lsn: -1
base end_lsn: -1
base n_magic: 0xFFFFFFFF
from lsn: 0
base name:
base backupset:
backup time: 2024-09-02 10:16:36
min exec ver: 0x08010227
min dct ver: 4
pkg size: 0x04000000
bak_magic: 0
l_term_id: 0
term_id: 0
c_seqno: 5030
c_lsn: 78493
h_seqno: 5030
h_lsn: 78493
<EP INFO>
EP[0]:
begin_pkg_seq: 5030
begin_lsn: 78493
end_pkg_seq: 5030
end_lsn: 78493
<FILE INFO>
backupset directory: /dmdba/dmbak/full_lei0902
backupset name: full_lei0902
backup data file num: 6
backup piece num: 1
backup huge file num: 0
<backup_piece_list>
$file_seq |$size(KB) |$pos_desc |$content_type
0 |12719 |full_lei0902.bak |DATA
<data_file_list>
$file_seq |$group_id |$group_name |$file_id |$file_path |$mirror_path |$file_len |$copy_num |$size_flag|$asm_mirror|$asm_striping
1 |0 |SYSTEM |0 |/dmdba/data/SYSTEM.DBF | |77594624 |0 |0 |1 |0
2 |1 |ROLL |0 |/dmdba/data/ROLL.DBF | |134217728 |0 |0 |1 |0
3 |4 |MAIN |0 |/dmdba/data/MAIN.DBF | |134217728 |0 |0 |1 |0
4 |5 |BOOKSHOP |0 |/dmdba/data/BOOKSHOP.DBF | |157286400 |0 |0 |1 |0
5 |6 |DMHR |0 |/dmdba/data/DMHR.DBF | |134217728 |0 |0 |1 |0
6 |7 |IDX |0 |/dmdba/data/idx01.dbf | |134217728 |0 |0 |1 |0
<arch_file_list>
$file_seq |$dsc_seq |$file_path |$file_len |$begin_seqno |$begin_lsn |$end_seqno |$end_lsn
<huge_file_list>
$group_id |$schema_id|$table_id |$column_id|$file_id |$file_len |$path
<TABLESPACE INFO>
<tablespace_list>
$ts_id |$name |$state |$cache |$copy_num |$size_flag|$cipher_name |$opt_node
0 |SYSTEM |0 | |0 |0 | |65535
1 |ROLL |0 | |0 |0 | |65535
4 |MAIN |0 | |0 |0 | |65535
5 |BOOKSHOP |0 |NORMAL |0 |0 | |65535
6 |DMHR |0 |NORMAL |0 |0 | |65535
7 |IDX |0 |NORMAL |0 |0 | |65535
<backupset [DEVICE TYPE:DISK, BACKUP_PATH: /dmdba/dmbak/full_lei0902] info end .>
<backupset of DB_MAGIC [1564722514] GROUP list end ..........>
<ALL backupsets list end ..........>
show backupsets successfully.
time used: 16.868(ms)
4.2.1.3查看指定数据库所有备份集信息
如果指定的备份搜索目录下包含不同数据库的备份集,而我们只想查看某个特定数据库的所有备份集信息,此时可以使用 SHOW BACKUPSETS…USE DB_MAGIC 命令实现。
[dmdba@lei2 ~]$ DmServicelei start
Starting DmServicelei: [ OK ]
[dmdba@lei2 ~]$ disql SYSDBA/SYSDBA
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 4.898(ms)
disql V8
SQL> select db_magic from v$rlog;
行号 DB_MAGIC
---------- --------------------
1 1564722514
已用时间: 0.918(毫秒). 执行号:601.
SQL> exit
[dmdba@lei2 ~]$ DmServicelei stop
Stopping DmServicelei: [ OK ]
[dmdba@lei2 ~]$ dmrman
dmrman V8
RMAN> show backupsets with backupdir '/dmdba/dmbak/full_lei0902' use db_magic 1564722514;
show backupsets with backupdir '/dmdba/dmbak/full_lei0902' use db_magic 1564722514;
<backupset of DB_MAGIC [1564722514] GROUP list start ..........>
<backupset [DEVICE TYPE:DISK, BACKUP_PATH: /dmdba/dmbak/full_lei0902] info start ..........>
<DB INFO>
system path: /dmdba/data
pmnt_magic: 337961312
src_db_magic: 1564722514
db_magic: 1564722514
dsc node: 1
sys mode: 0
page check: 3
rlog encrypt: 0
rlog encrypt id: 0
external cipher[id/name]: 0/
external hash[id/name]: 0/
length in char: 0
use new hash: 1
page size: 8KB
extent size: 16
case sensitive: 1
log page size: 512B
unicode_flag/charset: 0
data version: 0x7000C
sys version: V8
pseg version: 0x7000B
enable policy: 0
archive flag: 1
blank_pad_mode: 0
crc_check: TRUE
page_enc_slice_size: 4096
char_fix_storage: 0
sql_log_forbid: 0
secur_flag: 2
db_enc_extend_size: 0
page_check_hash_size: 0
dpc_magic: 0
<META INFO>
backupset sig: BA
backupset version: 0x400A
backupset sub-version: 0xD
database name: lei
backup name: DB_FULL_20240902_101633_230757
backupset description:
n_magic: 0x4784AD7A
bakset_magic: 1199877498
parent n_magic: 0xFFFFFFFF
meta file size : 120320
compressed level: 0
encrypt type: 0
parallel num: 1
backup range: database
mpp_timestamp: 1725243393
with_huge: TRUE
backupset_type: NORMAL
mpp_flag: FALSE
backup level: offline
backup type: full
without log: FALSE
without mirror: FALSE
use_bct: FALSE
end_lsn: 78493
max_trxid: 78447
base begin_lsn: -1
base end_lsn: -1
base n_magic: 0xFFFFFFFF
from lsn: 0
base name:
base backupset:
backup time: 2024-09-02 10:16:36
min exec ver: 0x08010227
min dct ver: 4
pkg size: 0x04000000
bak_magic: 0
l_term_id: 0
term_id: 0
c_seqno: 5030
c_lsn: 78493
h_seqno: 5030
h_lsn: 78493
<EP INFO>
EP[0]:
begin_pkg_seq: 5030
begin_lsn: 78493
end_pkg_seq: 5030
end_lsn: 78493
<FILE INFO>
backupset directory: /dmdba/dmbak/full_lei0902
backupset name: full_lei0902
backup data file num: 6
backup piece num: 1
backup huge file num: 0
<backup_piece_list>
$file_seq |$size(KB) |$pos_desc |$content_type
0 |12719 |full_lei0902.bak |DATA
<data_file_list>
$file_seq |$group_id |$group_name |$file_id |$file_path |$mirror_path |$file_len |$copy_num |$size_flag|$asm_mirror|$asm_striping
1 |0 |SYSTEM |0 |/dmdba/data/SYSTEM.DBF | |77594624 |0 |0 |1 |0
2 |1 |ROLL |0 |/dmdba/data/ROLL.DBF | |134217728 |0 |0 |1 |0
3 |4 |MAIN |0 |/dmdba/data/MAIN.DBF | |134217728 |0 |0 |1 |0
4 |5 |BOOKSHOP |0 |/dmdba/data/BOOKSHOP.DBF | |157286400 |0 |0 |1 |0
5 |6 |DMHR |0 |/dmdba/data/DMHR.DBF | |134217728 |0 |0 |1 |0
6 |7 |IDX |0 |/dmdba/data/idx01.dbf | |134217728 |0 |0 |1 |0
<arch_file_list>
$file_seq |$dsc_seq |$file_path |$file_len |$begin_seqno |$begin_lsn |$end_seqno |$end_lsn
<huge_file_list>
$group_id |$schema_id|$table_id |$column_id|$file_id |$file_len |$path
<TABLESPACE INFO>
<tablespace_list>
$ts_id |$name |$state |$cache |$copy_num |$size_flag|$cipher_name |$opt_node
0 |SYSTEM |0 | |0 |0 | |65535
1 |ROLL |0 | |0 |0 | |65535
4 |MAIN |0 | |0 |0 | |65535
5 |BOOKSHOP |0 |NORMAL |0 |0 | |65535
6 |DMHR |0 |NORMAL |0 |0 | |65535
7 |IDX |0 |NORMAL |0 |0 | |65535
<backupset [DEVICE TYPE:DISK, BACKUP_PATH: /dmdba/dmbak/full_lei0902] info end .>
<backupset of DB_MAGIC [1564722514] GROUP list end ..........>
show backupsets successfully.
time used: 16.013(ms)
4.2.1.4查看指定备份集元数据信息
[dmdba@lei2 ~]$ dmrman
dmrman V8
RMAN> show backupset '/dmdba/dmbak/full_lei0902' info meta;
show backupset '/dmdba/dmbak/full_lei0902' info meta;
<backupset [DEVICE TYPE:DISK, BACKUP_PATH: /dmdba/dmbak/full_lei0902] info start ..........>
<META INFO>
backupset sig: BA
backupset version: 0x400A
backupset sub-version: 0xD
database name: lei
backup name: DB_FULL_20240902_101633_230757
backupset description:
n_magic: 0x4784AD7A
bakset_magic: 1199877498
parent n_magic: 0xFFFFFFFF
meta file size : 120320
compressed level: 0
encrypt type: 0
parallel num: 1
backup range: database
mpp_timestamp: 1725243393
with_huge: TRUE
backupset_type: NORMAL
mpp_flag: FALSE
backup level: offline
backup type: full
without log: FALSE
without mirror: FALSE
use_bct: FALSE
end_lsn: 78493
max_trxid: 78447
base begin_lsn: -1
base end_lsn: -1
base n_magic: 0xFFFFFFFF
from lsn: 0
base name:
base backupset:
backup time: 2024-09-02 10:16:36
min exec ver: 0x08010227
min dct ver: 4
pkg size: 0x04000000
bak_magic: 0
l_term_id: 0
term_id: 0
c_seqno: 5030
c_lsn: 78493
h_seqno: 5030
h_lsn: 78493
<EP INFO>
EP[0]:
begin_pkg_seq: 5030
begin_lsn: 78493
end_pkg_seq: 5030
end_lsn: 78493
<backupset [DEVICE TYPE:DISK, BACKUP_PATH: /dmdba/dmbak/full_lei0902] info end .>
show backupsets successfully.
time used: 16.125(ms)
4.3备份集校验和删除
4.3.1校验备份集
RMAN> check backupset '/dmdba/dmbak/full_lei0902' ;
check backupset '/dmdba/dmbak/full_lei0902';
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:00][Remaining:00:00:00]
check backupset successfully.
time used: 142.441(ms)
4.3.2删除备份集
4.3.2.1删除指定备份集
[dmdba@lei2 ~]$ dmrman
dmrman V8
RMAN> remove backupset '/dmdba/dmbak/arch_lei_1000_1020';
remove backupset '/dmdba/dmbak/arch_lei_1000_1020';
remove backupset successfully.
time used: 17.182(ms)
4.3.2.2删除所有备份集
[dmdba@lei2 ~]$ dmrman
dmrman V8
RMAN> remove backupsets with backupdir '/dmdba/dmbak/';
remove backupsets with backupdir '/dmdba/dmbak/';
remove backupsets successfully.
time used: 18.820(ms)
RMAN> exit
time used: 0.822(ms)
[dmdba@lei2 ~]$ ll /dmdba/dmbak
total 0
4.3.2.3删除指定时间内的备份集
[dmdba@lei2 ~]$ dmrman
dmrman V8
RMAN> remove backupsets with backupdir '/dmdba/dmbak' until time '2024-09-02 10:30:00';
remove backupsets with backupdir '/dmdba/dmbak' until time '2024-09-02 10:30:00';
CMD END.CODE:[0]
remove backupsets successfully.
time used: 33.140(ms)
4.4还原和恢复数据库
4.4.1数据库还原
使用 RESTORE 命令完成脱机还原操作,在还原语句中指定库级备份集,可以是脱机库级备份集,或是联机库级备份集。数据库的还原包括数据库配置文件还原和数据文件还原。
根据已存在的备份,对目前已初始化完成的数据库进行还原。
[dmdba@lei2 ~]$ dmrman
dmrman V8
RMAN> restore database '/dmdba/data/dm.ini' from backupset '/dmdba/dmbak/full_lei0902';
restore database '/dmdba/data/dm.ini' from backupset '/dmdba/dmbak/full_lei0902';
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:02][Remaining:00:00:00]
restore successfully.
time used: 00:00:02.454
4.4.2数据库恢复
使用 RECOVER 命令完成数据库恢复工作,可以是基于备份集的恢复工作,也可以是使用本地归档日志的恢复工作。如果还原后,数据已经处于一致性状态了,则可以使用更新DB_MAGIC 方式恢复,前提是不需要重做日志。
RMAN> recover database '/dmdba/data/dm.ini' from backupset '/dmdba/dmbak/full_lei0902';
recover database '/dmdba/data/dm.ini' from backupset '/dmdba/dmbak/full_lei0902';
recover successfully!
time used: 450.212(ms)
4.4.3数据库更新
数据库更新是指更新数据库的 DB_MAGIC,并将数据库调整为可正常工作状态,与数据库恢复一样使用 RECOVER 命令完成。数据库更新发生在重做 REDO 日志恢复数据库后,或者目标库不需要执行重做日志已经处于一致状态的情况。
![](/qrcode.jpg)
RMAN> recover database '/dmdba/data/dm.ini' update db_magic;
recover database '/dmdba/data/dm.ini' update db_magic;
recover successfully!
time used: 00:00:01.080
4.5还原到指定时间点
RMAN> restore database '/dmdba/data/dm.ini' from backupset '/dmdba/dmbak/full_lei0902';
restore database '/dmdba/data/dm.ini' from backupset '/dmdba/dmbak/full_lei0902';
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:02][Remaining:00:00:00]
restore successfully.
time used: 00:00:02.540
RMAN> RECOVER DATABASE '/dmdba/data/dm.ini' WITH ARCHIVEDIR '/dmdba/arch/lei' UNTIL TIME '2024-09-02 20:10:00';
RECOVER DATABASE '/dmdba/data/dm.ini' WITH ARCHIVEDIR '/dmdba/arch/lei' UNTIL TIME '2024-09-02 20:10:00';
[Percent:100.00%][Speed:0.00PKG/s][Cost:00:00:00][Remaining:00:00:00]
recover successfully!
time used: 535.444(ms)
RMAN> RECOVER DATABASE '/dmdba/data/dm.ini' update db_magic;
RECOVER DATABASE '/dmdba/data/dm.ini' update db_magic;
recover successfully!
time used: 00:00:01.094
4.6还原和恢复表空间
使用RESTORE命令完成表空间的脱机还原,还原的备份集可以是联机或脱机生成的库备份集,也可以是联机生成的表空间备份集 。脱机表空间还原仅涉及表空间数据文件的重建与数据页的拷贝。不需要事先置目标表空间为OFFLINE 状态。表空间还原后,表空间状态被置为RES_OFFLINE, 并设置数据标记FIL_TS_RECV_STATE_RESTORED,表示已经过还原但数据不完整。
4.6.1还原表空间
- 1.先在联机状态下备份表空间
SQL> select INSTANCE_NAME,STATUS$ from v$instance;
行号 INSTANCE_NAME STATUS$
---------- ------------- -------
1 LEI OPEN
SQL> BACKUP TABLESPACE MAIN BACKUPSET '/dmdba/dmbak/ts_main0902';
操作已执行
已用时间: 00:00:03.003. 执行号:801.
- 2.脱机状态下还原表空间
[dmdba@lei2 ~]$ dmrman
dmrman V8
RMAN> restore database '/dmdba/data/dm.ini' TABLESPACE main from BACKUPSET '/dmdba/dmbak/ts_main0902';
restore database '/dmdba/data/dm.ini' TABLESPACE main from BACKUPSET '/dmdba/dmbak/ts_main0902';
file dm.key not found, use default license!
[-137]:服务器正在运行或者存在其他进程正在操作同一个库
RMAN> exit
time used: 2.530(ms)
[dmdba@lei2 ~]$ DmServicelei stop
Stopping DmServicelei: [ OK ]
[dmdba@lei2 ~]$ dmrman
dmrman V8
RMAN> restore database '/dmdba/data/dm.ini' TABLESPACE main from BACKUPSET '/dmdba/dmbak/ts_main0902';
restore database '/dmdba/data/dm.ini' TABLESPACE main from BACKUPSET '/dmdba/dmbak/ts_main0902';
file dm.key not found, use default license!
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:02][Remaining:00:00:00]
restore successfully.
time used: 00:00:02.389
4.6.2恢复表空间
表空间恢复通过重做REDO日志,以将数据更新到一致状态。恢复完成后,表空间状态置为ONLINE,并设置数据标记为FIL_TS_RECV_STAT_RECOVERED,表示数据已恢复到一致状态。
RMAN> recover database '/dmdba/data/dm.ini' TABLESPACE main;
recover database '/dmdba/data/dm.ini' TABLESPACE main;
dres_backupset_recover_ts begin
[Percent:100.00%][Speed:0.00PKG/s][Cost:00:00:00][Remaining:00:00:00]
dres_backupset_recover_ts end
recover successfully.
time used: 464.132(ms)
更多内容请参考:https://eco.dameng.com