Oracle数据库应用技术16 [兼容模式]

Similar documents
sql> startup mount 改变数据库的归档模式 sql> alter database archivelog # 打开数据库 sql> alter database open 禁止归档模式 sql> shutdown immediate sql>startup mount sql> al

PowerPoint Presentation

回滚段探究

三. 发现表被删除, 开始着手解决 1. 该表所在表空间离线 ( 确保删除表所在位置不会被重写 ) SQL> alter tablespace raw_odu offline; Tablespace altered. 2. 通过 logmnr, 找出被删除的数据 data _object _id 1

甲骨人-OCM集训营(QQ群号: )

Oracle 4

ebook10-5

學 科 100% ( 為 單 複 選 題, 每 題 2.5 分, 共 100 分 ) 1. 請 參 閱 附 圖 作 答 : (A) 選 項 A (B) 選 項 B (C) 選 項 C (D) 選 項 D Ans:D 2. 下 列 對 於 資 料 庫 正 規 化 (Normalization) 的 敘

ebook 96-16

untitled

Oracle高级复制配置手册_业务广告_.doc

untitled

Oracle Database 11g: New Features for Administrators

untitled

目錄

未命名

untitled

untitled

运维2010年端午节日封网及值守

季刊9web.indd

数 据 库 系 统 基 础 2/54 第 6 章 数 据 库 管 理 与 维 护

使用SQL Developer

Oracle高级复制冲突解决机制的研究

R D B M S O R D B M S R D B M S / O R D B M S R D B M S O R D B M S 4 O R D B M S R D B M 3. ORACLE Server O R A C L E U N I X Windows NT w w

习题1

SQL Server SQL Server SQL Mail Windows NT

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

Microsoft Word - OD29

Oracle数据库应用技术4 [兼容模式]

untitled

System Global Area, Oracle Background process Oracle, Server Process user process, user process : SQL*PLUS SYSTEM SQL> select name from v$datafile; NA

一步一步教你搞网站同步镜像!|动易Cms

ebook46-23

数 据 库 管 理 第 章 (1) 创 建 一 个 简 单 的 表 空 间 Create tablespace user1 datafile 'e:\database\oracle\user1_data.dbf' size 00M; () 指 定 数 据 文 件 的 可 扩 展 性 Create t

oracle-Ess-05.pdf

幻灯片 1

目錄 C ontents Chapter MTA Chapter Chapter

基于UML建模的管理管理信息系统项目案例导航——VB篇

教 学 目 标 描 述 主 要 数 据 库 对 象 创 建 表 描 述 列 定 义 时 可 用 的 数 据 类 型 改 变 表 的 定 义 删 除 改 名 和 截 断 表 描 述 每 个 DML 语 句 插 入 行 到 表 中 更 新 表 中 的 行 从 表 中 删 除 行 描 述 约 束 创 建

四川天一学院信息工程系毛玉环

软件概述

作业参考答案

RUN_PC連載_12_.doc

Postgres_2017象行中国杭州第一期_张文杰(卓刀)_Greenplum备份恢复浅析

DB2 (join) SQL DB2 11 SQL DB2 SQL 9.1 DB2 DB2 ( ) SQL ( ) DB2 SQL DB2 DB2 SQL DB2 DB2 SQL DB2 ( DB2 ) DB2 DB2 DB2 SQL DB2 (1) SQL (2) S

untitled

ebook 132-2

1-1 database columnrow record field 不 DBMS Access Paradox SQL Server Linux MySQL Oracle IBM Informix IBM DB2 Sybase 1-2

一 個 SQL Injection 實 例 的 啟 示 頁 2 / 6 因 此, 在 知 名 網 站 上 看 到 SQL Injection, 讓 人 驚 心, 卻 不 意 外 網 站 專 案 外 包 是 目 前 業 界 的 常 態, 而 在 價 格 取 勝 的 制 度 下, 低 價 得 標 的 S

f2.eps

ORACLE Enterprise Linux 6.3下ORACLE11g的安装

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

123

第6章  数据库技术基础

SPFILE的使用

untitled

Microsoft PowerPoint - Ch6

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

ebook63-10

Partition Key: 字 符 串 类 型, 表 示 当 前 Entity 的 分 区 信 息 这 个 Property 对 于 Table Service 自 动 纵 向 和 横 向 扩 展 至 关 重 要 Row Key: 字 符 串 类 型, 在 给 定 Partition Key 的

NTSE: Non-Transactional Storage Engine MySQL InnoDB 10 InnoDB +Memcached 5 50% / K C++

