在Oracle数据库中,如果我们使用用户管理备份与恢复(User-Managed Backup and Recovery)方式去备份还原数据库的话,如何获取用户管理备份与恢复的记录信息呢?例如,我要查看某个数据库实例做用户管理备份的记录。一般使用下面脚本。似乎用户管理备份比较“简单”,目前我查了相关资料,只看到v$backup记录了相关信息。而且这个系统试图只能查看最后一次用户管理备份的记录信息。看不到相关历史记录信息。可能是这种备份与还原方式较少使用的缘故。远远没有RMAN备份方式的记录信息多。- alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';<br>set linesize 640;<br>set pagesize 60;<br>col change# for 999999999999999999;<br>select * from v$backup;<br>
复制代码 在测试环境中,我使用用户管理备份与恢复这种方式还原恢复了整个数据库,然后我查看用户管理备份的还原记录信息如下所示:- SQL> COL resetlogs_change# FOR 999999999999999;<br>SQL> SELECT incarnation#<br> 2 ,resetlogs_change#<br> 3 ,TO_CHAR(resetlogs_time, 'yyyy-mm-dd hh24:mi:ss') db_restored_time <br> 4 ,resetlogs_change#<br> 5 --,scn_to_timestamp(resetlogs_change#) db_recovery_till_time<br> 6 FROM v$database_incarnation<br> 7 WHERE resetlogs_change# !=<br> 8 (SELECT MIN(resetlogs_change#) FROM v$database_incarnation<br> 9 );<br><br>INCARNATION# RESETLOGS_CHANGE# DB_RESTORED_TIME RESETLOGS_CHANGE#<br>------------ ----------------- ------------------- -----------------<br> 2 1018536 2022-03-24 14:17:37 1018536<br> 3 15765877865306 2023-04-07 08:59:51 15765877865306<br><br>SQL> SELECT incarnation#<br> 2 ,resetlogs_change#<br> 3 ,TO_CHAR(resetlogs_time, 'yyyy-mm-dd hh24:mi:ss') db_restored_time <br> 4 ,scn_to_timestamp(resetlogs_change#) db_recovery_till_time<br> 5 FROM v$database_incarnation<br> 6 WHERE resetlogs_change# !=<br> 7 (SELECT MIN(resetlogs_change#) FROM v$database_incarnation<br> 8 );<br> ,scn_to_timestamp(resetlogs_change#) db_recovery_till_time<br> *<br>ERROR at line 4:<br>ORA-08181: specified number is not a valid system change number<br>ORA-06512: at "SYS.SCN_TO_TIMESTAMP", line 1<br><br><br>SQL><br>
复制代码 如上所示,虽然可以看到用户管理备份与恢复的操作的时间点,但是查看还原恢复那个时间点是报ORA-08181错误(当然这个要看环境,有些情况下是不会报这个错误的)。我是使用下面脚本恢复的。- recover database using backup controlfile until time '2023-03-29 15:59:05';<br>
复制代码 其实我们可以用下面脚本查询用户管理备份/还原的记录,如下所示:- SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';<br><br>Session altered.<br><br>SQL> set linesize 640;<br>SQL> set pagesize 60;<br>SQL> col units for a30;<br>SQL> col item for a24;<br>SQL> col type for a16;<br>SQL> col units for a12;<br>SQL> col comments for a16;<br>SQL> col con_id for 999999;<br>SQL> select * from v$recovery_progress;<br><br>START_TIME TYPE ITEM UNITS SOFAR TOTAL TIMESTAMP COMMENTS CON_ID<br>------------------- ---------------- ------------------------ ------------ ---------- ---------- ------------------- ---------------- -------<br>2023-04-07 08:56:39 Media Recovery Log Files Files 9 9 0<br>2023-04-07 08:56:39 Media Recovery Active Apply Rate KB/sec 3196 3196 0<br>2023-04-07 08:56:39 Media Recovery Average Apply Rate KB/sec 3582 3582 0<br>2023-04-07 08:56:39 Media Recovery Maximum Apply Rate KB/sec 4531 4531 0<br>2023-04-07 08:56:39 Media Recovery Redo Applied Megabytes 664 664 0<br>2023-04-07 08:56:39 Media Recovery Recovery ID RCVID 0 0 RCVID: 0<br>2023-04-07 08:56:39 Media Recovery Last Applied Redo SCN+Time 0 0 2023-03-29 15:59:05 SCN: 15765877865 0<br> 305<br><br>2023-04-07 08:56:39 Media Recovery Active Time Seconds 186 186 0<br>2023-04-07 08:56:39 Media Recovery Apply Time per Log Seconds 12 12 0<br>2023-04-07 08:56:39 Media Recovery Checkpoint Time per Log Seconds 8 8 0<br>2023-04-07 08:56:39 Media Recovery Elapsed Time Seconds 190 190 0<br><br>11 rows selected.<br><br>SQL><br>
复制代码 扫描上面二维码关注我如果你真心觉得文章写得不错,而且对你有所帮助,那就不妨帮忙“推荐"一下,您的“推荐”和”打赏“将是我最大的写作动力!本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接.
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |