文档库 最新最全的文档下载
当前位置:文档库 › 闪回的使用方法

闪回的使用方法

闪回的使用方法
闪回的使用方法

1

Oracle闪回浅析

一、什么是闪回

闪回:flashback,意思就是:快速恢复。闪回是Oracle数据库备份恢复体系结构中的革新技术,此技术用于数据库快速恢

复领域,有多快呢?Oracle表示,可以把恢复时间缩短为原来的百分之一。为了使Oracle 数据库能够从任何的逻辑误操作中

快速恢复,Oracle在Oracle 9i中推出了闪回查询(Flashback Query),在Oracle 10g中对该技术进行了全面扩展,提供了

闪回表、闪回版本查询、闪回事物查询、闪回删除、闪回数据库,在Oracle 11g中,Oracle 继续对该技术进行了改进和增强

,增加了闪回数据归档。

二、如何启用闪回

使用不同级别的闪回需要的数据库状态与技术列表:

闪回级别

数据库状态

使用的技术

闪回查询

非归档/归档

UNDO tablespace

闪回表

非归档/归档

UNDO tablespace

闪回版本查询

非归档/归档

UNDO tablespace

闪回事物查询

非归档/归档

UNDO tablespace

闪回删除

非归档/归档,启用回收站

Recyclebin

闪回数据库

归档

Flashback log闪回日志

1、基于UNDO表空间的闪回,随时都可以使用

2、基于Recyclebin的闪回删除,需要启用回收站

3、基于Flashback log的闪回数据库,需要数据库运行在归档模式下

2

检查数据库是否运行在归档模式下

select log_mode from v$database;

NOARCHIVELOG表示非归档模式;ARCHIVELOG表示归档模式

若不是归档模式,则闪回日志肯定是未启用的,如果启用,会发生如下错误:

ORA-38706: 无法启用FLASHBACK DA TABASE 事件记录。

ORA-38707: 尚未启用介质恢复。

启用归档模式及闪回日志的步骤如下:

alter system set db_flashback_retention_target=1440 scope=both;

shutdown immediate

startup mount

alter database archivelog;

alter database flashback on;

alter database open;

若是归档模式,检查闪回是否启用:

select flashback_on from v$database;

NO表示没有启用;YES表示已启用

启用闪回日志的步骤如下:

alter system set db_flashback_retention_target=1440 scope=both;

shutdown immediate

startup mount

alter database flashback on;

alter database open;

相关数据库参数

undo_management:undo的管理方式,要设为AUTO

undo_retention:undo信息过期的时间,单位:秒

db_recovery_file_dest:闪回恢复区的位置

db_recovery_file_dest_size:闪回恢复区空间大小

db_flashback_retention_target:闪回日志保留的时间,单位:分钟,保留的时间越长,则闪回恢复区需要的空间越大

三、如何使用闪回

创建闪回测试用户:

create user fbtest identified by fbtest;

grant connet,resource to fbtest;

grant select_catalog_role to fbtest;

grant execute on dbms_flashback to fbtest;

conn fbtest/fbtest

1、闪回查询

通过时间或SCN进行闪回查询并恢复数据

SQL> create table test01(lsh varchar2(10));

SQL> insert into test01 values('10');

SQL> insert into test01 values('20');

SQL> commit;

等待1分钟

SQL> delete from test01 where lsh='10';

SQL> commit;

SQL> select * from test01;

LSH

----------

20

查询1分钟前的情况

SQL> select * from test01 as of timestamp sysdate - 1/1440;

LSH

----------

10

20

查询SCN为840300时的情况

SQL> select * from test01 as of scn 840300;

LSH

----------

10

20

恢复被删除的数据:

SQL> insert into test01 select * from test01 as of timestamp sysdate - 5/1440 where lsh='10';(或insert into

test01 select * from test01 as of scn 840300 where lsh='10';)

SQL> commit;

SQL> select * from test01;

LSH

----------

20

10

提示:

a、如何确定当前SCN?

SQL> select dbms_flashback.get_system_change_number current_scn from dual;(或select current_scn from

v$database;)

CURRENT_SCN

------------------------

840950

b、能向前闪回多久?

由于闪回查询是基于UNDO表空间中的信息,因此能向前闪回多久,将由UNDO表空间的大小决定

c、闪回查询仅仅是查询以前的一个快照而已,并不改变当前表的状态,需要使用insert或update对数据进行恢复

2、闪回表

闪回数据

SQL> create table test02 as select * from dba_users;

SQL> select count(*) from test02;

COUNT(*)

----------

25

SQL> delete from test02 where rownum < 10;

SQL> commit;

SQL> select count(*) from test02;

COUNT(*)

----------

16

SQL> alter table test02 enable row movement;

SQL> flashback table test02 to timestamp to_date('2009-08-09 21:50:00','yyyy-mm-dd hh24:mi:ss');

SQL> select count(*) from test02;

COUNT(*)

----------

25

提示:

a、必须启用表的行移动特性,否则不能闪回,发生如下错误,ORA-08189: 因为未启用行移动功能, 不能闪回表

b、也可以使用SCN闪回数据,语法:flashback table to scn ???;

3、闪回版本查询

查询表在某个时间段内所进行的任何修改操作

SQL> create table test03(col1 varchar2(10),col2 varchar2(10));

SQL> insert into test03 values('a','a');

SQL>commit;

SQL> insert into test03 values('b','b');

SQL> commit;

SQL> select * from test03;

COL1 COL2

---------- ----------

a a

b b

SQL> update test03 set col1='bb' where col2='b';

SQL> commit;

SQL> delete from test03 where col2='a';

SQL> commit;

SQL> select versions_starttime,versions_endtime,versions_xid,

versions_operation,col1,col2 from test03 versions between

timestamp minvalue and maxvalue;

VERSIONS_STARTTIME VERSIONS_ENDTIME VERSIONS_XID V COL1 COL2

------------------------------ ------------------------------ ---------------- - ---------- ----------

23-8月-09 05.48.33 下午05002F002A020000 D a a