1. 概 述 1.1 扫 描 对 象 序 号 1 IP 地 址 域 名 1.2 漏 洞 等 级 分 布 风 险 类 型 数 量 高 风 险 1 中 风 险 5 低 风 险 4 信 息 类 4 7% 29% 高 风 险 36% 中 风 险 低 风

幻灯片 1

单元四数据的查询 数据库原理与应用 课内例题 任务 5 多表查询 课内例题 例创建数据表 orders, 并向表中添加记录 首先创建表 orders,sql 语句如下 : CREATE TABLE orders( o_num int NOT NULL AUTO_INCREMENT, o_date d

第 一 节 认 识 自 我 的 意 义 一 个 人 只 有 认 识 自 我, 才 能 够 正 确 地 认 识 到 自 己 的 优 劣 势, 找 出 自 己 的 职 业 亮 点, 为 自 己 的 顺 利 求 职 推 波 助 澜 ; 一 个 人 只 有 认 识 自 我, 才 能 在 求 职 中 保 持

Microsoft Word - 刘盛ACOUG Library2.docx

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7.

设计一个学生管理关系数据库,包括学生关系、课程关系和选课关系

01 SQL Server SQL Server 2008 SQL Server 6-1 SSIS SQL Server ( master ) ( msdb ) SQL Server ( master ) master 6-1 DTS sysadmin 6-1 sysa

01

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页

SA-DK2-U3Rユーザーズマニュアル

目錄... ivv...vii Chapter DETECT

<4D F736F F F696E74202D20B5DABEC5D5C220CAFDBEDDBFE2B0B2C8ABD0D42D6E6577>

MySQL資料庫教學

<4D F736F F D20BBB7BEB3D0C5CFA2CFB5CDB3CAFDBEDDBFE2B7C3CECABDD3BFDAB9E6B7B6A3A8B1A8C5FAB8E5A3A E646F63>

FileMaker 16 ODBC 和 JDBC 指南

A API Application Programming Interface 见 应 用 程 序 编 程 接 口 ARP Address Resolution Protocol 地 址 解 析 协 议 为 IP 地 址 到 对 应 的 硬 件 地 址 之 间 提 供 动 态 映 射 阿 里 云 内

前言 本手册对协同管理系统的数据备份相关事宜进行说明 如对手册存在疑问, 可与致远互联 的客户服务人员联系 北京致远互联软件股份有限公司 2 / 15

FileMaker 15 ODBC 和 JDBC 指南

Microsoft Word 年9月二级VF真卷.doc

untitled

项目 3 创建和管理表 任务实现 Office Visio PK 3 FK FK1 3.1 相关知识 SQL Server 一 制订表规划 1. 表要存储什么对象 2. 表中每一列的数据类型和长度 059

Oracle Database 10g: SQL (OCE) 的第一堂課

ebook 165-5

第4单元 创建数据类型和表

Business Objects 5.1 Windows BusinessObjects 1

Microsoft PowerPoint - 05-SQL3-advanced.ppt

SQL: Interactive Queries (2)

untitled

錄...1 說...2 說 說...5 六 率 POST PAY PREPAY DEPOSIT 更

精 品 库 我 们 的 都 是 精 品 _www.jingpinwenku.com (8) 数 据 库 数 据 库 系 统 和 数 据 库 管 理 系 统 之 问 的 关 系 是 ( ) A) 数 据 库 包 括 数 据 库 系 统 和 数 据 库 管 理 系 统 B) 数 据 库 系 统 包 括

RunPC2_.doc

第四章 SQL 介紹

数据完整性问题 数据完整性的四大保障措施 : 主键约束 ; 外键约束 ; 域约束 ; 业务规则约束 ;

Microsoft Word - Functional_Notes_3.90_CN.doc

ebook 185-6

Microsoft Word - 扉页.doc

课程名称:数据库系统概论

建 立 数 据 库 档 案 用 sqlite3 建 立 数 据 库 的 方 法 很 简 单, 只 要 在 shell 下 键 入 ( 以 下 $ 符 号 为 shell 提 示 号, 请 勿 键 入 ): $ sqlite3 foo.db 如 果 目 录 下 没 有 foo.db,sqlite3 就

Transcription:

第十六章 Oracle 闪回技术 主讲内容 : 闪回技术 闪回表 闪回数据库的使用 ;

复习上节课内容 备份和恢复概述 RMAN 工具 RMAN 备份 恢复 第 2 页

本节课内容 1. 闪回技术概述 2. 闪回删除 3. 闪回版本查询 4. 闪回数据库 第 3 页

