oracle 事物和锁Word格式文档下载.docx

上传人:b****6 文档编号:21048964 上传时间:2023-01-27 格式:DOCX 页数:6 大小:37.13KB
下载 相关 举报
oracle 事物和锁Word格式文档下载.docx_第1页
第1页 / 共6页
oracle 事物和锁Word格式文档下载.docx_第2页
第2页 / 共6页
oracle 事物和锁Word格式文档下载.docx_第3页
第3页 / 共6页
oracle 事物和锁Word格式文档下载.docx_第4页
第4页 / 共6页
oracle 事物和锁Word格式文档下载.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

oracle 事物和锁Word格式文档下载.docx

《oracle 事物和锁Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《oracle 事物和锁Word格式文档下载.docx(6页珍藏版)》请在冰豆网上搜索。

oracle 事物和锁Word格式文档下载.docx

以下面的其中之一作为结束:

•COMMIT或ROLLBACK语句

•DDL或DCL语句(自动提交)

•用户会话正常结束

•系统异常终了

Cmd更新数据

Updateemployeessetsalary=salary+5000wherelast_name=‘King’

Selectsalaryfromemployeeswherelast_name=’King’

Commit提交完成

使用COMMIT和ROLLBACK语句,我们可以:

•确保数据完整性。

•数据改变被提交之前预览。

•将逻辑上相关的操作分组。

3控制事物

 

4DDL语言自动提交和回退

createtablestudent(

stu_idNUMBER

(2)primarykey,

stu_namevarchar2(10),

stu_sexCHAR

(2),

stu_datedate

createtablestudent1

as

select*fromstudent

DROPTABLESTUDENT

Delete和drop的区别

首先delete属于DML语句,drop属于DDL语句,delete删除的是表内容,drop删除的是表

回滚到保留点

使用SAVEPOINT语句在当前事务中创建保存点。

使用ROLLBACKTOSAVEPOINT语句回滚到创建的保存点。

UPDATE...

SAVEPOINTupdate_done;

Savepointcreated.

INSERT...

ROLLBACKTOupdate_done;

Rollbackcomplete.

事务进程

自动提交在以下情况中执行:

•DDL语句。

•DCL语句。

•不使用COMMIT或ROLLBACK语句提交或回滚,正常结束会话。

会话异常结束或系统异常会导致自动回滚。

提交或回滚前的数据状态

改变前的数据状态是可以恢复的

执行DML操作的用户可以通过SELECT语句查询之前的修正

其他用户不能看到当前用户所做的改变,直到当前用户结束事务。

DML语句所涉及到的行被锁定,其他用户不能操作

提交后的数据状态

数据的改变已经被保存到数据库中。

改变前的数据已经丢失。

所有用户可以看到结果。

锁被释放,其他用户可以操作涉及到的数据。

所有保存点被释放

改变数据

DELETEFROMemployees

WHEREemployee_id=99999;

1rowdeleted.

INSERTINTOdepartments

VALUES(290,'

CorporateTax'

NULL,1700);

1rowinserted.

提交改变

Commit

5数据回滚后的状态

使用ROLLBACK语句可使数据变化失效:

数据改变被取消。

修改前的数据状态可以被恢复。

锁被释放。

DELETEFROMcopy_emp;

22rowsdeleted.

ROLLBACK;

Rollbackcomplete

语句级回滚

单独DML语句执行失败时,只有该语句被回滚。

Oracle服务器自动创建一个隐式的保留点。

其他数据改变仍被保留。

用户应执行COMMIT或ROLLBACK语句结束事务。

读一致性

读一致性为数据提供一个一致的视图

一个用户的对数据的改变不会影响其他用户的改变

对于相同的数据读一致性保证:

•查询不等待修改。

•修改不等待查询。

6锁

Oracle数据库中,锁是:

•并行事务中避免资源竞争。

•避免用户动作。

•自动使用最低级别的限制。

•在事务结束结束前存在。

•两种类型:

显式和隐式。

•两种模式:

•独占锁:

屏蔽其他用户。

•共享锁:

允许其他用户操作。

•高级别的数据并发性:

•DML:

表共享,行独占

•Queries:

不需要加锁

•DDL:

保护对象定义

•提交或回滚后锁被释放。

•查询语句FORUPDATE[WAIT|NOWAITn]

手动锁表

locktable表inshare|exclusivemode;

•share乐观锁定

•exclusive悲观锁定

死锁

两个会话互相等待对方释放锁才能进行下去,这种情况就是死锁

只读事务和顺序事务

只读事务:

在事务中看不到其他会话的修改,在当前会话只允许查询

•settransactionreadonly

顺序事务:

同上,但是可以在当前会话中做DML操作

•settransactionisolationlevelserializable

7数据字典

查询用户下所有的table

select*fromuser_tables

查询所有的数据库对象

select*fromuser_objects

修改学生表

追加列

altertablestudent

ADD(phoneVARCHAR2(20),ADDRESSVARCHAR2(100))

修改列

altertablestudentMODIFY(addressvarchar2(200))

删除列

altertablestudentDROP(loc)

重命名对象

RENAMESTUDENTTOSTU

清空表

Truncatetablestu

8DDL

•数据定义语言

•作用于创建,修改,删除,管理数据库对象

•会自动提交当前事务

常见的数据库对象

表基本的数据存储集合,由行和列组成。

视图从表中抽出的逻辑上相关的数据集合。

序列提供有规律的数值。

索引提高查询的效率

同义词给对象起别名

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1