23-8月-09 05.48.03 下午020021002B020000 U bb b

23-8月-09 05.47.15 下午23-8月-09 05.48.03 下午03000F002A020000 I b b

23-8月-09 05.47.04 下午23-8月-09 05.48.33 下午0A001900EA010000 I a a

提示:

a、伪列的含义

versions_startscn/versions_starttime 记录操作时的scn 或时间,如果为空,表示该行记录是在查询范围外创建的

versions_endscn/versions_endtime 记录失效时的scn 或时间,如果为空,说明记录当前时间在当前表内存在,或者已经

被删除了,可以配合着versions_operation 列来看,如果versions_operation 列值为D,说明该列已被删除,如果该列为

空,则说明记录在这段时间无操作

versions_xid 该操作的事务id versions_operation 对该行执行的操作:I表示insert,D表示delete,U表示update。对于

索引键的update 操作,版本查询可能会将其识别成两个操作delete 和insert

4、闪回事物查询

在事物级别上检查数据库的任何改变,可以进行诊断问题、性能分析和审计事务,是闪回版本查询的一个补充,在闪回版本

查询的基础上,进行如下操作,可以获得回滚事务需要的sql语句

SQL> select undo_sql

2 from flashback_transaction_query

3 where xid=' 05002F002A020000';

UNDO_SQL

--------------------------------------------------------------

insert into "FBTEST"."TEST03"("COL1","COL2") values ('a','a');

SQL> select undo_sql

2 from flashback_transaction_query

3 where xid='020021002B020000';

UNDO_SQL

-----------------------------------------------------------------------------

update "FBTEST"."TEST03" set "COL1" = 'b' where ROWID = 'AAANGsAAEAAAE6FAAB';

提示:

a、用户要有查询flashback_transaction_query视图的权限

b、根据实际情况修改UNDO_SQL以便回滚已经提交的事物

5、闪回删除

闪回drop

SQL> show recyclebin

SQL> drop table test02;

SQL> show recyclebin

ORIGINAL NAME…

----------------

TEST02

SQL> select count(*) from test02;

ORA-00942: 表或视图不存在

SQL> flashback table test02 to before drop;

SQL> select count(*) from test02;

COUNT(*)

----------

25

提示:

a、闪回drop是基于10g的回收站,因此回收站功能必须启用,否则不能闪回,发生如下错误,ORA-38305: 对象不在回收站

b、在sys用户下使用命令alter system set recyclebin=on;启用回收站功能

c、drop table purge;直接彻底删除,不放入回收站,不能闪回

d、回收站的管理在此不再赘述,感兴趣的可以参考官方文档

6、闪回数据库

可以不利用备份就快速的实现基于时间点的整个数据库的恢复。

要闪回整个数据库只需执行下面的命令:

shutdown immediate

startup mount

flashback database to scn ???;(或者flashback database to timestamp ???;)

接下来,Oracle提供了两种方式修复数据库:

a、使用resetlogs直接打开数据库

alter database open resetlogs;

这种方式打开数据库后,指定的时间点后的数据将丢失

b、一系列的操作

以只读方式打开数据库

导出已经闪回的数据

recover database,使用redo恢复数据库到flashback操作之前

导入前面导出的数据

这样就保证指定时间点后的数据不会丢失,但操作较为繁琐

提示:

a、对于RAC,flash recovery area 必须位于共享存储中

b、不是介质恢复,某个数据文件被删除了,不能闪回

c、如果重建了控制文件,那么将不能闪回到重建控制文件之前,因为之前的闪回日志都失效了

d、对于nologging 模式下插入的数据,flashback database 也恢复不了,因此建议数据库处于force logging模式

Oracle发展历程

Oracle数据库发展历程 一、oracle数据库的发展历程 本节中,我们主要介绍Oracle的发展历程。 1977年,Larry Ellison、Bob Miner和Ed Oates等人组建了Relational软件公司(Relational Software Inc.,RSI)。他们决定使用C语言和SQL界面构建一个关系数据库管理系统(Relational Database Management System,RDBMS),并很快发布了第一个版本(仅是原型系统)。 1979年,RSI首次向客户发布了产品,即第2版。该版本的RDBMS可以在装有RSX-11操作系统的PDP-11机器上运行,后来又移植到了DEC VAX系统。 1983年,发布的第3个版本中加入了SQL语言,而且性能也有所提升,其他功能也得到增强。与前几个版本不同的是,这个版本是完全用C语言编写的。同年,RSI更名为Oracle Corporation,也就是今天的Oracle公司。 1984年,Oracle的第4版发布。该版本既支持VAX系统,也支持IBM VM操作系统。这也是第一个加入了读一致性(Read-consistency)的版本。 1985年,Oracle的第5版发布。该版本可称作是Oracle发展史上的里程碑,因为它通过SQL*Net引入了客户端/服务器的计算机模式,同时它也是第一个打破640KB内存限制的MS-DOS 产品。 1988年,Oracle的第6版发布。该版本除了改进性能、增强序列生成与延迟写入(Deferred Writes)功能以外,还引入了底层锁。除此之外,该版本还加入了PL/SQL和热备份等功能。这时Oracle已经可以在许多平台和操作系统上运行。 1991年,Oracle RDBMS的6.1版在DEC VAX平台中引入了Parallel Server选项,很快该选项也可用于许多其他平台。 1992年,Oracle 7发布。Oracle 7在对内存、CPU和I/O的利用方面作了许多体系结构上的变动,这是一个功能完整的关系数据库管理系统,在易用性方面也作了许多改进,引入了SQL*DBA工具和database角色。

Flashback用法汇总

