v$archived_log视图

 

 1 查询方法

SQL> set lines 200

SQL> col name for a100

SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';

Session altered.

SQL> select name,completion_time,status from v$archived_log;

2 参数Status的解释

STATUS=A Available,表示归档日志文件有效

STATUS=U Unavailable,表示归档日志文件无效

STATUS=D Deleted,表示归档日志已经被删除

STATUS=X eXpired,表示归档日志被用户使用操作系统的命令删除了

3 手工移动归档日志

今天,将其中一个归档日志移动其他目录,再移回来。日志文件的Status就变成了X

处理方法:将日志移动相应的位置。再在Rman中运行:crosscheck archivelog all

 

RMAN> crosscheck archivelog all;

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=84 devtype=DISK

validation succeeded for archived log

archive log filename=/app/oracle/flash_recovery_area/TEST/archivelog/2011_05_17/o1_mf_1_15_6x3s7xyc_.arc recid=7 stamp=751374078

validation succeeded for archived log

archive log filename=/app/oracle/flash_recovery_area/TEST/archivelog/2011_05_17/o1_mf_1_16_6x3tqoo6_.arc recid=8 stamp=751375605

validation succeeded for archived log

archive log filename=/app/oracle/flash_recovery_area/TEST/archivelog/2011_05_17/o1_mf_1_17_6x3tqs9w_.arc recid=9 stamp=751375609

validation succeeded for archived log

archive log filename=/app/oracle/flash_recovery_area/TEST/archivelog/2011_05_17/o1_mf_1_18_6x3tqycj_.arc recid=10 stamp=751375614

validation succeeded for archived log

archive log filename=/app/oracle/flash_recovery_area/TEST/archivelog/2011_05_17/o1_mf_1_19_6x3tr29k_.arc recid=11 stamp=751375618

validation succeeded for archived log

archive log filename=/app/oracle/flash_recovery_area/TEST/archivelog/2011_05_17/o1_mf_1_20_6x3trfbf_.arc recid=12 stamp=751375629

validation succeeded for archived log

archive log filename=/app/oracle/flash_recovery_area/TEST/archivelog/2011_05_17/o1_mf_1_21_6x3trkbm_.arc recid=13 stamp=751375633

validation succeeded for archived log

archive log filename=/app/oracle/flash_recovery_area/TEST/archivelog/2011_05_17/o1_mf_1_22_6x3xg7hs_.arc recid=14 stamp=751378375

validation succeeded for archived log

archive log filename=/app/oracle/flash_recovery_area/TEST/archivelog/2011_05_17/o1_mf_1_23_6x3xm1t4_.arc recid=15 stamp=751378529

validation succeeded for archived log

archive log filename=/app/oracle/flash_recovery_area/TEST/archivelog/2011_05_17/o1_mf_1_24_6x3xmfm2_.arc recid=16 stamp=751378541

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle数据库中,可以通过查看数据库的redo日志来获取commit命令的执行时间。Redo日志是数据库事务的基础,它记录了所有修改数据库的操作,包括commit命令。 以下是查看commit命令执行时间的步骤: 1. 首先,使用v$session视图或者v$transaction视图,找到commit操作所在的会话或事务的ID。 例如,使用以下语句查找最近一次commit操作所在的会话ID: ``` SELECT SID, SERIAL#, LOGON_TIME FROM V$SESSION WHERE USERNAME = 'your_username' AND ROWNUM = 1 ORDER BY LOGON_TIME DESC; ``` 2. 使用v$log_history视图或v$archived_log视图来查找commit操作所在的日志文件。 例如,使用以下语句查找包含最近一次commit操作的日志文件: ``` SELECT FIRST_TIME, NEXT_TIME, NAME FROM V$ARCHIVED_LOG WHERE FIRST_TIME <= (SELECT MAX(TIME) FROM V$TRANSACTION) AND NEXT_TIME >= (SELECT MAX(TIME) FROM V$TRANSACTION); ``` 3. 找到对应的日志文件,使用LogMiner等工具来解析日志文件中的信息,包括commit命令的执行时间。 例如,使用以下语句在当前数据库中解析commit命令所在的日志文件: ``` BEGIN DBMS_LOGMNR.START_LOGMNR( STARTTIME => TO_DATE('2021-11-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), ENDTIME => TO_DATE('2021-11-02 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), OPTIONS => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG + DBMS_LOGMNR.CONTINUOUS_MINE ); END; ``` 以上是在当前数据库中解析日志文件的方法,也可以使用LogMiner工具在外部解析日志文件。解析完成后,可以通过查询V$LOGMNR_CONTENTS视图获取commit命令的执行时间等信息。 注意,LogMiner的使用需要具备一定的权限和技术能力,建议在测试环境中进行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值