redo

时间:2024-10-26 21:18:30编辑:分享君

请问oracle的redo和undo的两点疑问,谢谢

1、停电的情况,事务不会被提交。实际上,如果细说redo apply和undo apply过程的话,是这样的:数据库先用redo恢复数据文件(包括普通permanent表空间的数据文件和undo表空间的数据文件),这就是你说的“恢复系统到失败点”,这之后开数据库实例会被打开,实例打开后,实例会根据undo中记录的信息回滚未提交的事务。
以下是原厂手册中的说明:
In the context of recovery, the undo information is used to undo the effects of uncommitted transactions, once all the datafile changes from the redo logs have been applied to the datafiles. The database is actually opened before the undo is applied.

You should not have to concern yourself with undo segments or manage them directly as part of your backup and recovery process.




2、磁盘损坏的情况,这种恢复也叫介质恢复,在恢复(recover)之前,需要使用备份先还原(restore)损坏的文件。


Oracle的redo和undo的区别

  redo > undo >datafile insert一条记录时 表跟undo的信息都会放进 redo 中 在mit 或之前 redo 的信息会放进硬盘上 故障时 redo 便可恢复那些已经mit 了的数据 redo >每次操作都先记录到redo日志中 当出现实例故障(像断电) 导致数据未能更新到数据文件 则数据库重启时须redo 重新把数据更新到数据文件 undo >记录更改前的一份copy 但你系统rollback时 把这份copy重新覆盖到原来的数据 redo >记录所有操作 用于恢复(redo records all the database transaction used for recovery) undo >记录所有的前印象 用于回滚(undo is used to store unmited data infor used for rollback) redo >已递交的事务 实例恢复时要写到数据文件去的 undo >未递交的事务 redo的原因是 每次mit时 将数据的修改立即写到online redo中 但是并不一定同时将该数据的修改写到数据文件中 因为该数据已经提交 但是只存在联机日志文件中 所以在恢复时需要将数据从联机日志文件中找出来 重新应用一下 使已经更改数据在数据文件中也改过来!   undo的原因是 在oracle正常运行时 为了提高效率 加入用户还没有mit 但是空闲内存不多时 会由DBWR进程将脏块写入到数据文件中 以便腾出宝贵的内存供其它进程使用 这就是需要UNDO的原因 因为还没有发出mit语句 但是oracle的dbwr进程已经将没有提交的数据写到数据文件中去了 undo 也是也是datafile 可能dirty buffer 没有写回到磁盘里面去 只有先redo apply 成功了 才能保证undo datafile 里面的东西都是正确的 然后才能rollback 做undo的目的是使系统恢复到系统崩溃前(关机前)的状态 再进行redo是保证系统的一致性 不做undo 系统就不会知道之前的状态 redo就无从谈起 所以instance crash recovery 的时候总是先rollforward 再rollback undo 回退段中的数据是以 回退条目 方式存储 回退条目=块信息(在事务中发生改动的块的编号)+在事务提交前存储在块中的数据 在每一个回退段中oracle都为其维护一张 事务表 在事务表中记录著与该回退段中所有回退条目相关的事务编号(事务SCN&回退条目) redo 重做记录由一组 变更向量 组成 每个变更变量中记录了事务对数据库中某个块所做的修改   当用户提交一条mit语句时 LGWR进程会立刻将一条提交记录写入到重做日志文件中 然后再开始写入与该事务相关的重做信息 #事务提交成功后 Oracle将为该事备生成一个系统变更码(SCN) 事务的SCN将同时记录在它的提交记录和重做记录中   mit 提交事务前完成的工作   ·在SGA区的回退缓存中生成该事务的回退条目 在回退条目中保存有该事务所修改的数据的原始版本   ·在SGA区的重做日志缓存中生成该事务的重做记录 重做记录中记载了该事务对数据块所进行的修改 并且还记载了对回退段中的数据块所进行的修改 缓存中的重做记录有可能在事务提交之前就写入硬盘中   ·在SGA区的数据库缓丰中记录了事务对数据库所进行的修改 这些修改也有可能在事务提交之前就写入硬盘中   提交事务时完成的工作   ·在为该事务指定的回退段中的内部事务表内记录下这个事务已经被提交 并且生成一个惟一的SCN记录在内部事务表中 用于惟一标识这个事务   ·LGWR后进进程将SGA区重做日志缓存中的重做记录写入联机重做日志文件 在写入重做日志的同时还将写入该事务的SCN   ·Oracle服务进程释放事务所使用的所有记录锁与表锁   ·Oracle通知用户事务提交完成   ·Oracle将该事务标记为已完成   rollback 回退事务完成的工作   ·Oracle通过使用回退段中的回退条目 撤销事务中所有SQL语句对数据库所做的修改   ·Oracle服务进程释放事务所使用的所有锁   ·Oracle通知事务回退成功   ·Oracle将该事务标记为已完成 lishixinzhi/Article/program/Oracle/201311/16931


