第13章 事务、锁、闪回和Undo表空间.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第13章 事务、锁、闪回和Undo表空间

13.3.5 数据库闪回 【例11.6】 数据库闪回。 (1)查看当前数据库是否是归档模式和启用了闪回数据库功能。 SELECT DBID,NAME, LOG_MODE FROM V$DATABASE; ARCHIVE LOG LIST SHOW PARAMETER DB_RECOVERY_FILE_DEST 运行结果如图13.15所示。 13.3.5 数据库闪回 (2)查询当前时间和旧的闪回号。 SHOW USER; SELECT SYSDATE FROM DUAL; ALTER SESSION SET NLS_DATE_FORMAT=YYYY-MM-DD HH24:MI:SS; SELECT SYSDATE FROM DUAL; SELECT OLDEST_FLASHBACK_SCN,OLDEST_FLASHBACK_TIME FROM V$FLASHBACK_DATABASE_LOG; SET TIME ON 运行结果如图13.16所示。 13.3.5 数据库闪回 (3)在当前用户下创建例表KCB1。 CREATE TABLE KCB1 AS SELECT * FROM SYSTEM.KCB; (4)确定时间点,模拟误操作,删除表KCB1。 SELECT SYSDATE FROM DUAL; DROP TABLE KCB1; DESC KCB1; 执行结果如图13.17所示。 13.3.5 数据库闪回 (5)以MOUNT打开数据库并进行数据库闪回。 SHUTDOWN IMMEDIATE; STARTUP MOUNT EXCLUSIVE; FLASHBACK DATABASE TO TIMESTAMP(TO_DATE(2011-8-3 15:14:19, YYYY-MM-DD HH24:MI:SS)); ALTER DATABASE OPEN RESETLOGS; 结果如图13.18所示。 数据库闪回作业: 设置闪回恢复区 以MOUNT方式启动数据库实例,并将该数据库置为归档模式 创建一个闪回测试表SCOTT.flashtest2,并向其中插入数据。 删除flashtest2表 关闭数据库,再以MOUNT方式打开,从系统视图v$FLASHBACK_DATABASE_LOG查看闪回数据库日志信息。 使用FLASHBACK DATABASE语句闪回恢复数据库 重新打开数据库实例,确认表是否恢复。 13.3.6 归档闪回 创建一个闪回数据归档区使用CREATE FLASHBACK ARCHIVE语句,语法格式: CREATE FLASHBACK ARCHIVE [DEFAULT] 闪回归档区名称 TABLESPACE 表空间名 [QUOTA 数字值{M|G|T|P} ] [RETENTION 数字值 {YEAR|MONTH|DAY}]; 【例11.7】 创建一个闪回数据归档区,并作为默认的归档区。 CONNECT SYSTEM/123456 AS SYSDBA CREATE FLASHBACK ARCHIVE DEFAULT test_archive TABLESPACE MYTS QUOTA 10M RETENTION 1 DAY; 13.3.6 归档闪回 【例11.8】 归档闪回。 (1)使用SCOTT用户连接数据库,并创建表KCB2。 GRANT SELECT ON SYSTEM.KCB TO SCOTT; CONNECT SCOTT/tiger CREATE TABLE KCB2 AS SELECT * FROM SYSTEM.KCB; (2)对KCB2表执行闪回归档设置。 CONNECT SYSTEM/123456 AS SYSDBA ALTER TABLE SCOTT.KCB2 FLASHBACK ARCHIVE test_archive; 13.3.6 归档闪回 (3)接下来记录一下SCN。 SELECT DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER FROM DUAL; 删除KCB2表中的一些数据: DELETE FROM SCOTT.KCB2 WHERE 学分4; COMMIT; 结果如图13.19所示。 13.3.6 归档闪回 (4)执行闪回查询。 SELECT * FROM SCOTT.KCB2 AS OF SCN 1576986; 结果如图13.20所示,显示的是未删除之前的数据。 13.4 Undo表空间 13.4.1 自动Undo管理 在Oracle中,允许创建多个Undo表空间,但是同一时间只能激活一个Undo表空间。使用参数文件中的Undo_TABLESPACE参数指定要激活的Undo表空

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档