Oracle的Flashback用法汇总 by jdstkxx on 2012 年 4 月 22 日 /* 11g的flashbackup 分好几种,分别用途不一样。 A.flashback database 闪回数据库,简单理解就是把数据库闪回到某个以前的时间点,能恢复到的最早的SCN,取决与Flashback Log中记录的最早SCN B.flashback drop 回收数据库表,用于表误drop后恢复。类似Windows的回收站。 C.flashback query 闪回表记录,用于数据表记录的恢复 D.falshabck Table 闪回数据库表, 后两个是重点,下面说明。 */ – A.flashback database相关 /* 1.默认情况数据库的flashback database是关闭,可以在mount exclusive状态下打开。在设置了闪回恢复区后,可以启动闪回数据库功能。 */ –1.检查是否启动了flash recovery area show parameter db_recovery_file –2.检查是否启用了归档 archive log list; –3.flashback database 默认是关闭的,查看方法 select flashback_on from v$database; –4.查询当前的scn SELECT CURRENT_SCN FROM V$DATABASE;

–5.查询当前的时间 select to_char(sysdate,’yy-mm-dd hh24:mi:ss’) time from dual; –6.查看SCN 和 timestamp 之间的对应关系: select scn,to_char(time_dp,’yyyy-mm-dd hh24:mi:ss’)from sys.smon_scn_time; –7.恢复到时间点,或者恢复到SCN flashback database to timestamp to_timestamp(’09-10-14 14:37:05′,’yy-mm-dd hh24:mi:ss’);flashback database to scn 947921; – B. flashback table 恢复误drop表 drop table sphsy.login_table; select * from flash_table; –purge table sphsy.login_table;清空回收站 flashback table sphsy.login_table to before drop; select * from sphsy.login_table; – C. flashback query 实现行级恢复 /* flashback查询用于获取先前时间点的表行级数据。当使用flashback查询时, 需要在表名后指定as of timestamp子句或as of SCN子句,其中as of timestamp用于指定早期时间点,而as of SCN用于指定早期的SCN值,示例如下: */ – 1.查原始记录,区间内有62 行 select * from sphsy.login_table a where a.id > 201204171078 and a.id < 201204171141

数据库要求明细

(1) 基本要求: 1) 支持事务的多版本读一致性与回滚段机制。 2) DML操作只能有行级锁,任何情况下不允许有锁定过多资源的锁升级,以降低死锁的可能性,若出现死锁,能自动解锁。 3) 多个用户操作同一条记录时,任何情况下读、写互不影响,并且不能有读取其他用户未提交数据的脏读。 4) 支持对非结构化数据采用统一数据类型进行管理,可以应用统一的管理策略如智能压缩、透明加密等功能。 5) 必须支持数据库闪回技术,能保障数据库准确恢复到以前的某个时间点,支持库级、表级、行级的回滚技术。 6) 对数据库伸缩性的支持具有从单服务器到多服务器的扩充能力,必须支持基于共享存储的真正应用集群系统。 7) 支持数据分区优化的大数据量处理功能;要求支持范围、列表、哈希、组合、引用、间隔等多种表分区方式;支持分区向导功能。 8) 应具有强的容错能力、错误恢复能力、错误记录及预警能力,能在不影响数据库运行的条件下快速恢复已提交的修改。可以在秒级别将整个数据库、表、表中的记录或是事务恢复到指定时间点。 9) 支持存储关系型数据和对象型数据 10) 支持网格计算和资源的虚拟化 11) 支持主流的网络协议,(如:TCP/IP、IPX/SPX、NETbios 及混合协议) 12) 支持同构、异构数据源的访问,包括文件数据源;能和异构数据库互相复制 13) 支持存储过程、触发器。触发器支持语句执行前、执行后和可替换型三种方式。支持行级触发器。触发器的触发操作和事件包括DML、DDL、数据库启停、错误信息、登录/注销 14) 支持在一台机器的浏览器界面中统一管理不同平台的多个数据库 ★15) 能够将原有异种数据库向本数据库无损失移植 16) 内嵌支持存储、管理、查询和提取半结构化的数据,如XML文档,支持XML 数据类型,直接把XML存储于数据库中 17) 支持不依赖于第三方软件和存储的异地双机和多机热备 18) 支持大规模数据加载和更新,数据库的数据文件能跨平台互相交换 19) 支持用户对数据库内存管理(如,将用户指定的数据库对象常驻内存),支持SSD作为数据库的二级缓存 20)需购买厂家1CPU授权 (2) 成熟度要求: 1) 支持当前最流行的数据库技术标准; 2) 完全支持中文国家标准中文字符的存储处理,支持UNICODE通用编码格式; 3) 支持ANSI/ISO SQL:2003标准 4) 数据库厂商能够提供集群文件系统,可用于数据库文件和操作系统文件统一管理的文件系统 (3) 高效性要求: 1) 支持大到TB级数据量的存储管理; ★2) 提供并发控制机制, 必须支持数据库多版本读写一致性及自动的死锁处理能力。支持行级锁,而且行级锁不升级

Oracle数据库10g备份与恢复(技术白皮书)

Oracle数据库10g备份和恢复:RMAN和闪回技术 Oracle 白皮书 2004 年 6 月

发展和革命 (3) 恢复管理器 (3) 快速恢复区 (4) 自动存储管理 (6) 更改跟踪文件 (6) 增量更新备份 (7) Oracle 建议的策略 (7) 备份管理 (9) 跨平台的传输 (10) 革命还未结束 (11) RMAN 比对用户管理的恢复 (11) 网格集群 (13) 人为错误的挑战 (13) 人为错误纠正—闪回技术 (13) 人为错误的传统恢复 (14) 恢复时间目标 (14) 何时使用闪回与传统恢复的对比 (14) 闪回数据库 (15) 闪回表 (17) 闪回删除 (18) 什么是回收站? (18) 闪回查询 (18) 闪回版本查询 (20) 闪回事务查询 (20) 实例 (21) 结论 (22)

