[20170411]bbed计算redo检查和.txt

[20170411]bbed计算redo检查和.txt

--前一阵子做测试,需要一个计算器做异或的操作,链接http://blog.itpub.net/267265/viewspace-2134945/
--正好前几天开会遇到熟人,谈起我写的脚本很实用。我说不支持管道操作不是很好,对方讲支持,他自己就是这样用的。

$ cat ~/bin/xor.sh
#! /bin/bash
# just play , calc xor!!

s='0'
for i in $(cat $1| tr 'a-f' 'A-F')
do
    #echo "obase=16;ibase=16; xor($s,$i)"
    echo $i
    [ $i != '0000' ] &&  s=$(echo "obase=16;ibase=16; xor($s,$i)" | bc -l ~/bc/logic.bc)
done
echo -e "\nxor result: $s \n"

--//我再仔细看才明白如果不存在$1,就通过输入来接收数值。也就是执行执行输入参数也可以。

$ xor.sh
5 7
5
7
xor result: 2

$ echo 5 7 | xor.sh
5
7
xor result: 2

--//实际上bbed也可以,自己测试看看。

1.环境:
SCOTT@book> @ &r/ver1
PORT_STRING                    VERSION        BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

SCOTT@book> alter system dump logfile '/u01/app/oracle/archivelog/book/1_821_896605872.dbf' validate;
System altered.

DUMP OF REDO FROM FILE '/u01/app/oracle/archivelog/book/1_821_896605872.dbf'
Opcodes *.*
RBAs: 0x000000.00000000.0000 thru 0xffffffff.ffffffff.ffff
SCNs: scn: 0x0000.00000000 thru scn: 0xffff.ffffffff
Times: creation thru eternity
VALIDATE ONLY
FILE HEADER:
    Compatibility Vsn = 186647552=0xb200400
    Db ID=1337401710=0x4fb7216e, Db Name='BOOK'
    Activation ID=1337448558=0x4fb7d86e
    Control Seq=39112=0x98c8, File size=102400=0x19000
    File Number=1, Blksiz=512, File Type=2 LOG
descrip:"Thread 0001, Seq# 0000000821, SCN 0x00031764db63-0x00031764fb91"
thread: 1 nab: 0x39cf seq: 0x00000335 hws: 0x2 eot: 0 dis: 0
resetlogs count: 0x35711eb0 scn: 0x0000.000e2006 (925702)
prev resetlogs count: 0x3121c97a scn: 0x0000.00000001 (1)
Low  scn: 0x0003.1764db63 (13277387619) 04/11/2017 08:13:52
Next scn: 0x0003.1764fb91 (13277395857) 04/11/2017 10:02:32
Enabled scn: 0x0000.000e2006 (925702) 11/24/2015 09:11:12
Thread closed scn: 0x0003.1764db63 (13277387619) 04/11/2017 08:13:52
Disk cksum: 0x46d3 Calc cksum: 0x46d3
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Terminal recovery stop scn: 0x0000.00000000
Terminal recovery  01/01/1988 00:00:00
Most recent redo scn: 0x0000.00000000
Largest LWN: 1930 blocks
End-of-redo stream : No
Unprotected mode
Miscellaneous flags: 0x800021
Thread internal enable indicator: thr: 0, seq: 0 scn: 0x0000.00000000
Zero blocks: 8
Format ID is 2
redo log key is ae927dbdcfa81f95689f9787f274818
redo log key flag is 5
Enabled redo threads: 1
END OF REDO DUMP

2.通过bbed观察看看:
BBED> set filename '/u01/app/oracle/archivelog/book/1_821_896605872.dbf'
        FILENAME        /u01/app/oracle/archivelog/book/1_821_896605872.dbf

BBED> show all
        FILE#           0
        BLOCK#          1
        OFFSET          0
        DBA             0x00000000 (0 0,1)
        FILENAME        /u01/app/oracle/archivelog/book/1_821_896605872.dbf
        BIFILE          bifile.bbd
        LISTFILE        /home/oracle/bbed/filelist.txt
        BLOCKSIZE       512
        MODE            Edit
        EDIT            Unrecoverable
        IBASE           Dec
        OBASE           Dec
        WIDTH           160
        COUNT           64
        LOGFILE         log.bbd
        SPOOL           Yes
