阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Oracle基础教程之如何 dump logfile

167次阅读
没有评论

共计 4009 个字符,预计需要花费 11 分钟才能阅读完成。

这篇文章解释了如何在联机或归档重做日志文件中获取转储。

约束和限制:
1。数据库必须安装 (或打开)。
更改系统转储日志文件与任何实例无关,因此不需要为其操作安装数据库。
但是,在 ALTER SYSTEM DUMP REDO 的情况下,系统需要知道实例是什么,以及其他日志文件在哪里。
此查找需要控制文件,因此必须安装或打开数据库。

2。DUMP REDO 限制在控制文件中识别的日志文件集。
因为我们在控制文件中查找日志文件和实例,如果在控制文件中有未引用的重做日志,那么这些重做日志将不会在转储文件中被考虑。
这样做的一个例子是,如果将日志文件删除,手动或实例从 RAC 集群中删除。

3。所有的日志文件都必须从调用实例中访问,尽管所有的联机重做日志都存储在共享磁盘上,但是每个实例的归档日志不需要。

下面介绍了转储重做日志文件的方法:

1. To dump records based in DBA (Data Block Address)
2. To dump records based on RBA (Redo Block Address)
3. To dump records based on SCN
4. To dump records based on time
5. To dump records based on layer and opcode
6. Dump the file header information
7. Dump an entire log file:

1. To dump records based on DBA (Data Block Address)
 ————————————————–

This will dump all redo records for the range of data
blocks specified for a given file # and block # range.

From sqlplus (sqldba or svrmgr for older versions), issue the following command:

ALTER SYSTEM DUMP LOGFILE ‘filename’
 DBA MIN fileno blockno
 DBA MAX fileno blockno;

 Example:
 ========
 ALTER SYSTEM DUMP LOGFILE ‘u01/Oracle/V7323/dbs/arch1_76.dbf’
 DBA MIN 5 31125
 DBA MAX 5 31150;

这将导致对指定范围的数据块进行所有更改。
转储到跟踪文件。在给定的示例中,所有重做文件 #5 的记录,
第 31125 至 31150 条被 dump

Note
====
For 10g:
ALTER SYSTEM DUMP LOGFILE ‘u01/oracle/V7323/dbs/arch1_76.dbf’
 DBA MIN 5 . 31125 DBA MAX 5 31150;

will raise:
 ORA-01963: Must specify a block number

In 10g we need to skip the dot ‘.’ while doing the redo dumps
 ALTER SYSTEM DUMP LOGFILE ‘u01/oracle/V7323/dbs/arch1_76.dbf’
 DBA MIN 5 31125 DBA MAX 5 31150;

2. To dump records based on RBA (Redo Block Address)
 ————————————————-

This will dump all redo records for the range of redo
addresses specified for the given sequence number and block number.

Syntax:
ALTER SYSTEM DUMP LOGFILE ‘filename’
 RBA MIN seqno blockno
 RBA MAX seqno blockno;

Example:
ALTER SYSTEM DUMP LOGFILE ‘u01/oracle/V7323/dbs/arch1_76.dbf’
 RBA MIN 2050 13255
 RBA MAX 2255 15555;

3. To dump records based on SCN
 —————————-

Using this option will cause redo records owning changes within the SCN range
specified to be dumped to the trace file.

ALTER SYSTEM DUMP LOGFILE ‘filename’
 SCN MIN minscn
 SCN MAX maxscn;

Example:
ALTER SYSTEM DUMP LOGFILE ‘u01/oracle/V7323/dbs/arch1_76.dbf’
 SCN MIN 103243
 SCN MAX 103294;

If the purpose is to check the dumpfile you can rather do the following,
SQL> ALTER SYSTEM DUMP LOGFILE ‘filename’ SCN MIN 1 SCN MAX 1;

If the above completes sucessfully it ensures no issues with the archivelog.

4. To dump records based on time.
 ——————————

Using this option will cause redo records created within the time range
specified to be dumped to the trace file.

From sqlplus (sqldba or svrmgr for older versions), issue the following command:

ALTER SYSTEM DUMP LOGFILE ‘filename’
 TIME MIN value
 TIME MAX value;

 Example:
 ========
 ALTER SYSTEM DUMP LOGFILE ‘u01/oracle/V7323/dbs/arch1_76.dbf’
 TIME MIN 299425687
 TIME MAX 299458800;

 Please Note: the time value is given in REDO DUMP TIME

5. To dump records based on layer and opcode.
 ——————————————

LAYER and OPCODE are used to dump all log records for a particular type of
redo record, such as all dropped row pieces.

From sqlplus (sqldba or svrmgr for older versions), issue the following command:

ALTER SYSTEM DUMP LOGFILE ‘filename’
 LAYER value
 OPCODE value;

 Example:
 ========
 ALTER SYSTEM DUMP LOGFILE ‘u01/oracle/V7323/dbs/arch1_76.dbf’
 LAYER 11
 OPCODE 3;

6. Dump the file header information:
 ———————————

This will dump file header information for every
online redo log file.

From sqlplus (sqldba or svrmgr for older versions), issue the following command:

 alter session set events ‘immediate trace name redohdr level 10’;

For dumping archivelog header,issue the following command:

ALTER SYSTEM DUMP LOGFILE ‘filename’ RBA MIN 1 1 RBA MAX 1 1;

7. Dump an entire log file:
 ————————

From sqlplus (sqldba or svrmgr for older versions), issue the following command:

ALTER SYSTEM DUMP LOGFILE ‘filename’;

 Please note:
 Fully qualify the filename, and include the single quotes.

Example:
 ========
 ALTER SYSTEM DUMP LOGFILE ‘u01/oracle/V7323/dbs/arch1_76.dbf’;

补充:
ALTER SYSTEM DUMP REDO [option] …. [option];

[options] -> scn min [scn] | scn max [scn] |
 dba min [file#] [block#] | dba max [file#] [block#] |
 time min [ub4] | time max [ub4] |
 layer [word] |
 opcode [word] |
 objno [word] |
 xid [undoseg#] [slot#] [wrap#] |
 validate

参考:How to Dump Redo Log File Information (文档 ID 1031381.6)

更多 Oracle 相关信息见Oracle 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=12

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计4009字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中