0.新建立目标数据库,实例,目录一致
1 源库需要开启归档日志,归档日志位置可以调整
2.rman备份源数据库,每天晚上备份
3.归档日志只保留1~3天
4.恢复与还原数据库时,需要将备份的数据复制到目标数据库的相应的位置,源库与目标库的文件夹目录一致
5.restore database之后查看目标数据库的归档位置,将没有进行备份的归档日志复制到相应位置,不存在的目录需要手动建立
6.将归档日志复制到新的服务器上,新的服务器归档位置需要查询(19c位置:/u01/app/oracle/product/19.3.0/db_1/dbs)
7.recover database 之后会读取上述的归档日志路径中的归档文件,还原到最新的数据
8.alter database open resetlogs,启动数据库
配置RMAN并创建备份
[oracle@localhost ~]$ export ORACLE_SID=nctest
[oracle@localhost ~]$ rman target /
run {
allocate channel c1 type disk;
backup incremental level 0 database format '/u01/backup/nc63_%T';
backup current controlfile format '/u01/backup/ctl%d_%U.bak';
backup format '/u01/backup/arch%u_%s_%P' archivelog all delete input;
release channel c1;
}
RMAN数据库恢复
sqlplus / as sysdba
SQL>startup nomount
rman target /
RMAN> restore controlfile from '/u01/backup/ctlNCTEST_4d3g1uou_1_1.bak';
restore controlfile from '/u01/backup/ctlNCTEST_4o3h3o7h_1_1.bak';
将数据库切换到mount状态
alter database mount;
使用catalog命令指定备份文件位置
RMAN> catalog start with '/u01/backup';
还原和恢复数据库
RMAN> restore database;(还原备份数据)
RMAN> RECOVER DATABASE UNTIL SCN 9441028;;(根据归档日志和redo.log恢复到最新的数据)
RMAN> alter database open resetlogs;
出现错误是正常现象,到此数据库恢复完成