Oracle数据库事务处理和故障恢复

来源:互联网 发布:钢琴键盘软件下载 编辑:程序博客网 时间:2024/04/19 04:44

 

ORACLE数据务处理和故障恢
一、并控制
数据是一个共享源,可多个用程序所共享。些程序可串行运行,但在多情况下,由于用程序及的数据量可能很大,常常会/出的交了有效地利用数据库资源,可能多个程序或一个程序的多个程并行地运行,就是数据的并行操作。在多用数据库环境中,多个用程序可并行地存取数据,如果不操作行控制,会存取不正确的数据,或破坏数据数据的一致性。
1数据不一致的
不一致性
在一事,其它提交的或未提交事的修改是然的,以致由查询所返回的数据集不与任何点相一致。
不可重复读
在一个事内,两个相同查询将返回不同数据,由于查询注意到其它提交事的修改而引起。
读脏数据
如果事T1将一A)修改,然后事T2读该值,在之后T1由于某原因撤销对该值的修改,这样造成T2取的的。
失更改
在一事中一修改重写另一事的修改。
破坏性的DDL操作
在一用修改一表的数据,另一用更改或表。
2)封
在多用数据中一般采用某些数据封来解决并操作中的数据一致性和完整性问题。封是防止存取同一源的用破坏性的干的机制,是指不正确地修改数据或不正确地更改数据构。
在多用数据中使用两:排它(用)封和共享封。排它封禁止相关资源的共享,如果一事以排它方式封源,仅仅该可更改该资源,直至放排它封。共享封关资源可以共享,几个用时读同一数据,几个事可在同一源上取共享封。共享封比排它封具有更高的数据并行性。
在多用中使用封后会出,引起一些事不能继续工作。当两个或多个用彼此等待所封数据生死
3ORACLE一致性模型。
ORACLE利用事和封机制提供数据并存取和数据完整性。在一事内由取的全部封在事被保持,防止其它并行事的破坏性干。一个事SQL句所作的修改在它提交之后所启的事中才是可的。在一事中由句所取的全部封提交或回滚时放。
ORACLE在两个不同上提供一致性:级读一致性和事务级一致性。ORCLE级读一致性,保证单查询所返回的数据与该查询开刻相一致。所以一个查询从不会看到在查询执程中提交的其它事所作的任何修改。实现语级读一致性,在查询进,在注SCN止所提交的数据是有效的,而在始之后其它事提交的任何修改,查询将是看不到的。
ORACLE许选择实施事务级读一致性,它保在同一事内所有查询的数据
4)封机制
ORACLE地使用不同封锁类型来控制数据的并行存取,防止用的破坏性干ORACLE一事地封源以防止其它事务对同一源的排它封。在某事件出或事不再需要该资放。
ORACLE将封下列
数据封:数据封表数据,在多个用并行存取数据数据的完整性。数据封防止相冲突的DMLDDL操作的破坏性干DML操作可在两个级获取数据封:指定行封和整个表封,在防止冲突的DDL操作也需表封。当行要被修改,事取排它数据封。表封可以有下列方式:行共享、行排它、共享封、共享行排它和排它封
DDL(字典封
DDL模式象(如表)的定DDL操作将影响象,一个DDL式地提交一个事。当任何DDL需要ORACLE动获取字典封,用不能式地DDL。在DDL操作期,被修改或引用的模式象被封
内部封:保内部数据和内存构,是不可的。
5)手工的数据封
下列情况允使用选择代替ORACLE缺省的封机制:
用需要事务级读一致或可重复读
用需要一事务对源可排它存取,继续它的句,具有对资源排它存取的事不必等待其它事完成。
ORACLE可在二被替代:事务级各系统级
务级:包含下列SQL的事替代ORACLE缺省封LOCK TABLE命令、SELECT…FOR UPDATE命令、具有READ ONLY选项SET TRANSACTIN命令。句所得的封在事提交或回后所放。
统级:通过调整初始化参数SERIALIZABLEREO-LOCKING例可用非缺省封两参数据的缺省值为
SERIALIZABLE=FALSE
ORW-LOCKING=ALWAYS

 

 
原创粉丝点击