AutoCAD的命令都有哪些?作用是什么?

cad快捷键



快捷键 注释 快捷键 注释

A ARC(画弧) IN INTERSECT(求交)

AA AREA(测量面积) L LINE(画线)

AR ARRAY(阵列) LA LAYER(建立图层)

ATT ATTDEF(定义属性) LE QLEADER(快速导引线标注)

ATE ATTEDIT(编辑属性) LEN LENGTHEN(加长)

B BLOCK(定义图块) LI LIST(列表)

BH BHATCH(图案填充) LT LINETYPE(设置线型)

BR BREAK(打断) LTS LTSCALE(设置线型比例)

C CIRCLE(画圆) M MOVE(移动)

CH PROPERTIES(特性修改) MA MATCHPROP(属性匹配)

CHA CHAMFER(倒斜角) ME MEASURE(测量)

COL COLOR(改变物体颜色) MI MIRROR(镜像)

CO COPY(复制) ML MLINE(画多线)

D DIMSTYLE(设置标柱样式) MT MTEXT(多行文字)

DAL DIMALIGNED(对齐标注) O OFFSET(偏移)

DAN DIMANGULAR(角度标注) OP OPTIONS(系统设置)

DBA DIMBASELINE(基线标料) OS OSNAP(物体捕捉)

DCE DIMCENTER(圆心标注) P PAN(视图平移)

DCO DIMCONTINUE(连续标注) PE PEDIT(复和线编辑)

DDI DIMDIAMETER(直径标注) PL PLINE(复合线)

DED DIMEDIT(标注编辑) PO POINT(画点)

DI DIST(测量距离) POL POLYGON(画正多边形)

DIV DIVIDE(等分) PRE PREVIEW(视图预览)

DLI DIMLINEAR(线性标注) PRINT PLOT(打印)

DO DONUT(圆环) R REDRAW(重画)

DOR DIMORDINATE(坐标标注) RE REGEN(重新生成)

DOV DIMOVERRIDE(尺寸更新) REC RECTANGLE(画矩形)

DR DRAWORDER() REN RENAME(改名)

DRA DIMRADIUS(半径标注) RO ROTATE(旋转)

DS DSETTINGS(草图设置) S STRETCH(伸展)

DT DTEXT(动态文本) SC SCALE(比例缩放)

E ERASE(删除) SN SNAP(栅格点捕捉)

ED DDEDIT() SPL SPLINE(画样条曲线)

EL ELLIPSE(画椭圆) SPE SPLINEKIT(编辑样条曲线)

EX EXTEND(延伸到) ST STYLE(设置文字样式)

EXIT QUIT(退出) T MTEXT(多行文字)

EXP EXPORT(炸开) TO TOOLBAR(调用工具条)

F FILLET(倒圆角) TR TRIM(修剪)

G GROUP(成组) UN UNITS(设置单位)

HE HATCHEDIT(图案填充编辑) W WBLOCK(块存盘)

I INSERT(插入块) Z ZOOM(视图缩放)

IMP IMPORT(导入)




“AutoCAD 2000快捷键”经典值得收藏

AutoCAD 2000快捷命令的使用
AutoCAD 是目前世界各国工程设计人员的首选设计软件,简便易学、精确无误是AutoCAD成功的两个重要原因。AutoCAD提供的命令有很多,绘图时最常用的命令只有其中的百分之二十。采用键盘输入命令时由于有些常用命令较长,如 BHATCH(填充)、EXPLODE(分解),在输入时击键次数多,影响了绘图速度。虽然AutoCAD 提供了完善的菜单和工具栏两种输入方法,但是要提高绘图速度,只有掌握Auto CAD提供的快捷的命令输入方法。

