ORACLE如何查看用户管理备份与恢复的记录

打印 上一主题 下一主题

主题 1038|帖子 1038|积分 3118

在Oracle数据库中,如果我们使用用户管理备份与恢复(User-Managed Backup and Recovery)方式去备份还原数据库的话,如何获取用户管理备份与恢复的记录信息呢?例如,我要查看某个数据库实例做用户管理备份的记录。一般使用下面脚本。似乎用户管理备份比较“简单”,目前我查了相关资料,只看到v$backup记录了相关信息。而且这个系统试图只能查看最后一次用户管理备份的记录信息。看不到相关历史记录信息。可能是这种备份与还原方式较少使用的缘故。远远没有RMAN备份方式的记录信息多。
  1. 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>
复制代码
在测试环境中,我使用用户管理备份与恢复这种方式还原恢复了整个数据库,然后我查看用户管理备份的还原记录信息如下所示:
  1. 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错误(当然这个要看环境,有些情况下是不会报这个错误的)。我是使用下面脚本恢复的。
  1. recover database using backup controlfile until time '2023-03-29 15:59:05';<br>
复制代码
其实我们可以用下面脚本查询用户管理备份/还原的记录,如下所示:
  1. 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>
复制代码
扫描上面二维码关注我如果你真心觉得文章写得不错,而且对你有所帮助,那就不妨帮忙“推荐"一下,您的“推荐”和”打赏“将是我最大的写作动力!本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接.
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

东湖之滨

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表