--//blocksize=512,设置也正常。

BBED> set block 1
        BLOCK#          1

BBED> sum
Check value for File 0, Block 1:
current = 0x0000, required = 0x0000

--//很明显不适合block=1的计算,因为在线日志(或者归档日志)的文件头检查和位于偏移14,15字节。
BBED> dump
File: /u01/app/oracle/archivelog/book/1_821_896605872.dbf (0)
Block: 1                                                    Offsets:    0 to   63                                               Dba:0x00000000
------------------------------------------------------------------------------------------------------------------------------------------------
01220000 01000000 35030000 0080d346 00000000 0004200b 6e21b74f 424f4f4b 00000000 c8980000 00900100 00020000 01000200 6ed8b74f 00000000 00000000
<64 bytes per line>

--//偏移14,15 = d346 ,颠倒过来就是46d3.

BBED> set block 2
        BLOCK#          2

BBED> sum
Check value for File 0, Block 2:
current = 0x0060, required = 0x0060

BBED> dump
File: /u01/app/oracle/archivelog/book/1_821_896605872.dbf (0)
Block: 2                                                    Offsets:    0 to   63                                               Dba:0x00000000
------------------------------------------------------------------------------------------------------------------------------------------------
01220000 02000000 35030000 1080431a 60000000 04020300 63db6417 01000000 8402ac58 c26f5917 00000100 01000000 01000000 0a000000 63db6417 03005917
<64 bytes per line>

--//第2块就OK了。

--//另外bbed许多命令无效的,因为结构对不上,oracle当作数据块读取。仅仅dump之类的命令有效。
--//换一句话如果拿bbed来算,需要将偏移14,15字节清0,在计算看看呢?

$ bvi -s 512 -b 512 1_821_896605872.dbf
--//将偏移14,15字节清0.

$ dd if=1_821_896605872.dbf count=1 bs=512 skip=1 2>/dev/null | xxd -c 16 | cut -c10-50 | xor.sh
...
0000

xor result: D346

--//但是很奇怪bbed计算还是0,不知道为什么?

BBED> set block 1
        BLOCK#          1

BBED> sum
Check value for File 0, Block 1:
current = 0x0000, required = 0x0000

BBED> dump
File: /u01/app/oracle/archivelog/book/1_821_896605872.dbf (0)
Block: 1                                                    Offsets:    0 to   63                                               Dba:0x00000000
------------------------------------------------------------------------------------------------------------------------------------------------
01220000 01000000 35030000 00800000 00000000 0004200b 6e21b74f 424f4f4b 00000000 c8980000 00900100 00020000 01000200 6ed8b74f 00000000 00000000
<64 bytes per line>

--//oracle真奇怪,不知道问题在那里????修改回来。

3.在修改Miscellaneous flags: 0x800021看看:

Miscellaneous flags: 0x800021 => 0x800000.

--//使用bvi修改
BBED> set filename '/u01/app/oracle/archivelog/book/1_821_896605872.dbf'
        FILENAME        /u01/app/oracle/archivelog/book/1_821_896605872.dbf

BBED> set block 1
        BLOCK#          1

BBED> sum
Check value for File 0, Block 1:
current = 0x0000, required = 0x0000


BBED> set filename '/u01/app/oracle/archivelog/book/1_821_896605872.dbf'
        FILENAME        /u01/app/oracle/archivelog/book/1_821_896605872.dbf

BBED> set block 1
        BLOCK#          1

BBED> sum
Check value for File 0, Block 1:
current = 0x0000, required = 0x0021
--//这次计算又对了。当然这个不是检查和。

$ echo d346 2100 0000 | xor.sh
D346
2100
0000
xor result: F246

--//修改偏移14,15=F246.

--//验证
SCOTT@book> alter system dump logfile '/u01/app/oracle/archivelog/book/1_821_896605872.dbf' validate;
System altered.

DUMP OF REDO FROM FILE '/u01/app/oracle/archivelog/book/1_821_896605872.dbf'
Opcodes *.*
RBAs: 0x000000.00000000.0000 thru 0xffffffff.ffffffff.ffff
SCNs: scn: 0x0000.00000000 thru scn: 0xffff.ffffffff
Times: creation thru eternity
VALIDATE ONLY
FILE HEADER:
    Compatibility Vsn = 186647552=0xb200400
    Db ID=1337401710=0x4fb7216e, Db Name='BOOK'
    Activation ID=1337448558=0x4fb7d86e
    Control Seq=39112=0x98c8, File size=102400=0x19000
    File Number=1, Blksiz=512, File Type=2 LOG
