




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程目标学完本课后,应能完成以下工作:通过使用SQL
来管理数据识别和管理PL/SQL
对象描述触发器和触发事件监视和解决锁定通过SQL
处理数据>
SQLPL/SQL锁定SQL>
INSERT
INTO
employeesVALUES(9999,'Bob','Builder','bob@',NULL,SYSDATE,'IT_PROG',NULL,NULL,100,90);row
created.SQL>
UPDATE
employees
SET
SALARY=6000WHERE
EMPLOYEE_ID=9999;row
updated.SQL>
DELETE
from
employeesWHERE
EMPLOYEE_ID=9999;1
row
deleted.INSERT
命令一次创建一行通过另一个表多行UPDATE
命令使用UPDATE
命令可更改表的零行或多行DELETE
命令使用DELETE
命令可从表中删除零行或多行MERGE
命令使用MERGE
命令可通过单个命令同时执行
INSERT
和UPDATE。MERGE
命令完整备注页COMMIT
和ROLLBACK
命令下面令用于结束事务处理:性更改••COMMIT:使更改成为ROLLBACK:撤消更改PL/SQLOracle
的SQL
的过程语言扩展
(PL/SQL)
是第四代编程语言(4GL)。它提供:SQL
的过程扩展平台和产品间的可移植性更高级的安全性和数据完整性保护支持面
象的编程SQL>
PL/SQL锁定管理PL/SQL
对象数据库管理员应可以:找出存在问题的
PL/SQL
对象建议适当的PL/SQL
用法将PL/SQL
对象装入到数据库中协助
PL/SQL
开发
故障PL/SQL
对象PL/SQL
数据库对象有许多类型:程序包程序包体类型主体过程函数触发器函数过程过程用于执行特定操作。过程可:通过使用参数列表传入和传出值通过使用CALL
命令来调用程序包程序包是由函数和过程组成的集合。每个程序包应由两个对象组成:程序包说明程序包体程序包说明程序包说明和程序包体内置程序包•Oracle
数据库带有350
多个内置PL/SQL
程序包,可用于:––管理和
实用程序扩展功能•请使用DESCRIBE
命令查看子程序。触发器触发事件事件类型事件示例DMLINSERT、UPDATE、DELETEDDLCREATE、DROP、ALTER、GRANT、REVOKE、RENAME数据库LOGON、LOGOFF、STARTUP、SHUTDOWN、SERVERERROR锁定使用锁定可防止多个会话同时更改同一数据。锁定是在指定语句的最低可能级别自动获取的。锁定不会升级。SQLPL/SQL>锁定事务处理1事务处理2SQL>
UPDATE
employeesSET
salary=salary*1.1WHERE
employee_id=100;SQL>
UPDATE
employeesSET
salary=salary+100WHERE
employee_id=100;锁定机制•高级数据并发处理:执行
、更新和删除时使用行级锁定查询不需要任何锁定••自动队列管理在事务处理(使用
COMMIT
或ROLLBACK
操作)结束之前一直持有锁定事务处理1事务处理2SQL>
UPDATE
employeesSET
salary=salary*1.1WHERE
employee_id=101;SQL>
UPDATE
employeesSET
salary=salary+100WHERE
employee_id=100;数据并发处理时间:09:00:00事务处理1UPDATE
hr.employeesSET
salary=salary+100WHERE
employee_id=100;事务处理2UPDATE
hr.employeesSET
salary=salary+100WHERE
employee_id=101;事务处理3UPDATE
hr.employeesSET
salary=salary+100WHERE
employee_id=102;......事务xUPDATE
hr.employeesSET
salary=salary+100WHERE
employee_id=
;数据并发处理完整备注页DML
锁定事务处理1每个DML事务处理必须获取两个锁定:针对正在更新的一行或多行的
EXCLUSIVE
行锁定针对包含这些行的表的
ROW
EXCLUSIVE
表级锁定事务处理2SQL>
UPDATE
employeesSET
salary=salary*1.1WHERE
employee_id=
106;1
rowupdated.SQL>
UPDATE
employeesSET
salary=salary*1.1WHERE
employee_id=
107;1
rowupdated.入队机制入队机制用于
:等待锁定的会话请求的锁定模式请求锁定的会话的顺序锁定UPDATE
employees
SET9:00:00UPDATE
employees
SETsalary=salary+100
WHEREsalary=salary+100
WHEREemployee_id=100;employee_id=101;1
rowupdated.1
rowupdated.UPDATE
employeesSET9:00:05SELECT
sum(salary)
FROMemployees;SUM(SALARY)-----------692634COMMISION_PCT=2
WHEREemployee_id=101;会话因锁定 而等待入队会话仍在等待!16:30:00在最后7.5个小时里进行了许多选择、、更新和删除操作,但未提交,也未回退!1
rowupdated.会话继续进行16:30:01commit;事务处理1时间 事务处理
2锁定的可能原因未提交更改长时间运行事务处理不必要的高锁定级别检测锁定在性能页选择“阻塞会话”。,查看关于锁定会话的单击“Session
ID(会话ID)”信息,包括实际
SQL
语句。解决锁定为了解决锁定
,您应该:提交或回退持有锁定的会话终止持有锁定的会话(作为最后段)使用SQL
解决锁定SQL
语句可用来确定阻塞会话并终止会话。SQL>
alter
system
kill
session
'144,8982'
immediate;SQL>
select
sid,
serial#,
usernamefrom
v$sessionwhere
sidin(select
blocking_session
from
v$session)结果:12死锁事务处理1事务处理2UPDATE
employeesSET
salary
=
salary
x
1.1WHERE
employee_id
=
1000;9:00UPDATE
employeesSET
manager =
1342WHERE
employee_id
=
2000;UPDATE
employeesSET
salary
=
salary
x1.1WHERE
employee_id
=2000;9:15UPDATE
employeesSET
manager =
1342WHERE
employee_id
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 长寿秘诀揭秘
- PSM考试节奏调整试题及答案
- 海底资源开发与环境保护考核试卷
- 专升本思政知识运用试题及答案
- 湖南工艺美术职业学院《网球上》2023-2024学年第一学期期末试卷
- 西藏自治区拉萨市城关区拉萨中学2025年全国高考大联考信息卷:生物试题试卷(2)含解析
- 山东农业大学《休闲体育项目策划与管理》2023-2024学年第二学期期末试卷
- 崇左幼儿师范高等专科学校《大学体育跳绳》2023-2024学年第二学期期末试卷
- 泉州职业技术大学《混凝土结构基本原理D》2023-2024学年第二学期期末试卷
- 重庆应用技术职业学院《教育研习》2023-2024学年第二学期期末试卷
- 特种设备使用管理新版规则
- 新能源充电桩创业计划书
- 2019温泉小镇规划方案
- 《无人机概论》第1章 无人机概述
- 村医基药培训课件
- 食品新产品开发 课件 第三章 食品新产品开发配方设计
- 诊所消防安全培训课件
- 小学语法专项-be动词练习(含答案)
- 油橄榄主要病虫害及防治
- 霞浦县沙江水闸除险加固工程环境影响报告
- 卖油翁说课稿
评论
0/150
提交评论