一. 闪回技术概述 目的 : 为了让用户及时获取误操作之前的数据 ; 多种形式 : 闪回表 (Flashback Table) 闪回删除 (Flashback Drop) 闪回版本查询 (Flashback Version Query) 闪回事务查询 (Flashback Transaction Query) 闪回数据库 (Flashback Database) 闪回归档 ( Flashback Data Archive) 第 4 页

1 闪回表 闪回表技术用于恢复表中的数据, 实质上是将表中的数据恢复到指定的时间点 (TIMESTAMP) 或系统改变号 (SCN) 上 ; 闪回表需要用到数据库中的撤消表空间, 可以通过 SHOW PARAMETER undo 语句查看与撤消表空间相关的信息 第 5 页

其中,auto 表示系统使用自动撤销管理方法, 即使用撤销表空间记录撤销数据 ; Undo_retention 表示保留时间 ; Undo_tablespace 表示撤销表空间名称 第 6 页

问题? 1:00, 新建数据表 student; 约 1:10 时刻, 插入数据记录 3 条 ; 接着插入数据记录 5 条 ; 能否将表 student 返回至 1:10 时刻的数据状态? 第 7 页

实现过程 1 创建数据表 student 2 插入 3 条数据记录, 并提交数据 第 8 页

3 继续输入 5 条数据记录, 并提交 第 9 页

4 启用表的行移动功能 ;( 该步骤必须执行 ) SQL> alter table student enable row movement; 第 10 页

5 使用 flashback table 命令, 将表中数据闪回到初始状态 ; SQL> flashback table system.student to timestamp to_timestamp('2011-12-11 00:20:01','yyyy-mm-dd hh24:mi:ss'); 或者 SQL> flashback table student to timestamp to_timestamp('2011-12-11 00:27:01','yyyy-mm-dd hh24:mi:ss'); 第 11 页

第 12 页

进行闪回表操作需要使用 FLASHBACK TABLE 语句, 其语法格式详见 P 350 ; 语法说明 : SCN: 系统改变号 相对时间点而言, 系统改变号比较难以理解 ; TIMESTAMP: 时间戳, 包括年月日时分秒 ; ENABLE TRIGGERS: 与表相关的触发器恢复后, 默认为启用状态 第 13 页

二. 闪回删除 闪回删除技术用于恢复已经被用户删除 (Drop) 的数据库对象, 这需要使用到 Oracle 数据库系统中的回收站机制 回收站 启用与禁用状态 查看信息 清除 第 14 页

1 回收站状态管理 Oracle 系统中的回收站在默认情况下是启用状态的 ; 如果回收站处于禁用 (OFF) 状态, 则被删除的数据库对象无法保存到回收站中, 只能是被彻底删除 ; 可以通过设置初始化参数 recyclebin 的值来修改回收站的状态 第 15 页

语法格式 : ALTER SESSION SET recyclebin = ON OFF ; 第 16 页

2 查看回收站中的信息 普通用户可以使用 SHOW RECYCLEBIN 命令, 也可以使用 user_recyclebin 数据字典 ; 数据库管理员则可以使用 dba_recyclebin 数据字典 ; 第 17 页

查看 user_recyclebin 结构 : 对象的原名对象类型对象的删除时间 第 18 页

例 1, 在 scott 用户下创建表 student, 然后使用 drop 命令删 除该表 ; 查询 user_recyclebin 回收站信息 ; 1 2 第 19 页

3 4 第 20 页

实现过程 ( 总结 ): (1) 以 system 身份登录 : SQL> alter user scott account unlock; SQL> alter user scott identified by admin; (2) 以 scott 身份登录 : SQL> connect scott/admin SQL> create table student(sno char(9),sname char(6),ssex char(2),sbirth date,sdept varchar2(20)); SQL> drop table student; 第 21 页

(3) 查询回收站信息 ; SQL> desc user_recyclebin; SQL> select original_name,type,droptime from user_recyclebin; 第 22 页

3 清除回收站中对象 PURGE 命令 : PURGE { [ TABLESPACE tablespace_name [ USER user_name ] ] [ TABLE table_name INDEX index_name ] [ RECYCLEBIN DBA_RECYCLEBIN ] } ; 第 23 页

例 1, 清除回收站中的 student 表对象 ; SQL> purge table student; SQL> select original_name,type,droptime from user_recyclebin; 第 24 页

4 使用闪回删除 语法形式 : FLASHBACK TABLE table_name TO BEFORE DROP [ RENAME TO new_table_name ] ; 备注 : table_name 可以使用表的原名, 也可以使用表在回收站中的名称 ; 默认还原最近一次删除的表 ; 若还原对象名称已经存在, 则需要在还原该表时对其重命名, 这时需要使用 RENAME TO 子句 第 25 页