发展和革命 数据库备份可能是防止 Oracle 数据库发生介质故障的唯一方式。使用提供给 DBA 的大量工具和方法来恢复关键数据的重要性是毋庸置疑的。保护 Oracle 数据的成本和复杂性包括,从简单的每周备份到磁带,到记录更加繁复的文件快照或备用数据库。Oracle Data Guard1.的体系结构有助于企业恢复对 Oracle 数据库造成不利影响的灾难、人为错误和损坏。每个工具和选项都有其自己的持续可用性优势,并且可以快速备份和/或恢复 Oracle 数据库。 为了保护和恢复数据所采纳的方法或工具应该具有: 可靠性。所有需要恢复的文件都进行了备份,且通过恢复操作能够方便地恢复文件。 灵活性。Oracle 数据库可以在数据库、表空间、数据文件和块级上备份或恢复。 可管理性组织和管理备份文件以便用于恢复操作。 可用性。备份操作不应该干扰数据库事务处理过程同时恢复操作应该快速、有效。 Oracle 恢复管理器通过新的版本和 Oracle 数据库 10g 包含的革命性技 术进步继续得以完善,并提供您一直期待的简单、可靠和自动的恢复工具。此白皮书列出了 Oracle 数据库 10g 用于备份和恢复文件管理的新功能,增强的增量备份和异构平台上相同表空间数据的共享。让革命开始吧! 恢复管理器 恢复管理器 (RMAN) 是管理备份和更重要的数据库恢复的 Oracle 公用程序。提供数据库高级的性能和可用性的同时消除了操作的复杂性。从 Oracle8 开始,恢复管理器为 DBA 提供了集成的备份和恢复解决方案。 1有关 Data Guard 的详细信息,请访问 https://www.wendangku.net/doc/6a5491372.html,/deploy/availability/htdocs/odg_overview.html。

Oracle的闪回特性

Oracle的闪回特性 在Oracle 9i之前的版本中,如果用户因为误操作delete或update了数据并最终提交,为了恢复这些用户错误,我们必须通过逻辑备份或者物理备份进行恢复来纠正这些错误,这种方法是极其复杂和低效的。 为了提高数据库的可用性,简化用户的数据恢复,从Oracle 9i开始,Oracle将闪回flashback引入到数据库中,闪回功能类似播放机中的回退功能,通过回退,我们可以找会正确的数据,纠正犯下的错误。 从Oracle 9i到Oracle 10g以及Oracle 11g,Oracle在不停地增加和强化闪回功能,在这一章中,我们将全面介绍Oracle的闪回特性。 1.Oracle 9i的闪回查询特性 从Oracle 9i开始Oracle 引入了闪回查询(Flashback Query)的特性,通过闪回查询我们可以按照时间戳或SCN来向前查询,获取修改之前的数据镜像,再通过insert等操作就可以恢复数据。 闪回查询依赖于回滚段中存储的数据前镜像,在Oracle 9i以前的版本中,通常只要事务提交后,前镜像数据就可以被覆盖,空间可以重用;在Oracle 9i中Oracle引入了自动回滚段管理(Automatic Undo Management,简称AUM)的新特性,在AUM模式下,我们可以通过调整undo_retention参数来设置数据库UNDO信息的保留时间,只要前镜像没有被覆盖,那么闪回就是可能的,但是需要注意的是,UNDO信息的保留还同UNDO表空间中的空间有关,如果空间紧张,为了满足事务的需要,非会动的前镜像信息是可以被覆盖的。 可以使用select 语句的as of子句来进行闪回查询,具体语法如下: As of scn/timestamp expr 通过关键词as of 可以对表、视图、物化视图进行Flashback Query,可以指定SCN或者timestamp,其中timestamp是9i中引入的新的数据类型,精确到毫秒的时间单位。 2.闪回查询的使用 以下通过一个示例来说明如何使用Oracle 的这个新特性。 首先记录一下当前的时间戳,然后删除测试表中的两条数据并提交: SQL> create table test as select * from dba_users; 表已创建。 SQL> select count(*) from dba_users; COUNT(*) ---------- 8 SQL> select systimestamp from dual; SYSTIMESTAMP ---------------------------------------------------------------------------

Oracle闪回特性

在Oracle的操作工程中,会不可避免地出现操作失误或者用户失误,例如不小心删除了一个表等,这些失误和错误可能会造成重要数据的丢失,最终导致Oracle数据库停止。 闪回的基本概念 在Oracle的操作工程中,会不可避免地出现操作失误或者用户失误,例如不小心删除了一个表等,这些失误和错误可能会造成重要数据的丢失,最终导致Oracle数据库停止。在传统意义上,当发生数据丢失、数据错误问题时,解决的主要办法是数据的导入导出、备份恢复技术,这些方法都需要在发生错误前,有一个正确的备份才能进行恢复。为了减少这方面的损失,Oracle提供了闪回技术。有了闪回技术,就可以实现数据的快速恢复,而且不需要数据备份。闪回的类型: 闪回表(flashback table) :恢复到过去的一个是时间点 闪回删除(flashback drop) :回收站中将已删除的对象恢复到删除之前的状态 闪回版本查询(flashback version query) :查看用户提交了的增删改的操作以及相应操作时间的记录 闪回事务查询(flashback transaction query) :查询某个事务甚至撤销一个已经 提交的事务 闪回的益处 恢复中,闪回技术是革命性的进步 传统的恢复技术缓慢: ?它是整个数据库或者一个文件恢复,不只恢复损坏的数据 ?在数据库日志中每个修改都必须被检查 闪回速度快: ?通过行和事务把改变编入索引 ?仅仅改变了的数据会被恢复 闪回命令很容易: ?没有复杂棘手的多步程序 闪回表 闪回表,实际上是将表中的数据快速恢复到过去的一个是时间点或者系统改变号SCN 上。实现表的闪回,需要使用到与撤销表空间相关的undo信息,通过show parameter undo 命令可以了解这些信息。 用户对表数据的修改操作,都记录在撤销表空间中,这为表的闪回提供了数据恢复的基础。例如,某个修改操作在提交后被记录在撤销表空间中,保留时间为900秒,用户可以 在这900秒的时间内对表进行闪回操作,从而将表中的数据恢复到修改之前的状态。 闪回表的步骤: 1.执行表的闪回要设置用户权限:grant flashback any table to scott; 2. 获取要恢复的点(SCN号): select sysdate 时间, timestamp_to_scn(sysdate) SCN from dual; 3. 将表的行移动功能打开:alter table flshback_table enable row movement; 4. 执行闪回表:flashback table flashback_table to scn 945018(获取到的scn号,也可指定在某个时间段恢复); 闪回删除 闪回删除,实际上从系统的回收站中将已删除的对象,恢复到删除之前的状态。系统的回收站只对普通用户有作用。回收站是所有被删除对象及其相依对象的逻辑存储容器,例如当一个表被删除(drop)时,该表及其相依对象并不会马上被数据库彻底删除,而是被保

