SQLPLUS使用视图查看RMAN备份集信息的方法是什么
这篇文章主要介绍“SQLPLUS使用视图查看RMAN备份集信息的方法是什么”,在日常操作中,相信很多人在SQLPLUS使用视图查看RMAN备份集信息的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SQLPLUS使用视图查看RMAN备份集信息的方法是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
关于Oracle数据库的RMAN备份,除了邮件外,是否能通过其它方式检查RMAN备份的成功与失败呢?其实我们可以通过下面SQL脚本来检查某个时间段备份失败的记录:
SELECT*FROMV$RMAN_STATUS
WHERESTART_TIME>=TO_DATE(&START_TIME,'YYYY-MM-DDHH24:MI:SS')
ANDEND_TIME<=TO_DATE(&END_TIME,'YYYY-MM-DDHH24:MI:SS')
ANDOPERATION='BACKUP'
ANDSTATUS!='COMPLETED'
ANDSTATUSNOTLIKE'RUNNING%'
查看备份成功的历史记录:
SELECT*FROMV$RMAN_STATUS
WHERESTART_TIME>=TO_DATE(&START_TIME,'YYYY-MM-DDHH24:MI:SS')
ANDEND_TIME<=TO_DATE(&END_TIME,'YYYY-MM-DDHH24:MI:SS')
ANDOPERATION='BACKUP'
ANDSTATUS='COMPLETED'
其中STATUS主要有RUNNING、RUNNING WITH WARNINGS、RUNNING WITH ERRORS、COMPLETED、COMPLETED WITH WARNINGS、COMPLETED WITH ERRORS、FAILED等几种状态。另外,如果你在命令窗口输入
[oracle@MyDB~]$date
TueJul1910:52:02CST2016
[oracle@MyDB~]$rmantarget/
RecoveryManager:Release10.2.0.5.0-ProductiononTueJul1910:52:132016
Copyright(c)1982,2007,Oracle.Allrightsreserved.
connectedtotargetdatabase:SCM2(DBID=3990839260)
RMAN>
在V$RMAN_STATUS里面,你会看到插入了一条记录STATUS为RUNNING状态
SQL>COLROW_TYPEFORA10;
SQL>COLOPERATIONFORA10;
SQL>COLCOMMAND_IDFORA20;
SQL>COLSTATUSFORA30;
SQL>COLOBJECT_TYPEFORA16;
SQL>SELECTROW_TYPE,COMMAND_ID,OPERATION,STATUS,OBJECT_TYPE
2FROMV$RMAN_STATUS
3WHERESTART_TIME>=TO_DATE('2016-07-1910:52:00','YYYY-MM-DDHH24:MI:SS');
ROW_TYPECOMMAND_IDOPERATIONSTATUSOBJECT_TYPE
-------------------------------------------------------------------------
SESSION2016-07-19T10:52:13RMANRUNNING
此时如果在RMAN中随意执行一个错误命令,如下所示
[oracle@MyDB~]$rmantarget/
RecoveryManager:Release10.2.0.5.0-ProductiononTueJul1910:52:132016
Copyright(c)1982,2007,Oracle.Allrightsreserved.
connectedtotargetdatabase:SCM2(DBID=3990839260)
RMAN>/
RMAN-00571:===========================================================
RMAN-00569:===============ERRORMESSAGESTACKFOLLOWS===============
RMAN-00571:===========================================================
RMAN-00558:errorencounteredwhileparsinginputcommands
RMAN-01006:errorsignalledduringparse
RMAN-02001:unrecognizedpunctuationsymbol"/"
SQL>COLROW_TYPEFORA10;
SQL>COLOPERATIONFORA10;
SQL>COLCOMMAND_IDFORA20;
SQL>COLSTATUSFORA30;
SQL>COLOBJECT_TYPEFORA16;
SQL>SELECTROW_TYPE,COMMAND_ID,OPERATION,STATUS,OBJECT_TYPE
2FROMV$RMAN_STATUS
3WHERESTART_TIME>=TO_DATE('2016-07-1910:52:00','YYYY-MM-DDHH24:MI:SS');
ROW_TYPECOMMAND_IDOPERATIONSTATUSOBJECT_TYPE
-----------------------------------------------------------------------------
SESSION2016-07-19T10:52:13RMANRUNNINGWITHERRORS
在RMAN中退出,此时你会看到STAUS记录从"RUNNING WITH ERRORS"变成了"COMPLETED WITH ERRORS"
也就是说,你可以在这个视图里面查看在RMAN里面执行的一些操作,例如删除归档日志等,另外,如果要查看RMAN的输出,可以查看V$RMAN_OUTPUT,V$RMAN_OUTPUT 视图记录了RMAN生成的信息,这是在内存中额视图,不会记录到控制文件上。最多有37278条记录.
当然也可以从V$RMAN_BACKUP_JOB_DETAILS中查看RMAN备份更详细的信息。
SELECTSTART_TIME,
END_TIME,
OUTPUT_DEVICE_TYPE,
STATUS,
ELAPSED_SECONDS,
COMPRESSION_RATIO,
INPUT_BYTES_DISPLAY,
OUTPUT_BYTES_DISPLAY
FROMV$RMAN_BACKUP_JOB_DETAILS
ORDERBYSTART_TIMEDESC;
另外,如果我们需要查看RMAN备份的一些详细记录,在惜分飞的通过sql查询rman备份信息博客里面分享了下面一些经典的SQL语句。收录在此。
查看所有备份集详细信息:
SELECTA.RECID"BACKUPSET",
A.SET_STAMP,
DECODE(B.INCREMENTAL_LEVEL,
'',DECODE(BACKUP_TYPE,'L','Archivelog','Full'),
1,'Incr-1级',
0,'Incr-0级',
B.INCREMENTAL_LEVEL)
"TypeLV",
B.CONTROLFILE_INCLUDED"包含CTL",
DECODE(A.STATUS,
'A','AVAILABLE',
'D','DELETED',
'X','EXPIRED',
'ERROR')
"STATUS",
A.DEVICE_TYPE"DeviceType",
A.START_TIME"StartTime",
A.COMPLETION_TIME"CompletionTime",
A.ELAPSED_SECONDS"ElapsedSeconds",
A.BYTES/1024/1024/1024"Size(G)",
A.COMPRESSED,
A.TAG"Tag",
A.HANDLE"Path"
FROMGV$BACKUP_PIECEA,GV$BACKUP_SETB
WHEREA.SET_STAMP=B.SET_STAMPANDA.DELETED='NO'
RDERBYA.COMPLETION_TIMEDESC;
查找某个备份集中包含数据文件
SELECTDISTINCTc.file#,A.SET_STAMP,D.NAME,C.CHECKPOINT_CHANGE#,C.CHECKPOINT_TIME
FROMV$BACKUP_DATAFILEC,V$BACKUP_PIECEA,V$DATAFILED
WHEREA.SET_STAMP=C.SET_STAMP
ANDD.FILE#=C.FILE#
ANDA.DELETED='NO'
ANDc.set_stamp=&set_stamp
ORDERBYC.FILE#;
查询某个备份集中控制文件
SELECTDISTINCTA.SET_STAMP,
D.NAME,
C.CHECKPOINT_CHANGE#,
C.CHECKPOINT_TIME
FROMV$BACKUP_DATAFILEC,V$BACKUP_PIECEA,V$CONTROLFILED
WHEREA.SET_STAMP=C.SET_STAMP
ANDC.FILE#=0
ANDA.DELETED='NO'
ANDC.SET_STAMP=&SET_STAMP;
查看某个备份集中归档日志:
SELECTDISTINCTB.SET_STAMP,
B.THREAD#,
B.SEQUENCE#,
B.FIRST_TIME,
B.FIRST_CHANGE#,
B.NEXT_TIME,
B.NEXT_CHANGE#
FROMV$BACKUP_REDOLOGB,V$BACKUP_PIECEA
WHEREA.SET_STAMP=B.SET_STAMP
ANDA.DELETED='NO'
ANDB.SET_STAMP=&SET_STAMP
ORDERBYTHREAD#,SEQUENCE#;
查看某个备份集SPFILE
SELECTDISTINCTA.SET_STAMP,B.COMPLETION_TIME,HANDLE
FROMV$BACKUP_SPFILEB,V$BACKUP_PIECEA
WHEREA.SET_STAMP=B.SET_STAMP
ANDA.DELETED='NO'
ANDB.SET_STAMP=&SET_STAMP;
查看RMAN的配置信息
SELECTNAME,VALUEFROMV$RMAN_CONFIGURATION;
到此,关于“SQLPLUS使用视图查看RMAN备份集信息的方法是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。