虽然使用LIST、REPORT等RMAN命令时也能显示备份信息,不过使用那些命令后看到的都是结果,而通过Oracle数据库中的一些动态性能视图,不仅仅能够看到备份信息,甚至还能在备份过程中监控备份进度,查看当前进行的操作等。
什么是动态性能视图?
可以将其理解成由Oracle提供的存在于内存中的虚拟视图。这批视图由Oracle的后台进程自行维护,访问的时候与普通表或视图一样,但用户只能读取而无法插入、修改或删除这些视图中的内容。这一系列视图在数据库调优方面具有重要的、不可替代的作用,而且功能完善、数量庞大。关于动态性能视图的全面介绍超出本书内容,感兴趣的朋友请参考相关书籍或阅读官方文档,本小节中仅介绍部分与RMAN备份恢复相关的常用动态性能视图。
1.1 V$ARCHIVED_LOG视图
本视图包含了归档重做日志文件的信息,如归档文件的名称、归档路径等。该视图中数据来自于控制文件,一般是当一个Online Redologs完成归档后,就会在控制文件中插入一条记录,如果归档目录有多个的话,则同时插入对应数量的记录(当然路径肯定不同),另外当通过RMAN恢复归档文件或复制归档文件时,也会插入对应的记录。
通过DESC命令查看可以看到该视图包括的列有很多:
与V$BACKUP_SET一样,V$BACKUP_PIECE也有一个对应的记录详细信息的视图V$BACKUP_PIECE_DETAILS,该视图中除了包含V$BACKUP_PIECE中的列外,还提供了一些额外的信息。
1.4 V$BACKUP_CORRUPTION视图
这个视图中记录了备份集中发现的损坏的数据块,通常是当你在RMAN中执行了BACKUP VALIDATE命令对备份集进行检查后,如果发现有操作的数据块,就会向该视图中插入记录。注意不包括控制文件或归档文件,因为这两类文件都是独立个体,一旦损坏就表示彻底完蛋,不可修复,不像数据块,就算某个数据块坏了也没关系,还可以用其他备份集中匹配的数据进行修复。
通过DESC查看:
V$PROCESS视图中的一条记录对应操作系统中的一个进程(Windows中为线程),该视图中的SPID即操作系统中的进程号,通过该视图就可以将Oracle中的会话、连接与操作系统中的进程关联起来。
例如:通过下列SQL语句,通过关联查询V$PROCESS和V$SESSION获得执行RMAN操作的进程的SID与SPID信息:
V$SESSION_LONGOPS视图本意是记录Oracle数据库中执行时间超过6秒的操作,由于RMAN备份操作涉及大量I/O读写,多数情况下肯定会超过6秒,因此通过该视图查询RMAN操作正合适。
该视图中的列并不是很多,需要我们关注的主要有下列几个:
SID:会话的标识,具有唯一性,通常要对某个会话进行分析前,首先就需要获得该会话的SID。
SERIAL#:会话的序号。
OPNAME:操作描述信息,如RMAN: full datafile backup或RMAN: full datafile restore。
SOFAR:已完成的工作量。
TOTALWORK:要完成的工作总量。
MESSAGE:当前操作的统计信息。
SQL_ADDRESS:执行SQL的地址。
SQL_HASH_VALUE:执行SQL的HASH值,与SQL_ADDRESS关联查询其他SQL相关视图后即可查询会话当前正在执行的SQL语句。
可以通过如下SQL语句获得正在进行的镜像复制操作的状态信息:
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员