Oracle 11g数据库管理及其开发技术(doc 8页)

Oracle 11g数据库管理及其开发技术(doc 8页)

课程摘要:本课程主要介绍Oracle数据库的基本概念、安装方法及数据库的启动与关闭、与数据库设计、开发和管理密切相关的SQL语言,以及Oracle对SQL语言应用进行增强的PLSQL语言和SQL*Plus管理工具,并结合大量的实例帮助学员学习Oracle数据库系统的相关知识;数据库的备份与恢复技术,包括基础知识、RMAN工具、闪回、OEN 及逻辑备份工具(数据泵技术)、数据库优化、SQL优化和系统调整方面的知识;

内容大纲: 数据库的基础知识 数据库的产生、数据库的特征 数据库的组成、数据库的管理系统、关系数据库 初识Oracle Oracle 数据库系统的特点、发展历史 Oracle 版本号的含义、Oracle 11g 的新特性 Oracle 11g 数据库安装/启动/关闭 Oracle 11g 在Windows 下的安装概述 在Windows 环境下安装Oracle 11g 在Linux 环境下安装前的准备、在Linux 环境下安装Oracle 11g Oracle 11g 数据库实例的创建 在Windows 环境下创建数据库 在Linux 环境下用DBCA 创建数据库 Oracle 11g 实例启动与关闭 Linux 环境下Oracle 实例的关闭、Linux 环境下Oracle 监听进程的启动和关闭 SQL 语言概述 使用SQL*Plus 用SQL*Plus 与数据库交互 SQL*Plus 的主要功能、启动SQL*Plus 连接数据库 1. 管理表 建表时的考量、列数据类型、创建表的语法、创建表的实例、查看表的信息 、修改表结构、重命名表、监控表的存储空间、修改表空间的存储设置、删除表、外部表的管理

oracle闪回技术

亚存整理 闪回作用 自动的基于磁盘的备份与恢复,能把表恢复到过去的某个时间点 查看闪回区 Show parameter db_recovery_file_dest 查看闪回区详细信息 Select flashback_on from v$database 查看闪回区是否开启 2,修改闪回功能 SQL> startup mount 数据库启动到mount下 SQL> alter database flashback on (off); 开启关闭闪回区 注:如遇到38706事件错误,可能是因为归档不正确。先启用归档 SQL>alter database archivelog SQL> alter system set db_flashback_retention_target=2880 修改闪回时间,默认是1440 闪回时间是指数据库能回退的时间 闪回使用实例:(注:sys用户下不可用闪回) 1,闪回drop的表 在非sys用户下创建表和表上索引,插入相关数据 create table abc (f number(9)); create index idx_test on abc(f); insert into abc values(1); insert into abc values(2); insert into abc values(3); 删除表 drop table abc; 删除表之后,表并没有被真正删除,而是重命名之后放在同一用户下的回收站内,同时表上的索引等也会被如此处理。回收站满后以先进先出的原则管理 查看表语句select * from tab; 查看索引语句select index_name, index_type, table_name from ind; 查看回收站语句show recyclebin 清空回收站语句PURGE RECYCLEBIN; 注:没有放入回收站的表不能被闪回 闪回之后,即可再次看到表 flashback table abc to before drop; 但是表闪回后相应的索引等需要重新编译 2,闪回DML语句 Flashback table abc to timestamp to_timestamp(‘2014-02-14 16:00:00’,’yyyy-mm-dd hh24:mi:ss’) 闪回可能会遇到08189错误,执行下列语句

oracle数据库闪回目录空间不足导致drop user cascade报错

闪回目录空间不足导致drop user cascade报错 imp数据的过程中出错,所有drop user gspx cascade,但一直无法执行完毕,无奈的关闭终端,重新连接数据库后, 再次执行drop user gspx cascade ,这次报错如下: 第1 行出现错误: ORA-01940: cannot drop a user that is currently connected 从v$session中查看,没有与gspx用户相关的session conn gspx/gspx 又报错如下: 普通连接报错: ORA-00257: archiver error. Connect internal only,until freed 系统不能进行归档: SQL> select * from v$log; GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS ---------- ---------- ---------- ---------- ---------- --- ---------------- FIRST_CHANGE# FIRST_TIME ------------- --------------- 1 1 10 52428800 1 NO INACTIVE 15711794 31-MAY-07 2 1 11 52428800 1 NO CURRENT 15730194 31-MAY-07 3 1 9 52428800 1 NO INACTIVE ARC字段的值都是NO,表明数据库无法自动归档。 检查归档空间使用情况: SQL> select * from v$flash_recovery_area_usage; FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES ------------ ------------------ ------------------------- --------------- CONTROLFILE 0 0 0 ONLINELOG 0 0 0 ARCHIVELOG 99.99 0 527 BACKUPPIECE 0 0 0 IMAGECOPY 0 0 0 FLASHBACKLOG 0 查看闪回目录的路径以及空间配额 SQL> show parameter db_recovery_file_dest NAME TYPE V ALUE ------------------------------------ ----------- ------------------------------ db_recovery_file_dest string /opt/oracle/flash_recovery_are a db_recovery_file_dest_size big integer 2G

数据库闪回相关语句

