日常工作大多数情况就是
1.全库备份 将db1库中的数据恢复到db2中
2.全库备份+添加测试数据+增量备份
3.全库备份+增量备份+添加测试数据
全库备份 将db1库中的数据恢复到db2中
[dmdba@localhost dmdata]$ /dmdbms/bin/dminit PATH=/dmdata DB_NAME=db1 PORT_NUM=15236 PAGE_SIZE=32 EXTENT_SIZE=32 LOG_SIZE=2048
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2025-07-03
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
log file path: /dmdata/db1/db101.log
log file path: /dmdata/db1/db102.log
write to dir [/dmdata/db1].
create dm database success. 2024-09-01 19:04:16
[dmdba@localhost dmdata]$ /dmdbms/bin/dminit PATH=/dmdata DB_NAME=db2 PORT_NUM=15236 PAGE_SIZE=32 EXTENT_SIZE=32 LOG_SIZE=2048
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2025-07-03
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
log file path: /dmdata/db2/db201.log
log file path: /dmdata/db2/db202.log
write to dir [/dmdata/db2].
create dm database success. 2024-09-01 19:04:24
源库
ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE ADD ARCHIVELOG 'DEST=/dmarch/db1, TYPE=LOCAL, FILE_SIZE=1024, SPACE_LIMIT=51200';
ALTER DATABASE OPEN;
目标库
ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE ADD ARCHIVELOG 'DEST=/dmarch/db2, TYPE=LOCAL, FILE_SIZE=1024, SPACE_LIMIT=51200';
ALTER DATABASE OPEN;
SQL> create table test1 as select * from dba_tables;
操作已执行
已用时间: 52.276(毫秒). 执行号:64701.
SQL> backup database full to "DB_FULL1" backupset '/dmbak/bakdb1/DB_FULL1';
操作已执行
已用时间: 00:00:03.191. 执行号:64702.7
[dmdba@localhost bin]$ ./dmrman
dmrman V8
RMAN> RESTORE DATABASE '/dmdata/db2/dm.ini' REUSE DMINI FROM BACKUPSET '/dmbak/bakdb1/DB_FULL1' rename to 'db2';
RESTORE DATABASE '/dmdata/db2/dm.ini' REUSE DMINI FROM BACKUPSET '/dmbak/bakdb1/DB_FULL1' rename to 'db2';
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.486
RMAN> RECOVER DATABASE '/dmdata/db2/dm.ini' FROM BACKUPSET '/dmbak/bakdb1/DB_FULL1';
RECOVER DATABASE '/dmdata/db2/dm.ini' FROM BACKUPSET '/dmbak/bakdb1/DB_FULL1';
[Percent:100.00%][Speed:0.00PKG/s][Cost:00:00:00][Remaining:00:00:00]
recover successfully!
time used: 00:00:02.462
RMAN> RECOVER DATABASE '/dmdata/db2/dm.ini' UPDATE DB_MAGIC;
RECOVER DATABASE '/dmdata/db2/dm.ini' UPDATE DB_MAGIC;
recover successfully!
time used: 00:00:01.085
RMAN>
SQL> select count(*) from test1
2 ;
行号 COUNT(*)
---------- --------------------
1 90
已用时间: 1.009(毫秒). 执行号:602.
SQL> select * from v$database;
行号 NAME CREATE_TIME ARCH_MODE LAST_CKPT_TIME STATUS$ ROLE$ MAX_SIZE TOTAL_SIZE DSC_NODES OPEN_COUNT
---------- ---- ------------------- --------- -------------- ----------- ----------- -------------------- -------------------- ----------- -----------
STARTUP_COUNT LAST_STARTUP_TIME
-------------------- -------------------
1 db2 2024-09-01 19:29:46 Y NULL 4 0 0 13248 1 3
1 2024-09-01 19:30:11
已用时间: 1.167(毫秒). 执行号:603.
SQL>
全库备份+添加测试数据+增量备份
看是否能恢复数据
[dmdba@localhost dmdata]$ /dmdbms/bin/dminit PATH=/dmdata DB_NAME=db1 PORT_NUM=5236 PAGE_SIZE=32 EXTENT_SIZE=32 LOG_SIZE=2048
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2025-07-03
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
log file path: /dmdata/db1/db101.log
log file path: /dmdata/db1/db102.log
write to dir [/dmdata/db1].
create dm database success. 2024-09-01 19:44:20
## 3.2初始化目标库db2
[dmdba@localhost dmdata]$ /dmdbms/bin/dminit PATH=/dmdata DB_NAME=db2 PORT_NUM=5236 PAGE_SIZE=32 EXTENT_SIZE=32 LOG_SIZE=2048
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2025-07-03
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
log file path: /dmdata/db2/db201.log
log file path: /dmdata/db2/db202.log
write to dir [/dmdata/db2].
create dm database success. 2024-09-01 19:44:24
[dmdba@localhost dmdata]$
源库
ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE ADD ARCHIVELOG 'DEST=/dmarch/db1, TYPE=LOCAL, FILE_SIZE=1024, SPACE_LIMIT=51200';
ALTER DATABASE OPEN;
目标库
ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE ADD ARCHIVELOG 'DEST=/dmarch/db2, TYPE=LOCAL, FILE_SIZE=1024, SPACE_LIMIT=51200';
ALTER DATABASE OPEN;
SQL> backup database full to "DB_FULL1" backupset '/dmbak/bakdb1/DB_FULL1';
操作已执行
已用时间: 00:00:03.032. 执行号:64701.
SQL> create table test1 as select * from dba_tables;
操作已执行
已用时间: 45.842(毫秒). 执行号:64702.
SQL> BACKUP DATABASE INCREMENT WITH BACKUPDIR '/dmbak/bakdb1/DB_FULL1' BACKUPSET '/dmbak/bakdb1/db_increment_bak';
操作已执行
已用时间: 00:00:06.705. 执行号:64703.
SQL>
RMAN> restore database '/dmdata/db2/dm.ini' from backupset '/dmbak/bakdb1/db_increment_bak' with backupdir '/dmbak/bakdb1/DB_FULL1';
restore database '/dmdata/db2/dm.ini' from backupset '/dmbak/bakdb1/db_increment_bak' with backupdir '/dmbak/bakdb1/DB_FULL1';
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:02][Remaining:00:00:00]
restore successfully.
time used: 00:00:02.528
RMAN> recover database '/dmdata/db2/dm.ini' from backupset '/dmbak/bakdb1/db_increment_bak';
recover database '/dmdata/db2/dm.ini' from backupset '/dmbak/bakdb1/db_increment_bak';
[Percent:100.00%][Speed:0.00PKG/s][Cost:00:00:00][Remaining:00:00:00]
recover successfully!
time used: 00:00:02.467
RMAN> recover database '/dmdata/db2/dm.ini' update db_magic;
recover database '/dmdata/db2/dm.ini' update db_magic;
recover successfully!
time used: 00:00:01.053
SQL> select count(*) from test1;
行号 COUNT(*)
---------- --------------------
1 90
已用时间: 1.112(毫秒). 执行号:601.
SQL> select * from v$databases;
select * from v$databases;
第1 行附近出现错误[-2106]:无效的表或视图名[V$DATABASES].
已用时间: 0.499(毫秒). 执行号:0.
SQL> select * from v$database;
行号 NAME CREATE_TIME ARCH_MODE LAST_CKPT_TIME STATUS$ ROLE$ MAX_SIZE TOTAL_SIZE DSC_NODES OPEN_COUNT
---------- ---- ------------------- --------- -------------- ----------- ----------- -------------------- -------------------- ----------- -----------
STARTUP_COUNT LAST_STARTUP_TIME
-------------------- -------------------
1 db1 2024-09-01 20:19:26 Y NULL 4 0 0 13248 1 3
1 2024-09-01 20:19:52
已用时间: 1.046(毫秒). 执行号:602.
SQL>
全库备份+增量备份+添加测试数据
看是否能恢复测试数据
[dmdba@localhost dmdata]$ /dmdbms/bin/dminit PATH=/dmdata DB_NAME=db1 PORT_NUM=5236 PAGE_SIZE=32 EXTENT_SIZE=32 LOG_SIZE=2048
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2025-07-03
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
log file path: /dmdata/db1/db101.log
log file path: /dmdata/db1/db102.log
write to dir [/dmdata/db1].
create dm database success. 2024-09-01 20:33:45
[dmdba@localhost dmdata]$ /dmdbms/bin/dminit PATH=/dmdata DB_NAME=db2 PORT_NUM=5236 PAGE_SIZE=32 EXTENT_SIZE=32 LOG_SIZE=2048
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2025-07-03
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
log file path: /dmdata/db2/db201.log
log file path: /dmdata/db2/db202.log
write to dir [/dmdata/db2].
create dm database success. 2024-09-01 20:33:51
源库
ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE ADD ARCHIVELOG 'DEST=/dmarch/db1, TYPE=LOCAL, FILE_SIZE=1024, SPACE_LIMIT=51200';
ALTER DATABASE OPEN;
目标库
ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE ADD ARCHIVELOG 'DEST=/dmarch/db2, TYPE=LOCAL, FILE_SIZE=1024, SPACE_LIMIT=51200';
ALTER DATABASE OPEN;
backup database full to "DB_FULL1" backupset '/dmbak/bakdb1/DB_FULL1';
SQL> create table test1 as select * from dba_tables;
操作已执行
已用时间: 52.046(毫秒). 执行号:602.
SQL>
SQL> BACKUP DATABASE INCREMENT WITH BACKUPDIR '/dmbak/bakdb1/DB_FULL1' BACKUPSET '/dmbak/bakdb1/db_increment_bak';
操作已执行
已用时间: 00:00:07.551. 执行号:603.
SQL>
SQL> create table test2 as select * from dba_tables;
操作已执行
已用时间: 42.264(毫秒). 执行号:604.
SQL>
因为测试的两个库都在同一个机器上所以没有拷贝归档到目标主机的步骤
RMAN> restore database '/dmdata/db2/dm.ini' from backupset '/dmbak/bakdb1/db_increment_bak' with backupdir '/dmbak/bakdb1/DB_FULL1';
restore database '/dmdata/db2/dm.ini' from backupset '/dmbak/bakdb1/db_increment_bak' with backupdir '/dmbak/bakdb1/DB_FULL1';
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.670
RMAN> RECOVER DATABASE '/dmdata/db2/dm.ini' WITH ARCHIVEDIR '/dmarch/db1';
RECOVER DATABASE '/dmdata/db2/dm.ini' WITH ARCHIVEDIR '/dmarch/db1';
[Percent:100.00%][Speed:0.00PKG/s][Cost:00:00:00][Remaining:00:00:00]
recover successfully!
time used: 448.247(ms)
RMAN> recover database '/dmdata/db2/dm.ini' update db_magic;
recover database '/dmdata/db2/dm.ini' update db_magic;
recover successfully!
time used: 00:00:01.062
SQL> select count(*) from test1;
行号 COUNT(*)
---------- --------------------
1 90
已用时间: 2.124(毫秒). 执行号:601.
SQL> select count(*) from test2;
行号 COUNT(*)
---------- --------------------
1 91
已用时间: 1.310(毫秒). 执行号:602.
SQL> select * from v$database;
行号 NAME CREATE_TIME ARCH_MODE LAST_CKPT_TIME STATUS$ ROLE$ MAX_SIZE TOTAL_SIZE DSC_NODES OPEN_COUNT
---------- ---- ------------------- --------- -------------- ----------- ----------- -------------------- -------------------- ----------- -----------
STARTUP_COUNT LAST_STARTUP_TIME
-------------------- -------------------
1 db1 2024-09-01 22:25:25 Y NULL 4 0 0 13248 1 4
1 2024-09-01 22:26:39
已用时间: 1.542(毫秒). 执行号:603.
SQL>
符合预期 这次恢复没有指定rename 所以名字还是原库的
https://eco.dameng.com/
文章
阅读量
获赞