descrip:"Thread 0001, Seq# 0000000821, SCN 0x00031764db63-0x00031764fb91"
thread: 1 nab: 0x39cf seq: 0x00000335 hws: 0x2 eot: 0 dis: 0
resetlogs count: 0x35711eb0 scn: 0x0000.000e2006 (925702)
prev resetlogs count: 0x3121c97a scn: 0x0000.00000001 (1)
Low  scn: 0x0003.1764db63 (13277387619) 04/11/2017 08:13:52
Next scn: 0x0003.1764fb91 (13277395857) 04/11/2017 10:02:32
Enabled scn: 0x0000.000e2006 (925702) 11/24/2015 09:11:12
Thread closed scn: 0x0003.1764db63 (13277387619) 04/11/2017 08:13:52
Disk cksum: 0x46f2 Calc cksum: 0x46f2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Terminal recovery stop scn: 0x0000.00000000
Terminal recovery  01/01/1988 00:00:00
Most recent redo scn: 0x0000.00000000
Largest LWN: 1930 blocks
End-of-redo stream : No
Unprotected mode
Miscellaneous flags: 0x800000
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Thread internal enable indicator: thr: 0, seq: 0 scn: 0x0000.00000000
Zero blocks: 8
Format ID is 2
redo log key is ae927dbdcfa81f95689f9787f274818
redo log key flag is 5
Enabled redo threads: 1
END OF REDO DUMP

--//这样oracle认为是在线日志,不是归档文件,无法删除文件,仅仅能从控制文件剔除。

RMAN> delete archivelog sequence 821 ;
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=112 device type=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: SID=123 device type=DISK
allocated channel: ORA_DISK_3
channel ORA_DISK_3: SID=134 device type=DISK
List of Archived Log Copies for database with db_unique_name BOOK
=====================================================================

Key     Thrd Seq     S Low Time
------- ---- ------- - -------------------
1487    1    821     A 2017-04-11 08:13:52
        Name: /u01/app/oracle/archivelog/book/1_821_896605872.dbf


Do you really want to delete the above objects (enter YES or NO)? yes
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of delete command on ORA_DISK_1 channel at 04/11/2017 10:53:59
ORA-19656: cannot backup, copy, or delete online log /u01/app/oracle/archivelog/book/1_821_896605872.dbf

RMAN> delete force archivelog sequence 821  ;
released channel: ORA_DISK_1
released channel: ORA_DISK_2
released channel: ORA_DISK_3
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=112 device type=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: SID=123 device type=DISK
allocated channel: ORA_DISK_3
channel ORA_DISK_3: SID=134 device type=DISK
List of Archived Log Copies for database with db_unique_name BOOK
=====================================================================

Key     Thrd Seq     S Low Time
------- ---- ------- - -------------------
1487    1    821     A 2017-04-11 08:13:52
        Name: /u01/app/oracle/archivelog/book/1_821_896605872.dbf


Do you really want to delete the above objects (enter YES or NO)? yes
deleted archived log
archived log file name=/u01/app/oracle/archivelog/book/1_821_896605872.dbf RECID=1487 STAMP=941018552
Deleted 1 objects

$ ls -l /u01/app/oracle/archivelog/book/1_821_896605872.dbf
-rw-r----- 1 oracle oinstall 7577088 2017-04-11 10:50:41 /u01/app/oracle/archivelog/book/1_821_896605872.dbf

--//仅仅重复了链接http://blog.itpub.net/267265/viewspace-2135379/的测试。
--//oracle可能出于安全的考虑,实际上并没有删除这个文件.毕竟它认为这个文件是在线日志文件^_^.
--//感觉还是我的脚本简单一些。块1的检查和计算还是存在问题。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/267265/viewspace-2137010/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/267265/viewspace-2137010/