北京甲骨文(盈佳科技)学习中心将详细介绍oracle 数据库闪回相关语句,需要了解跟多的同学可以参考下 1\将表闪回到某一时间点: 闪回操作前启用行移动功能 Sql代码 alter table emp enable row movement; 执行闪回语句: Sql代码 flashback table emp to timestamp to_timestamp('20120709195000','YYYYMMDDHH24:MI:SS'); 2\闪回回收站: Java代码 SQL>show recyclebin; SQL>drop table emp; SQL>show recyclebin; ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME EMP BIN$b+XkkO1RS5K10uKo9BfmuA==$0 TABLE 2012-11-07:15:30:47 SQL>flashback table emp to before drop;或 SQL>flashback table "BIN$b+XkkO1RS5K10uKo9BfmuA==$0" to before drop;

清理回收站: 清除回收站中的单个表:purge table emp 清除整个回收站:purge recyclebin 清除不同的对象回收站:purge user_recyclebin或purge dba_recyclebin 彻底删除一个table: SQL>drop table emp purge; --表不能被恢复了。 3\闪回事物查询: Sql代码 select * from flashback_transaction_query where TABLE_NAME= 'EMP' 盈佳科技有限公司是甲骨文Oracle公司在北京指定授权IT学习中心,坐落于海淀区北四环中路。主要从事Oracle Java软件开发实训和学员的就业安排。Oracle Java软件开发实训课程摆脱了传统单一编程训练的知识结构,整个实训体系分为技术层面、理论层面、软件项目管理层面及团队合作层面。学员不仅能够学习到实用的技术,更可以在多方面得到综合训练,从而培养出适合企业需要的高素质人才。详情请访问:甲骨文官网网址:https://www.wendangku.net/doc/6a5491372.html,

ORACLE 11g 技术白皮书

ORACLE 11g 技术白皮书 1概要 过去30年来。信息技术成熟到全球经济几乎全都仰赖电子撷取、分析与分享信息的地步。 各企业持续扩大自己的信息基础架构,想要满足以更短时间存取信息而且不断成长的业务需求。然而,企图勉强结合青黄不接的技术与流程,导致各企业信息技术(IT)基础架构普遍的严重复杂性与效率不彰。由于日常作业完全仰赖信息技术基础架构,这种复杂性威胁到了企业快速应变的能力。 Oracle Database 11g提供绝佳创新,使各企业能够更快速应变。高成本的负担与瞬息万变的业务需求息息相关,各企业可以仰赖Oracle Database 11g帮助创新,以妥善掌控、具备成本效益的方式执行IT变革。 Oracle Database 11g解决阻碍各IT组织进步的核心问题:自信满怀地执行变革的能力。运用Oracle Database 11g,各企业可以统合所有信息,而简化自己的信息基层架构。Oracle Database 11g也不断地为更高价值的规划工作而释出宝贵的技术资源,使管理工作自动化进而建置崭新的业务流程。 Oracle Database 11g彻底改变了具有前瞻视野的公司对于数据库平台的需求。由于Oracle Database 11g与企业级网格运算,各企业现在可以毫无羁绊地追求创新。 2增益网格实力 Oracle倡导企业网格(enterprise grids),挑战建置和维护企业IT基础架构的高昂成本。企业网格运用Oracle Database 11g以及商用服务器和存储,让各企业能够简化自己的基础架构,进而顺应变革,而非管理昂贵的垂直扩展服务器孤岛;Oracle企业网格以最低成本独家提供效能、可用性与基础架构灵活性的绝妙组合。 Oracle企业网格包括Oracle Fusion Middleware可以扩展应用软件、Oracle Real Application Clusters (Oracle R AC)以提供扩展性和高可用性,还有Automatic Storage Management (ASM)以简化管理基本存储基础架构的工作,并使其自动化。Enterprise Manager Grid Control简化企业网格和一体化业务流程的管理,以确保快速、安全而且可靠的服务品质。 网格运算

数据库备份与恢复技术

Oracle数据库备份与恢复技术 Oracle是一个适合于大中型企业的数据库管理系统,它主要应用于:银行、电信、移动通信、航空、保险、金融、跨国公司、和电子商务等。备份与恢复是数据库管理中最重要的方面之一。如果数据库崩溃却没有办法恢复它,那么对企业造成的毁灭性结果可能会是数据丢失、收入减少、客户不满等。不管公司是使用单个数据库还是多个数据库来存储数百GB 或TB 的数据,它们都有一个共同点,即需要制订一个备份与恢复方案来备份重要数据并使自身免于灾难,将损失尽量降低到最小。 备份与恢复概述 备份是数据的一个代表性副本。该副本会包含数据库的重要部分,如控制文件、重做日志和数据文件。备份通过提供一种还原原始数据的方法保护数据不受应用程序错误的影响并防止数据的意外丢失。备份分为物理备份和逻辑备份。物理备份是物理数据库文件的副本。“备份与恢复”通常指将复制的文件从一个位置转移到另一个位置,同时对这些文件执行各种操作。 相比而言,逻辑备份包含使用SQL 命令导出并存储在二进制文件中的数据。Oracle 在重做日志缓冲区中记录提交的和未提交的更改。逻辑备份用于补充物理备份。还原物理备份意味着重建它并将其提供给Oracle 服务器。要恢复还原的备份,需要使用事务日志中的重做记录来更新数据。事务日志记录在执行备份之后对数据库所做的更改。 Oracle 在例程故障之后自动执行崩溃恢复和实例恢复。在出现介质故障的情况下,数据库管理员(DBA) 必须启动恢复操作。恢复备份涉及两种不同的操作:通过应用重做数据将备份前滚至一个较近的时间;将在未提交的事务中所做的所有更改回滚至其原来状态。一般而言,恢复指在还原、前滚和回滚备份中涉及的各种操作。备份与恢复指在防止数据库丢失数据和在丢失数据时重建数据库的过程中涉及的各种策略和操作。 备份与恢复操作 备份是数据文件、表空间或某个时间点的数据库等的快照。如果对数据库进行了周期性备份,则在数据丢失时用户可以将存储的重做信息应用到他们最新的备份中,从而恢复数据库的当前状态。Oracle 使用户能够还原一个较早的备份和仅应用某些重做数据,从而将数据库恢复到一个较早的时间点。这种恢复称为不完全介质恢复。如果备份是一致的,那么根本不需要用户应用任何重做数据。 下面用介质恢复的一个简单例子来解释一下这个概念。假定用户在中午为数据库作了一个备份。从中午开始,每一分钟对数据库进行一次更改。在下午 1 点时,一个磁盘驱动器出现故障,导致那个磁盘上的所有数据丢失。幸运的是,Oracle 在重做日志中记录了所有更改。则用户可以将中午的备份还原到一个正常运转的磁盘驱动器上,使用重做数据将数据库恢复到下午1 点,从而重建丢失的更改。 备份与恢复策略要素 尽管备份与恢复操作非常复杂并随因企业而异,但基本原则均遵循这四个简单的步骤:

