oracle 事物和锁Word格式文档下载.docx
- 文档编号:21048964
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:6
- 大小:37.13KB
oracle 事物和锁Word格式文档下载.docx
《oracle 事物和锁Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《oracle 事物和锁Word格式文档下载.docx(6页珍藏版)》请在冰豆网上搜索。
以下面的其中之一作为结束:
•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
•数据定义语言
•作用于创建,修改,删除,管理数据库对象
•会自动提交当前事务
常见的数据库对象
表基本的数据存储集合,由行和列组成。
视图从表中抽出的逻辑上相关的数据集合。
序列提供有规律的数值。
索引提高查询的效率
同义词给对象起别名
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- oracle 事物和锁 事物