Beyond Compare是一款文件差异比较工具的文件和文件夹比较工具,使用该工具可以可视化和调整差异, 合并修改,同步文件夹。支持文件夹比较,文件夹合并和同步,文本比较,表格比较,图片比较,16进制比较,注册表比较,版本比较等;调整差异,合并修改,内置文件浏览器可以针对文件、文件夹之间的差异对比及上传同步。 Beyond Compare 5.0.4.30422是一款先进的文件和文件夹比较工具,它能够帮助用户高效地识别和管理文件差异,支持多种文件类型和格式的比较。使用Beyond Compare,用户可以轻松地对文件夹内容进行同步,无论是进行简单的文件复制还是复杂的项目同步任务。此外,该工具还具备了高级的文件比较功能,如文本比较、表格比较、图片比较、16进制比较以及注册表比较,覆盖了从纯文本到二进制文件的广泛使用场景。 对于文本文件的比较,Beyond Compare提供了语法高亮和行号等辅助功能,让用户在审查代码或文档时能更快地定位差异点。表格比较功能则特别适用于数据分析和处理任务,可以快速识别两个Excel电子表格之间的不同之处。在进行图片文件的比较时,用户可以通过直观的视图了解图片之间的微小差别,这在图像处理和质量控制中尤其有用。 此外,16进制比较功能为开发者提供了深入分析二进制文件差异的手段,无论是在软件开发还是在数据恢复方面都大有裨益。注册表比较则专注于Windows系统的核心配置文件,帮助IT专业人员快速定位系统配置的变化,这对于系统维护和故障排除尤其重要。 Beyond Compare内置的文件浏览器允许用户在一个界面内完成文件的浏览、比较和同步操作,极大的提高了工作效率。内置的差异调整和合并修改功能让同步文件夹的工作更加精确和便捷。用户可以针对不同的文件和文件夹进行个性化设置,实现定制化的比较和同步策略。
内容概要:本文介绍了一种基于Simulink的发电机故障暂态仿真模型,旨在深入研究发电机在发生各类短路故障(如单相接地、两相短路接地及两相相间短路)时电压与电流的动态变化特性。该模型精确构建了发电机及其保护系统的电气结构,能够有效模拟故障瞬间的暂态响应过程,全面分析不同接地方式(中性点不接地、经小电阻接地、经消弧线圈接地)对系统电气量的影响。通过仿真获取的电压、电流波形数据,可用于评估电力系统的暂态稳定性、验证继电保护装置的动作逻辑与灵敏性,并为系统控制策略优化及故障诊断提供理论支撑和技术依据。; 适合人群:电气工程及其自动化、电力系统及其相关专业的高校本科生、研究生、科研人员,以及从事电力系统仿真分析、继电保护设计、电网运行维护等工作的工程技术人员。; 使用场景及目标:①用于高校教学与科学研究中对发电机故障机理及暂态过程的可视化分析与深入探讨;②支撑电力系统安全稳定分析、保护定值整定计算、控制策略优化与应急预案制定;③为实际电网故障后的诊断溯源、事故回溯与应急处置决策提供可靠的仿真平台与理论指导。; 阅读建议:建议读者结合MATLAB/Simulink仿真环境进行实践操作,按照文档指导逐步搭建仿真模型,设置不同类型的故障条件进行对比实验,重点观察并分析电压、电流波形的幅值、相位及衰减特性,深入理解其物理成因与系统影响,有条件者可进一步将模型扩展至多机系统以提升研究的工程应用价值。
源码下载地址: https://pan.quark.cn/s/a4b39357ea24 在信息技术行业,特别是智能手机维修和改进的范畴内,“高通9008免拆机救黑砖教程工具”被视为一种通用的处理手段,它主要服务于那些面对设备无法正常运作或处于“黑砖”状态的消费者。这个压缩文件内含针对搭载高通处理器的智能手机的救援指南与实用工具,其核心目标在于协助用户在不进行物理拆解的前提下,成功进入9008模式,进而完成对手机的修复。 我们必须明确理解“高通9008模式”的概念。9008代表了高通芯片的一种下载状态,也称作EDL(eMMC Download Mode)。在该状态下,用户或技术人员能够直接对手机的存储单元进行编程操作、系统升级或固件回载,以此应对软件层面的故障。此类模式一般应用于手机无法正常启动或遭遇严重故障的场合,属于一种较为根本性的修复措施。 “黑砖”状态描述了手机因软件层面的异常而无法开机或完全失去反应的情况,其成因通常涉及系统崩溃、刷机失败、恶意软件入侵等。当常规的恢复措施如强制重启、恢复界面等手段均告无效时,就需要借助9008模式这类特殊通道来实施修复。 小米品牌手机广泛采用了高通处理器,因此当其产品遭遇黑砖问题时,该教程工具显示出极大的实用价值。此压缩文件可能包含以下组成部分: 1. **救砖教程**:提供详尽的流程说明,引导用户如何安全地将设备导入9008模式,以及如何运用相关工具执行固件恢复或刷新操作。 2. **驱动程序**:高通9008模式的有效运行依赖于特定的驱动程序以实现与电脑的通信,压缩包中或许就整合了这些驱动,用户需先行安装它们以便连接手机并开展修复工作。 3. **线刷工具**:诸如MiFlash、QFIL等工具,它们能够支持用户通过...
内容概要:本文围绕Buck电路双闭环控制模型的仿真研究展开,基于Matlab/Simulink平台构建Buck直流降压变换器的电压-电流双闭环控制系统,深入探讨其动态响应特性、稳态精度及抗干扰能力。通过建立完整的系统模型,重点分析内外环控制结构的协同工作机制,尤其是电压外环与电流内环的耦合关系,并研究PI控制器参数整定对系统性能的影响,旨在提升电源系统的控制精度、稳定性和动态响应速度。该研究为电力电子变换器的高性能控制提供了理论依据与仿真验证手段,适用于直流电源、新能源并网、微电网等领域的控制策略开发。; 适合人群:具备电力电子技术、自动控制原理基础知识,熟悉Matlab/Simulink仿真环境,从事电力电子系统设计、新能源发电控制、电源研发等相关工作的工程技术人员及高校电气工程、自动化等专业的研究生。; 使用场景及目标:①掌握Buck电路的工作原理及其双闭环控制架构的设计方法;②学习在Simulink中搭建电力电子与控制结合的系统仿真模型;③掌握PI控制器的调节规律及其对系统稳定性、响应速度的影响机制;④为后续开展DC-DC变换器优化、数字电源设计、新能源系统控制等高级课题提供扎实的仿真基础和技术储备。; 阅读建议:建议读者结合Simulink仿真模型同步操作,重点关注控制器设计思路与参数调试过程,通过改变PI参数观察系统动态响应变化,加深对控制理论的理解,并可参照文中方法拓展至其他拓扑结构(如Boost、Buck-Boost)的闭环控制研究。
源码下载地址: https://pan.quark.cn/s/9913fd064955 《QFN封装规格说明及其在PCB布局中的实践意义》 QFN(Quad Flat No-Lead)封装,即四方扁平无引脚封装,是一种在微电子设备中普遍采用的表面安装型元件封装技术。此类封装形式因其具备体积极小、重量轻、引脚布局紧凑以及卓越的热传导性能等特点,获得了广泛的应用认可,特别是在高速运作、高效率的集成电路领域展现出突出的优势。本文旨在系统阐述QFN封装的具体规格参数,并深入分析其在PCB布局设计中的关键作用。 QFN封装的核心规格要素涵盖了引脚中心距、封装的横向与纵向尺寸、引脚的竖向高度等。依据呈现的规格示意图可知,QFN封装存在多种不同的规格型号,能够满足各类不同用途的元件需求。诸如A0、A1、A3等规格代号代表了封装的中心定位距离或横向宽度,它们各自的最小值与最大值明确界定了封装的最小极限与最大极限,从而保障了与PCB基板的适配性及运行稳定性。以A0规格为例,其数值范围或许介于0.700mm至0.900mm之间,为设计工作提供了相应的调整空间。 D与E参数一般表征封装的斜边长度,揭示了元件实际占据的物理空间,这对布局规划具有决定性影响。D1和E1则描述了封装内部引脚区域的尺寸,影响着引脚的分布格局和数量配置。kb和eL参数则关联到引脚底部的宽度和长度,它们对焊接成效及元件的机械稳固性具有直接影响。比如,kb参数界定了焊盘的最小尺度与最大尺度,而eL参数则规定了焊盘的长度区间,这些因素均直接关联到元件的焊接成效。 在PCB布局设计环节,QFN封装的规格示意图是不可或缺的参考工具。设计人员需依据封装规格精确地布置焊盘,保障元件能够稳固地安装于PCB基板上,同时防止出现短...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值