oracle闪回

闪回基本参数 企业版才支持数据闪回 打开重置日志ALTER DATABASE OPEN RESETLOGS 必须在归档模式archive log list; 开启mount状态startup mount exclusive; 查看闪回参数show parameter db_recovery show parameter flashback 设置闪回空间alter system set db_recovery_file_dest='/u01/app/oracle/flashback_area' scope=spfile; 设置闪回区大小alter system set db_recovery_file_dest_size=20g scope=spfile; 设置保留时间 alter system set db_flashback_retention_target=4320; 开启闪回alter database flashback on; 查看闪回开启select flashback_on from v$database; 具体闪回待添加----搭建rac之后 创建可靠还原点 sys@WZXIS>create restore point b1 guarantee flashback database;

闪回表 scott@DJJXIS>drop table emp; Table dropped. scott@DJJXIS>select * from tab; TNAME TABTYPE CLUSTERID ------------------------------ ------- ---------- BIN$R+Kc8tW4kBTgVQAAAAAAAQ==$0 TABLE BONUS TABLE DEPT TABLE SALGRADE TABLE 查看回收站 scott@DJJXIS>show recyclebin; ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME ---------------- ------------------------------ ------------ -------- EMP BIN$R+Kc8tW4kBTgVQAAAAAAAQ==$0 TABLE 2017-02-07:03:31:11 scott@DJJXIS>flashback table emp to before drop; Flashback complete. 彻底删除表:purge选项 scott@DJJXIS>drop table T purge; Table dropped. scott@DJJXIS>select * from tab; TNAME TABTYPE CLUSTERID ------------------------------ ------- ---------- BIN$R+Kc8tW4kBTgVQAAAAAAAQ==$0 TABLE BONUS TABLE DEPT TABLE SALGRADE TABLE 闪回查询 这个可能用EM来做更加方便

视听心理学

1韦伯提出心理学史上第一个心理数量法则:韦伯定律。即感觉的差别阈限随原来刺激量的变化而变化,而且表现为一定的规律性,用公式来表示,就是△Φ/Φ=C,其中Φ为原刺激量,△Φ为此时的差别阈限,C为常数,又称为韦柏率。 2“差别阈限”:指刚刚可觉察到的刺激量变化的最小差异量。 3费希纳第一次对感觉能力进行了科学的划分。将人的感受性分为差别感受性和绝对感受性。 绝对感受性:是反映人对引起感觉的最小刺激量的感觉能力 差别感受性:是反映人对刺激物最小变化的差异量的感觉能力 4“最小可觉差”:指人能够觉察到两个同类刺激物之间差别的最小差异量 5“阈下知觉”: 是一种不能够被人们的感觉所觉察却能够被我们的身体所接受,从而引起生理效应的知觉。{一般说来,人的生理刺激阈限会低于有意识的感觉阈限。所以,当一种低于人感觉阈限的刺激对人进行刺激时,人们会在不知不觉中将这种刺激引入自己的潜意识,,一旦有机会和意识结合,就会显现出来。所以,不可忽视对观众进行“阈下刺激”} 6“感觉阈限”:指能引起感觉持续一定时间的刺激量。 刚刚能引起感觉的最小刺激量,是“绝对阈限” 被感受器官觉察到的最大刺激,是“上阈限” 7威廉·冯特德国心理学家,哲学家第一个心理学实验室的创立者,“实验心理学之父”认为心理学的研究对象是意识经验。 应采用实验内省法,对心理复合体进行元素分析,找出意识的组成部分和它们是如何结合成复杂心理过程的。 8将注意划分为三种类型被动注意与主动注意有意注意与无意注意初级注意与次级注意 9詹姆斯“美国心理学之父”作为美国的第一个心理流派,机能主义研究的是有机体适应环境的心理或机能由此产生了意识流电影。 机能心理学探讨的是有机体适应环境的心理机能。 在詹姆斯看来,高等的心理过程的产生是在进化过程中有机体不断适应环境时形成的,并不是简单元素的集合。 10詹姆斯反对构造主义心理学,反对它用内省法把意识分拆为要素,而是要研究活生生的人。他指出,意识不是一个客观的物质实在,而是一个过程。 11人本主义心理学创始人是马斯洛是继行为主义和精神分析心理学之后西方心理学中的“第三势力” 12在这些等级层次中,层次越低的需要强度越强,层次越高的需要强度就越弱 13“高峰体验是自我实现的人在实现自我的创造性过程中所处的一种短暂的最佳状态”

《Oracle数据库应用技术项目化教程》—教学大纲

《Oracle数据库应用技术项目化教程》 教学大纲

