在Oracle数据库中,如果我们使用用户管理备份与恢复(User-Managed Backup and Recovery)方式去备份还原数据库的话,如何获取用户管理备份与恢复的记录信息呢?例如,我要查看某个数据库实例做用户管理备份的记录。一般使用下面脚本。似乎用户管理备份比较“简单”,目前我查了相关资料,只看到v$backup记录了相关信息。而且这个系统试图只能查看最后一次用户管理备份的记录信息。看不到相关历史记录信息。可能是这种备份与还原方式较少使用的缘故。远远没有RMAN备份方式的记录信息多。

altersessionsetnls_date_format='yyyy-mm-ddhh24:mi:ss';
setlinesize640;
setpagesize60;
colchange#for999999999999999999;
select*fromv$backup;

在测试环境中,我使用用户管理备份与恢复这种方式还原恢复了整个数据库,然后我查看用户管理备份的还原记录信息如下所示:

SQL>COLresetlogs_change#FOR999999999999999;
SQL>SELECTincarnation#
2,resetlogs_change#
3,TO_CHAR(resetlogs_time,'yyyy-mm-ddhh24:mi:ss')db_restored_time
4,resetlogs_change#
5--,scn_to_timestamp(resetlogs_change#)db_recovery_till_time
6FROMv$database_incarnation
7WHEREresetlogs_change#!=
8(SELECTMIN(resetlogs_change#)FROMv$database_incarnation
9);

INCARNATION#RESETLOGS_CHANGE#DB_RESTORED_TIMERESETLOGS_CHANGE#
-----------------------------------------------------------------
210185362022-03-2414:17:371018536
3157658778653062023-04-0708:59:5115765877865306

SQL>SELECTincarnation#
2,resetlogs_change#
3,TO_CHAR(resetlogs_time,'yyyy-mm-ddhh24:mi:ss')db_restored_time
4,scn_to_timestamp(resetlogs_change#)db_recovery_till_time
5FROMv$database_incarnation
6WHEREresetlogs_change#!=
7(SELECTMIN(resetlogs_change#)FROMv$database_incarnation
8);
,scn_to_timestamp(resetlogs_change#)db_recovery_till_time
*
ERRORatline4:
ORA-08181:specifiednumberisnotavalidsystemchangenumber
ORA-06512:at"SYS.SCN_TO_TIMESTAMP",line1


SQL>

如上所示,虽然可以看到用户管理备份与恢复的操作的时间点,但是查看还原恢复那个时间点是报ORA-08181错误(当然这个要看环境,有些情况下是不会报这个错误的)。我是使用下面脚本恢复的。

recoverdatabaseusingbackupcontrolfileuntiltime'2023-03-2915:59:05';

其实我们可以用下面脚本查询用户管理备份/还原的记录,如下所示:

SQL>altersessionsetnls_date_format='yyyy-mm-ddhh24:mi:ss';

Sessionaltered.

SQL>setlinesize640;
SQL>setpagesize60;
SQL>colunitsfora30;
SQL>colitemfora24;
SQL>coltypefora16;
SQL>colunitsfora12;
SQL>colcommentsfora16;
SQL>colcon_idfor999999;
SQL>select*fromv$recovery_progress;

START_TIMETYPEITEMUNITSSOFARTOTALTIMESTAMPCOMMENTSCON_ID
-------------------------------------------------------------------------------------------------------------------------------------
2023-04-0708:56:39MediaRecoveryLogFilesFiles990
2023-04-0708:56:39MediaRecoveryActiveApplyRateKB/sec319631960
2023-04-0708:56:39MediaRecoveryAverageApplyRateKB/sec358235820
2023-04-0708:56:39MediaRecoveryMaximumApplyRateKB/sec453145310
2023-04-0708:56:39MediaRecoveryRedoAppliedMegabytes6646640
2023-04-0708:56:39MediaRecoveryRecoveryIDRCVID00RCVID:0
2023-04-0708:56:39MediaRecoveryLastAppliedRedoSCN+Time002023-03-2915:59:05SCN:157658778650
305

2023-04-0708:56:39MediaRecoveryActiveTimeSeconds1861860
2023-04-0708:56:39MediaRecoveryApplyTimeperLogSeconds12120
2023-04-0708:56:39MediaRecoveryCheckpointTimeperLogSeconds880
2023-04-0708:56:39MediaRecoveryElapsedTimeSeconds1901900

11rowsselected.

SQL>

扫描上面二维码关注我如果你真心觉得文章写得不错,而且对你有所帮助,那就不妨帮忙“推荐”一下,您的“推荐”和”打赏“将是我最大的写作动力!本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接.