笔者在进行AutoCAD设计、培训和教学研究时,对于快捷命令的使用和管理积累了一些体验,现总结出,以供大家使用AutoCAD 2000时参考。

一、概述:

所谓的快捷命令,是AutoCAD为了提高绘图速度定义的快捷方式,它用一个或几个简单的字母来代替常用的命令,使我们不用去记忆众多的长长的命令,也不必为了执行一个命令,在菜单和工具栏上寻寻匿匿。所有定义的快捷命令都保存在AutoCAD安装目录下SUPPORT子目录中的ACAD.PGP文件中,我们可以通过修改该文件的内容来定义自己常用的快捷命令。

当我们每次新建或打开一个AutoCAD绘图文件时,CAD本身会自动搜索到安装目录下的SUPPORT路径,找到并读入ACAD.PGP文件。当AutoCAD正在运行的时候,我们可以通过命令行的方式,用ACAD.PGP文件里定义的快捷命令来完成一个操作,比如我们要画一条直线,只需要在命令行里输入字母“L”即可。

二、快捷命令的命名规律

1、 快捷命令通常是该命令英文单词的第一个或前面两个字母,有的是前三个字母。
比如,直线(Line)的快捷命令是“L”;复制(COpy)的快捷命令是“CO”;线型比例(LTScale)的快捷命令是“LTS”。

在使用过程中,试着用命令的第一个字母,不行就用前两个字母,最多用前三个字母,也就是说,AutoCAD的快捷命令一般不会超过三个字母,如果一个命令用前三个字母都不行的话,只能输入完整的命令。

2、 另外一类的快捷命令通常是由“Ctrl键 + 一个字母”组成的,或者用功能键F1~F8来定义。比如Ctrl键+“N”,Ctrl键+“O”,Ctrl键+“S”,Ctrl键+“P”分别表示新建、打开、保存、打印文件;F3表示“对象捕捉”。

3、 如果有的命令第一个字母都相同的话,那么常用的命令取第一个字母,其它命令可用前面两个或三个字母表示。比如“R”表示Redraw,“RA”表示Redrawall;比如“L”表示Line,“LT”表示LineType,“LTS”表示LTScale。

4、 个别例外的需要我们去记忆,比如“修改文字”(DDEDIT)就不是“DD”,而是“ED”;还有“AA”表示Area,“T”表示Mtext, “X”表示 Explode。

三、快捷命令的定义

全面已经提到,AutoCAD所有定义的快捷命令都保存ACAD.PGP文件中。ACAD.PGP是一个纯文本文件,用户可以使用ASCⅡ文本编辑器(如DOS下的EDIT)或直接使用WINDOWS附件中的记事本来进行编辑。用户可以自行添加一些Auto CAD命令的快捷方式到文件中。

通常,快捷命令使用一个或两个易于记忆的字母,并用它来取代命令全名。快捷命令定义格式如下:

快捷命令名称, * 命令全名
如: CO , * COPY
即键入快捷命令后,再键入一个逗号和快捷命令所替代的命令全称。AutoCAD的命令必须用一个星号作为前缀。
【参考文献】
陈通等,《AutoCAD 2000中文版入门与提高》,清华大学出版社,2000年7月出版
附:常见的快捷命令
(一)字母类
1、对象特性
ADC, *ADCENTER(设计中心“Ctrl+2”)
CH, MO *PROPERTIES(修改特性“Ctrl+1”)
MA, *MATCHPROP(属性匹配)
ST, *STYLE(文字样式)
COL, *COLOR(设置颜色)
LA, *LAYER(图层操作)
LT, *LINETYPE(线形)
LTS, *LTSCALE(线形比例)
LW, *LWEIGHT (线宽)
UN, *UNITS(图形单位)
ATT, *ATTDEF(属性定义)
ATE, *ATTEDIT(编辑属性)
BO, *BOUNDARY(边界创建,包括创建闭合多段线和面域)
AL, *ALIGN(对齐)
EXIT, *QUIT(退出)
EXP, *EXPORT(输出其它格式文件)
IMP, *IMPORT(输入文件)
OP,PR *OPTIONS(自定义CAD设置


上一篇:露得清怎么样

下一篇:没有了