《Oracle数据库应用技术项目化教程》教学大纲 一、课程教学目标 (一)知识目标 本课程是根据职业岗位能力和职业素养培养的要求而设立的课程。Oracle是以高级结构化查询语言(SQL)为基础的跨平台的大型关系数据库,是目前最流行的客户/服务器(Client/Server)体系结构的数据库开发平台之一,是大型数据库应用系统的首选后台数据库系统。Oracle数据库管理和应用系统开发已经成为高校计算机专业和许多非计算机专业的必修或选修课程。 本课程介绍了Oracle数据库基本概念、数据模型,关系规范化理论,关系数据库设计过程,Oracle数据库系统体系结构,表空间管理,数据表的操作与管理,SQL语句的使用,PL/SQL语句控制结构,游标、异常、事务的概念及作用,存储过程、存储函数、触发器的创建与使用,程序包的概念及使用,索引、视图、序列、同义词的使用,权限管理、数据的导入与导出,数据库的备份和恢复,使学生初步掌握大型数据库的基本原理,了解大型数据库的管理方法,使学生熟练掌握Oracle数据库系统下的SQL语言运用及PL/SQL程序设计。 (二)能力目标 通过本门课程的学习,学生应学会Oracle数据库的理论与实践相结合,增强对Oracle 数据库的认识,加深理解和掌握Oracle数据库相关原理和操作,提高学生分析现行系统和设计、开发实际系统的基本能力。具体能力如下: 1.了解安装Oracle的软硬件需求。 2.掌握数据库服务器的安装过程,客户端的安装过程,服务器和客户机连接的方法。 3.了解完全卸载Oracle的方法。 4.了解数据管理的发展阶段。 5.理解数据库、数据库管理系统、数据库应用系统、数据库系统的概念。 6.掌握关系数据库的规范化理论,掌握数据库的设计过程。 7.掌握Oracle中物理存储结构的组成和数据文件、日志文件和控制文件的用途。 8.掌握Oracle数据库的逻辑存储结构。 9.理解Oracle数据库实例的不同状态。 10.掌握创建和删除数据库的方法。 11.掌握创建、修改、删除和撤销表空间的方法。 12.理解Enterprise Manager的启动过程; 13.了解OEM的主要功能,掌握在OEM中对数据库进行管理的方法; 14.掌握表的创建、修改和删除方法。

Oracle Flashback 技术 总结

Oracle Flashback 技术总结 Flashback 技术是以Undo segment中的内容为基础的,因此受限于UNDO_RETENTON参数。要使用flashback 的特性,必须启用自动撤销管理表空间。 在Oracle 10g中,Flash back家族分为以下成员:Flashback Database,Flashback Drop,Flashback Query(分Flashback Query,Flashback V ersion Query,Flashback Transaction Query 三种) 和Flashback Table。 一.Flashback Database Flashback Database 功能非常类似与RMAN的不完全恢复,它可以把整个数据库回退到过去的某个时点的状态,这个功能依赖于Flashback log 日志。比RMAN更快速和高效。因此Flashback Database 可以看作是不完全恢复的替代技术。但它也有某些限制: 1. Flashback Database 不能解决Media Failure,这种错误RMAN恢复仍是唯一选择 2. 如果删除了数据文件或者利用Shrink技术缩小数据文件大小,这时不能用Flashback Database技术回退到改变之前的状态,这时候就必须先利用RMAN把删除之前或者缩小之前的文件备份restore 出来,然后利用Flashback Database 执行剩下的Flashback Datbase。 3. 如果控制文件是从备份中恢复出来的,或者是重建的控制文件,也不能使用Flashback Database。 4. 使用Flashback Database锁能恢复到的最早的SCN,取决与Flashback Log中记录的最早SCN。 Flashback Database 架构 Flashback Database 整个架构包括一个进程Recover Writer(RVWR)后台进程,Flashback Database Log日志和Flash Recovery Area。一旦数据库启用了Flashback Database,则RVWR 进程会启动,该进程会向Flash Recovery Area中写入Flashback Database Log,这些日志包括的是数据块的" 前镜像(before image)",这也是Flashback Database 技术不完全恢复块的原因。

[Oracle 10g] 闪回恢复区 (Flash Recovery Area)

[O RACLE 10G]闪回恢复区(F LASH R ECOVERY A REA) 何为闪回恢复区 Oracle 10g 有一项新功能称为:自动的基于磁盘的备份与恢复( Automatic Disk-Based Backup and Recovery )。实现该功能的基础为本文要讲述的闪回恢复区( Flash Recovery Area )。闪回恢复区是Oracle 10g 中的新事物。简单的说,闪回恢复区是一块用以存储恢复相关的文件的存储空间。允许用户集中存储所有恢复相关的文件。 闪回恢复区可以放在如下几种存储形式上: ?目录 ?一个文件系统 ?自动存储管理(ASM)磁盘组 在RAC 环境中,这个该位置必须为集群文件系统(cluster file system) 或是ASM 磁盘组亦或是通过NFS 控制的文件共享目录,还要注意的是,所有实例的位置和操作系统的磁盘限额(disk quota) 必须一致。 如下几种文件可以放到闪回恢复区中: ?控制文件 ?归档的日志文件(注:Oracle 手册上所说的在设定flash recovery area之后, LOG_ARCHIVE_DEST_10的值将自动设定为flash recovery area的位置,这个变化在笔者测试过程中观察不到) ?闪回日志 ?控制文件和SPFILE 自动备份 ?RMAN 备份集 ?数据文件拷贝 为何要用闪回恢复区? 如前所述,闪回恢复区提供了一个集中化的存储区域,很大程度上减小了管理开销。这是其最主要的优点。与RMAN 结合使用可以进行快速恢复。 近年来随着存储技术的发展,单个磁盘的存储能力已经加强。这使自动的基于磁盘的备份与恢复的技术实现成为可能。而闪回恢复区恰是基于磁盘的备份与恢复的基础。把闪回恢复区和OMF 与ASM 结合运用看起来是比较完美的方案。当然,不可否认的是,自动备份恢复技术还远远不够成熟。 设定闪回恢复区 如果您使用DBCA创建的数据库,在安装时可以设定闪回恢复区的位置以及大小(点击这里查看安装截图)--这也是Oracle 10g OUI 的新功能之一。如果在开始的时候没有启用闪回恢复区,可以通过如下方式设定。 调整如下两个动态初始化参数(无需重新启动实例): SQL> ALTER SYSTEM SET db_recovery_file_dest_size=2g SCOPE=BOTH;

相关文档