博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[20170310]关于在线日志与归档4.txt
阅读量:6433 次
发布时间:2019-06-23

本文共 3902 字,大约阅读时间需要 13 分钟。

[20170310]关于在线日志与归档4.txt

--//如果你顺便看归档日志目录,在线日志50M,你可以发现最大归档43M上下.也就是在线日志大于45M后面这些块基本不会写入日志记录信息.

--//比如查询如下:

#  ls -l -S -h /data/log/ORCL/archivelog/| head -10

total 27G
-rw-r----- 1 oracle oinstall  43M 2017-03-02 10:53:07 0001_0000051850_628034536.dbf
-rw-r----- 1 oracle oinstall  43M 2017-03-08 15:56:59 0001_0000051935_628034536.dbf
-rw-r----- 1 oracle oinstall  42M 2017-01-24 09:01:13 0001_0000051406_628034536.dbf
-rw-r----- 1 oracle oinstall  42M 2017-01-17 23:03:54 0001_0000051326_628034536.dbf
-rw-r----- 1 oracle oinstall  42M 2017-02-03 09:04:49 0001_0000051495_628034536.dbf
-rw-r----- 1 oracle oinstall  42M 2017-02-13 17:54:24 0001_0000051631_628034536.dbf
-rw-r----- 1 oracle oinstall  42M 2017-01-11 09:01:24 0001_0000051242_628034536.dbf
-rw-r----- 1 oracle oinstall  42M 2017-02-16 09:34:58 0001_0000051668_628034536.dbf
-rw-r----- 1 oracle oinstall  42M 2017-01-11 23:00:25 0001_0000051250_628034536.dbf

--//这样看看这些没有写入日志的数据块情况:

--//看看49M这个位置开始的情况.

1.环境:

SYS@book> @ &r/ver

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

SYS@book> @ &r/logfile

GROUP# STATUS TYPE    MEMBER                          IS_ GROUP# THREAD# SEQUENCE#    BYTES BLOCKSIZE MEMBERS ARC STATUS   FIRST_CHANGE# FIRST_TIME          NEXT_CHANGE# NEXT_TIME
------ ------ ------- ------------------------------- --- ------ ------- --------- -------- --------- ------- --- -------- ------------- ------------------- ------------ -------------------
     1        ONLINE  /mnt/ramdisk/book/redo01.log    NO       1       1       695 52428800       512       1 YES INACTIVE   13276910949 2017-02-28 14:40:12  13276931102 2017-03-09 10:01:48
     2        ONLINE  /mnt/ramdisk/book/redo02.log    NO       2       1       696 52428800       512       1 YES INACTIVE   13276931102 2017-03-09 10:01:48  13276931986 2017-03-09 10:02:36
     3        ONLINE  /mnt/ramdisk/book/redo03.log    NO       3       1       697 52428800       512       1 NO  CURRENT    13276931986 2017-03-09 10:02:36 2.814750E+14
     4        STANDBY /mnt/ramdisk/book/redostb01.log NO
     5        STANDBY /mnt/ramdisk/book/redostb02.log NO
     6        STANDBY /mnt/ramdisk/book/redostb03.log NO
     7        STANDBY /mnt/ramdisk/book/redostb04.log NO
7 rows selected.

--// 拿/mnt/ramdisk/book/redo02.log 分析.

--// 49m 位于49*1024*1024=51380224 49*1024*1024/512=100352块位置.

2.探究:

$ xxd -c 16 -seek 51380224 -l 512 -a /mnt/ramdisk/book/redo02.log

3100000: 0122 0000 0088 0100 0000 0000 0080 002a  ...............*
3100010: 0000 0000 0000 0000 0000 0000 0000 0000  ................
*
31001f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................

--//可以发现仅仅前面16字节由信息,实际上这个就是日志日志块的header为16bytes.

$ xxd -c 16 -seek 51380224 -l 512 -a /mnt/ramdisk/book/redo01.log

3100000: 0122 0000 0088 0100 0000 0000 0080 002a  ...............*
3100010: 0000 0000 0000 0000 0000 0000 0000 0000  ................
*
31001f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................

$ xxd -c 16 -seek 51380224 -l 512 -a /mnt/ramdisk/book/redo03.log

3100000: 0122 0000 0088 0100 0000 0000 0080 002a  ...............*
3100010: 0000 0000 0000 0000 0000 0000 0000 0000  ................
*
31001f0: 0000 0000 0000 0000 0000 0000 0000 0000  ................

$ xxd -c 16 -seek 51380224 -l 512 -a /mnt/ramdisk/book/redo03.log |md5sum

05820513d808b3517ff90a57f093ac82  -
$ xxd -c 16 -seek 51380224 -l 512 -a /mnt/ramdisk/book/redo02.log |md5sum
05820513d808b3517ff90a57f093ac82  -
$ xxd -c 16 -seek 51380224 -l 512 -a /mnt/ramdisk/book/redo01.log |md5sum
05820513d808b3517ff90a57f093ac82  -

--//说明位置一样对于"空白"内容是一样的,而且里面不可能有group#号信息.这样完全可以从一个好的日志文件尾部来合并归档文件来建立

--//一个好的日志文件.从而欺骗oracle.

--//继续探究这16字节内容:

--//偏移0x14-0x15 是检查和.前面测试已经说明.
49*1024*1024=51380224
49*1024*1024/512=100352
100352 = 0x18800

3100000: 0122 0000 0088 0100 0000 0000 0080 002a  ...............*

                   ~~~~~~~~~
--//4个字节颠倒 0001 8800,顺便复习使用od查看(各种命令参数不同意,烦!!,注4个字节我对调显示):

$ od  -j 51380224  -N 512 -t x4 /mnt/ramdisk/book/redo02.log

304000000 00002201 00018800 00000000 2a008000
304000020 00000000 00000000 00000000 00000000
*
304001000
--//也就是第4-7偏移表示块地址.

转载地址:http://htaga.baihongyu.com/

你可能感兴趣的文章
控制台下的字符图像界面
查看>>
c++ 数组形参
查看>>
Memcache的安全
查看>>
KVM/Xen and libvirt: currentMemory, memory and ballooning
查看>>
metasploit 笔记
查看>>
hdu 2845(最大不连续子序列)
查看>>
J2me的异常处理和多线程
查看>>
选择、生成-EA与数据库的交互-by小雨
查看>>
客户网页WIZnet无线解决方案 之 太阳能逆变器
查看>>
CCRepeatForever和CCDelayTime
查看>>
android jni aotf 错误
查看>>
Azkaban的功能特点(二)
查看>>
[RxJS] Add debug method to Observable in TypeScript
查看>>
1、金融之关于BIAS
查看>>
[转]ASP.NET Core基本原理(11)-管理应用程序状态
查看>>
VS Code搭建.NetCore开发环境(一)
查看>>
01字典树贪心查询+建立+删除(个人模版)
查看>>
java-信息安全(十一)-非对称加密算法ECC以及ECDSA签名
查看>>
(转)Flex的编译过程--ActionScript字节码(ABC)
查看>>
Directory Listing Denied
查看>>