- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 事务、锁、闪回
10.3.3 表闪回 Oracle 12c采用撤销表空间记录增加、删除、修改数据,但也保留了以前版本使用的回滚段。UNDO_RETENTION表示当前所做的增加、删除和修改操作提交后,记录在撤销表空间的数据保留的时间。 在创建撤销表空间时,要考虑数据保存的时间长短、每秒产生的块数据量及块大小等。假如表空间大小用undo表示,那么undo=UR×UPS×DB_BLOCK_SIZE+冗余量。 表闪回的语法格式如下: FLASHBACK TABLE [用户方案名.]表名 TO { [BEFORE DROP [RENAME TO 新表名] ] [SCN | TIMESTAMP] 表达式 [ENABLE |DISABLE] TRIGGERS} 10.3.3 表闪回 【例10.6】 首先创建一个表,然后删除某些数据,再利用Flashback Table命令恢复。 (1)使用SYSTEM登录SQL*Plus并创建CJB1表。 SET TIME ON CREATE TABLE CJB1 AS SELECT * FROM CJB; 通过SELECT语句可查看到CJB1表中的数据。 (2)删除学号为151113的学生选修课程的记录并提交。 DELETE FROM CJB1 WHERE 学号= 151113; /*删除的时间点为16:54:35*/ COMMIT; 使用SELECT语句查询CJB1表,学号为151113的学生选修课程的记录已不存在。 10.3.3 表闪回 (3)使用表闪回进行恢复。 ALTER TABLE CJB1 ENABLE ROW MOVEMENT; FLASHBACK TABLE CJB1 TO TIMESTAMP TO_TIMESTAMP(2015-7-6 16:54:35,YYYY-MM-DD HH24:MI:SS); 整个操作过程及运行结果如图10.13所示。 10.3.4 删除闪回 1.删除闪回操作 回收站是一个虚拟容器,用于存储所有被删除的对象。为了避免被删除的表与同类对象名称重复,被删除表(或者其他对象)放到回收站时,Oracle系统对被删除表(或对象名)进行了转换。转换后的名称格式如下: BIN$globalUID$Sversion 其中,globalUID是一个全局唯一的标识对象,长度为24个字符,它是Oracle内部使用的标识;$Sversion是数据库分配的版本号。 通过设置初始化参数RECYCLEBIN,可以控制是否启用回收站功能,以下语句将启用回收站: ALTER SESSION SET RECYCLEBIN=ON; 设置为OFF则表示关闭,默认为ON。 数据字典USER_TABLES中的dropped列表示表是否被删除。使用SELECT语句查询: SELECT table_name, dropped FROM USER_TABLES; 其中,dropped字段值为“YES”的table_name均为转换后的名称。也可以通过SHOW命令或查询数据字典USER_RECYCLEBIN获得回收站信息。 10.3.4 删除闪回 【例10.7】 删除闪回的实现。 (1)使用SCOTT用户连接并创建一个表t1。 CREATE TABLE t1(t char(10)); (2)使用DROP命令删除表t1。 DROP TABLE t1; (3)查询数据字典信息。 SELECT OBJECT_NAME, ORIGINAL_NAME, TYPE, DROPTIME FROM RECYCLEBIN; 查询结果如图10.14所示。 (4)使用删除闪回从回收站恢复表t1。 FLASHBACK TABLE t1 TO BEFORE DROP; 闪回完成后可以看到,表t1已经恢复。如果不知道原表名,可以直接使用回收站中的名称进行闪回。 10.3.4 删除闪回 2.回收站管理 回收站可以提供误操作后进行恢复的必要信息,但是如果不经常对回收站的信息进行管理,磁盘空间会被长期占用,因此要经常清除回收站中无用的东西。要清除回收站,可以使用PURGE命令。PURGE命令可以删除回收站中的表、表空间和索引,并释放表、表空间和索引所占用的空间,其语法格式如下: PURGE { TABLESPACE 表空间名 USER 用户名 | [ TABLE 表名 | INDEX 索引名 ] | | [ RECYCLEBIN | DBA_RECYCLEBIN ] } 10.3.4 删除闪回 【例10.8】 查询当前用户回收站中的内容,再用PURGE清除。 (1)查询回收站内容。 SELECT O
您可能关注的文档
最近下载
- 人脸识别门禁.pdf VIP
- 单一制和复合制课件高中政治选择性必修一当代国际政治与经济.pptx VIP
- 创新创业基础(高职高专版)PPT教学完整课件.ppt
- 老旧小区弱电方案和施工组织设计.docx VIP
- 数据脱敏处理与使用管理规则.docx VIP
- 和利时LE系列可编程控制器选型手册.pdf VIP
- 信息系统专职人员培训和考核制度.docx VIP
- 英语课程标准研究与教材分析(第2版)课件全套 第1--9章 英语课程标准和英语课程的基本概念 ---英语教材难度分析.pptx
- 烹饪概论课件.ppt VIP
- 江苏凤凰少年儿童出版社小学四年级上册《书法练习指导》教学计划与教学设计.pdf VIP
文档评论(0)