这篇文章主要介绍“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备份集信息的方法是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!