例 2, 在 scott 用户下创建表 student2 并删除该表后, 查询该表在回收站中的信息 ; SQL> conn scott/admin create table student2(sno char(9),sname char(6),ssex char(2),sbirth date,sdept varchar2(20)); insert into student2 values(200515001,' 赵菁 ',' 女 ',null,null); drop table student2; select original_name,type,droptime from user_recyclebin; 第 26 页

第 27 页

第二步 : 使用 FLASHBACK 语句还原该表, 使用 SELECT 语句 查询闪回表, 检查是否成功还原 ;; SQL> FLASHBACK TABLE student2 TO BEFORE DROP; 第 28 页

三. 闪回版本查询 闪回版本查询 :Flashback Version Query; 用于查询某段时间内对表的操作记录, 主要针对 INSERT UPDATE 和 DELETE 操作 第 29 页

例 1, 在 scott 用户下创建表 myversion, 并对该表进行一系列增删改操作, 每次 DML 操作后都使用 COMMIT 命令进行提交 ; 命令汇总 : SQL> create table student2(sno char(9),sname char(6),ssex char(2),sbirth date,sdept varchar2(20)); insert into student values(200515001,' 赵菁 ',' 女 ',null,null); Commit; 第 30 页

update student2 set sname=' 赵菁菁 ' where sname=' 赵菁 '; commit; delete from student2 where sno=200515003; commit; Select sno,sname,versions_operation, versions_starttime,versions_endtime from student2 versions between timestamp minvalue and maxvalue; 第 31 页

第 32 页

四. 闪回数据库 闪回数据库, 实际上就是将数据库回退到过去的一个时间 点或 SCN 上, 从而实现整个数据库的恢复, 这种恢复不需 要通过备份, 所以应用起来更方便 更快速 第 33 页

1 闪回数据库设置 闪回数据库是依赖于闪回日志的,Oracle 系统提供了一组闪回日志, 记录了数据库的前滚操作 参数说明 : db_recovery_file_dest: 闪回日志的存放位置 db_recovery_file_dest_size: 存放闪回日志的空间 ( 即恢复区 ) 的大小 db_flashback_retention_target: 闪回数据的保留时间, 其单位为分, 默认值为 1440, 即一天 第 34 页

启用闪回数据库功能需要使用如下语法形式 : ALTER DATABASE FLASHBACK ON OFF ; 启用闪回数据库功能的步骤如下 (1) 确定当前数据库的日志模式是否为归档模式 ; (2) 设置闪回数据库功能为启用状态 ; (3) 检查闪回数据库功能是否已经启用 ; 第 35 页

操作步骤 ( 汇总 ): (1) 查看闪回数据库功能是否启用 ; SQL>Conn system/admin SELECT flashback_on FROM v$database ; (2) 确定是否为归档模式 ; SQL> conn /as sysdba archive log list; 第 36 页

(3) 启用并查看闪回数据库功能 ; Shutdown immediate Startup mount Alter database flashback on; Alter database open; SELECT flashback_on FROM v$database ; 第 37 页

第一步 第二步 第 38 页

第三步 第四步 第 39 页

2 使用闪回数据库 使用闪回数据库, 需要用户具有 SYSDBA 权限 语法形式 : FLASHBACK [ STANDBY ] DATABASE [ database_name ] [ TO [ BEFORE ] SCN TIMESTAMP expr ] ; 第 40 页

语法说明 : STANDBY: 表示恢复一个备用数据库, 如果没有相应的备用数据库, 则系统返回一个错误 如果不指定该选项, 则所恢复的数据库可以是主数据库, 也可以是备用数据库 database_name: 数据库名称 默认为当前数据库 SCN: 指定一个 SCN TIMESTAMP: 指定一个时间戳 Expr: 指定一个值或表达式 BEFORE: 恢复到指定 SCN 或时间戳之前 第 41 页

例 1, 闪回数据库示例 ; (1) 在 scott 用户下创建两个表 student1 与 student2, 并向这两个表添加数据 ( 注意使用 COMMIT 命令进行提交 ); (2) 获取系统当前的时间, 供闪回数据库时使用 ; (3) 删除 student1 表, 并修改 student2 表中的数据 ; (4) 下面使用 sys 用户闪回当前数据库 ; (5) 使用 scott 用户连接数据库, 查询 student1 表和 student2 表 第 42 页

小结 闪回技术概述 闪回删除 闪回版本查询 闪回数据库 第 43 页

再见 第 44 页