## DG主库数据文件丢失,有2种方法可以恢复:
**方法一:使用备份恢复数据文件**
1.连接上主数据库作为目标数据库:
RMAN TARGET / CATALOG rman/<pswd>@RCAT
2.将数据文件更改为脱机:
RMAN> SQL "ALTER DATABASE DATAFILE 10 OFFLINE";
3.还原和恢复数据文件:
RMAN> RESTORE DATAFILE 10;
RMAN> RECOVER DATAFILE 10;
RMAN> SQL "ALTER DATABASE DATAFILE 10 ONLINE";
**方法二:使用备用数据库恢复数据文件**
1.连接备用数据库作为主数据库,并连接上主数据库作为辅助数据库:
RMAN TARGET sys/<pswd>@MATRIX_DR0 CATALOG rman/<pswd>@RCAT auxiliary /
2.备份备用数据库上的数据文件,并传送到主数据库:
RMAN> BACKUP AS COPY DATAFILE 10 AUXILIARY FORMAT '/data/matrix/users.dbf';
3.启动RMAN,连接上主数据库作为目标数据库,并连接上恢复目录:
RMAN TARGET / CATALOG rman/<pswd>@RCAT
4.使用CATALOG DATAFILECOPY命令编目该数据文件副本,以便RMAN可以使用它:
RMAN> CATALOG DATAFILECOPY '/data/matrix/users.dbf';
5.使用SWITCH DATAFILE命令切换数据文件副本,使该文件成为当前数据文件:
RUN {
SET NEWNAME FOR DATAFILE 10 TO '/data/matrix/users.dbf';
SWITCH DATAFILE 10;
}
## DG备库数据文件丢失,可以通过RMAN来还原和恢复:
1.先在备库停止SQL Apply:
SQL> alter database recover managed standby database cancel;
2.restore数据文件:
SQL> restore datafile 10;
3.recover数据文件:
SQL> recover datafile 10;
4.在备库启动SQL Apply:
SQL> alter database recover managed standby database using current logfile disconnect;