




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第5章章 数据库备份和事务处理数据库备份和事务处理理论部分理论部分本章目标 掌握数据库的导入和导出 掌握事务操作 了解数据库锁 掌握序列的使用 掌握视图的使用 掌握索引的使用备份和恢复 为什么要备份u显示工作中很多情况下可以造成数据丢失,造成数据丢失的原因 介质故障 用户错误操作 服务器彻底崩溃 计算机病毒 不可预料的因素uORACLE故障类型 语句故障 用户进行故障 实例故障 介质故障导出实用程序exp scott/tigerorcl file=scott_back owner=scott按用户方式导出数据exp scott/tigeraccp tables=(emp, dept) fil
2、e=scott_back_tab按表方式导出数据exp system/aptechaccp tablespaces=(users) file=tbs_users按表空间方式导出数据导入实用程序 imp scott/tigerorcl file=item_back.dmp ignore=y full=y将整个文件导入数据库imp system/aptechaccp file=scott_back fromuser=scott touser=martin tables=(emp,dept)将scott用户的表导入到martin用户事务 为什么需要事务u在对数据库进行多次操作以后,如果要保证所有的操
3、作同时成功,或者同时失败,必须使用事务 事务的特征u原子性u隔离性u一致性u持久性事务 事务的使用u事务控制语句 事务控制语句(TCL)有5个 COMMIT:提交事务 ROLLBACK:回滚事务 SAVEPOINT:在事务中创建存储点 ROLLBACK TO:将事务回滚到存储点 SET TRANSACTION:设置事务的属性u如何使用事务 使用事务的步骤n 开启事务n 进行多次数据库操作n 结束事务l 数据提交l 数据被撤销事务案例insert into dept values(50,a,null)insert into dept values(60,b,null)savepoint a;in
4、sert into dept values(70,c,null);rollback to savepoint a;-执行步骤二;查看dept表,有50,60的部门select * from dept;-执行步骤三;回滚rollback-执行步骤四,查看deptselect *from dept;锁的概念 锁是数据库用来控制共享资源并发访问的机制。 锁用于保护正在被修改的数据 直到提交或回滚了事务之后,其他用户才可以更新数据锁的概念修改表修改表拒绝访问Toy_IDNamePriceT001Barbie20T002GI Joe45锁定的优点 一致性一致性 - 一次只允许一个用户修改数据 完整性完整
5、性 - 为所有用户提供正确的数据。如果一个用户进行了修改并保存,所做的修改将反映给所有用户q并行性 允许多个用户访问同一数据Toy_IDNamePriceT001Barbie 20T002GI Joe 45修改表中的数据查看表中的数据允许访问表级锁行级锁锁的类型锁的类型行级锁Toy_IDNamePriceT001Barbie20T002GI Joe45更新 T002 行更新 T001 行行被锁定 对正在被修改的行进行锁定。其他用户可以访问除被锁定的行以外的行允许访问行级锁 行级锁是一种排他锁,防止其他事务修改此行 在使用以下语句时,Oracle会自动应用行级锁:uINSERTuUPDATEuD
6、ELETEuSELECT FOR UPDATE SELECT FOR UPDATE语句允许用户一次锁定多条记录进行更新 使用COMMIT或ROLLBACK语句释放锁行级锁 SELECT FOR UPDATE语法:SELECT FOR UPDATE OF columnsWAIT n | NOWAIT;SQL SELECT * FROM order_master WHERE vencode=V002 FOR UPDATE OF odate, del_date;SQL UPDATE order_master SET del_date=28-8月-05 WHERE vencode=V002;SQL C
7、OMMIT;SQL SELECT * FROM order_master WHERE vencode=V002 FOR UPDATE NOWAIT;表级锁Toy_IDNamePriceT001Barbie20T002GI Joe45修改表中的行 更新表 拒绝访问锁定整个表,限制其他用户对表的访问。17表级锁表级锁类型行共享行排他共享使用命令显示地锁定表,应用表级锁的语法是: LOCK TABLE table_name IN mode MODE;共享行排他排他表级锁 行共享 (ROW SHARE) 禁止排他锁定表 行排他(ROW EXCLUSIVE) 禁止使用排他锁和共享锁 共享锁(SHARE)
8、u锁定表,仅允许其他用户查询表中的行u禁止其他用户插入、更新和删除行u多个用户可以同时在同一个表上应用此锁 共享行排他(SHARE ROW EXCLUSIVE) 比共享锁更多的限制,禁止使用共享锁及更高的锁 排他(EXCLUSIVE) 限制最强的表锁,仅允许其他用户查询该表的行。禁止修改和锁定表19死锁 当两个事务相互等待对方释放资源时,就会形成死锁 Oracle会自动检测死锁,并通过结束其中的一个事务来解决死锁 右边是一个死锁的例子T1T2lock (D1)时间lock (D2)lock (D2)lock (D1)等待等待序列 序列是用于生成唯一的、连续序号的对象 序列可以是升序的,也可以是
9、降序的 使用CREATE SEQUENCE语句创建序列CREATE SEQUENCE sequence_nameSTART WITH numINCREMENT BY incrementMAXVALUE num|NOMAXVALUEMINVALUE num|NOMINVALUECYCLE|NOCYCLECACHE num|NOCACHE访问序列 通过序列的伪列来访问序列的值uNEXTVAL 返回序列的下一个值uCURRVAL 返回序列的当前值SQL INSERT INTO toys (toyid, toyname, toyprice) VALUES ( toys_seq.NEXTVAL, TWE
10、NTY, 25);SQL INSERT INTO toys (toyid, toyname, toyprice) VALUES ( toys_seq.NEXTVAL, MAGIC PENCIL, 75);SQL SELECT toys_seq.CURRVAL FROM dual;指定序列的下一个值检索序列的当前值更改和删除序列SQL ALTER SEQUENCE toys_seq MAXVALUE 5000 CYCLE;使用ALTER SEQUENCE语句修改序列,不能更改序列的START WITH参数使用DROP SEQUENCE语句删除序列SQL DROP SEQUENCE toys_se
11、q;视图 视图以经过定制的方式显示来自一个或多个表的数据 视图可以视为“虚拟表”或“存储的查询” 创建视图所依据的表称为“基表” 视图的优点有:u提供了另外一种级别的表安全性u隐藏的数据的复杂性u简化的用户的SQL命令u隔离基表结构的改变u通过重命名列,从另一个角度提供数据24创建视图studnostudnamestudmarkssubnostudcaste1Rob452Open2James334SC3Jesica405OpenStud_detailsStud_viewstudnostudnamesubno1Rob22James43Jesica5创建视图CREATE VIEW stud_vie
12、wAS SELECT studno, studname, subnoFROM Stud_details;25创建视图 创建视图的语法: CREATE OR REPLACE FORCE VIEW view_name (alias, alias.) AS select_statement WITH CHECK OPTION WITH READ ONLY;联接视图StudnoStudnameSubmrksSubno1Rob4522James3343Jesica404SubnoSubname2English4Maths5ScienceStud_detailsSub_detailsStudnoStudn
13、ameSubmrksSubname1Rob45English2James33Maths3Jesica40MathsCREATE VIEW Stud_sub_view ASSELECT Studno, Studname, Submrks, SubnameFROM Stud_details, Sub_Details WHERE Stud_details.Subno=Sub_details.Subno;Stud_sub_view联接视图联接视图 创建外联接视图CREATE VIEW ven_ord_outj_view ASSELECT vm.vencode, venname, orderno, od
14、ate, ostatusFROM vendor_master vm, order_master omWHERE vm.vencode = om.vencode(+);SELECT vm.vencode, venname, orderno, odate, ostatusFROM vendor_master vm LEFT OUTER JOIN order_master omON vm.vencode = om.vencode;28 视图中可以使用单行函数、分组函数和表达式 使用DROP VIEW语句删除视图视图中的函数CREATE VIEW item_view AS SELECT itemcod
15、e, LOWER(itemdesc) item_descFROM itemfile; SQL DROP VIEW toys_view; 索引 索引是与表相关的一个可选结构 用以提高 SQL 语句执行的性能 减少磁盘I/O 使用 CREATE INDEX 语句创建索引 在逻辑上和物理上都独立于表的数据 Oracle 自动维护索引索引组合索引函数索引唯一索引位图索引反键索引索引原理 索引原理索引字段索引字段( (姓名姓名) )记录地址记录地址AmyAmyAndyAndyBruceBruceCandyCandy索引表学生表学号学号姓名姓名班级班级3 36 611112323在索引中查找姓名为在索引中查找姓名为Candy的人的人然后根据然后根据Candy对应的对应的记录地址,定位到数据记录地址,定位到数据表的记录表的记录查找名称为查找名称为Candy的人员的信息的人员的信息索引的创建 创建索引create table TEMP_EMP( ID
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国输液管市场调查研究报告
- 2025年中国祖代鸭市场调查研究报告
- 2025年中国矩型软管市场调查研究报告
- 二零二五年度报纸独家出版与内容合作合同
- 司机劳务合作合同范本
- 油烟管道清洗合同范本
- 指定材料供应商合作协议书范本
- 汽车零部件物流居间合同
- 2025年度办公桌租赁与办公空间智能化升级合同
- 广告传媒用地居间服务合同
- 教学课件-电力系统的MATLAB-SIMULINK仿真与应用(王晶)
- GB/T 26189.2-2024工作场所照明第2部分:室外作业场所的安全保障照明要求
- 新教科版一年级科学下册第一单元《身边的物体》全部课件(共7课时)
- 盐城江苏盐城市住房和城乡建设局直属事业单位市政府投资工程集中建设管理中心招聘4人笔试历年参考题库附带答案详解
- 2024年黑龙江职业学院高职单招语文历年参考题库含答案解析
- 《电商直播》 课件 项目一 走入电商直播
- 《中国宫腔镜诊断与手术临床实践指南(2023版)》解读课件
- 中药学电子版教材
- GB/T 9535-1998地面用晶体硅光伏组件设计鉴定和定型
- 复旦校内办事指南
- 建筑公司项目部绩效考核管理制度
评论
0/150
提交评论