如何执行Oracle数据库闪回查询

如何执行Oracle数据库闪回查询,第1张

可按以下步骤配置闪回数据库:(确保数据库处于ARCHIVELOG 模式。)

1. 配置快速恢复区。

2. 使用初始化参数DB_FLASHBACK_RETENTION_TARGET 设置保留目标。可指定

一个上限(以分钟为单位),指示数据库能够闪回到多长时间以前。本示例使用

了 2880 分钟,相当于两天。此参数只是一个目标,并不提供任何保证。闪回时间

间隔取决于快速恢复区中保留的闪回数据量的大小。

3. 使用以下命令启用闪回数据库:

ALTER DATABASE FLASHBACK ON

必须先配置数据库以进行归档,且必须在 MOUNT EXCLUSIVE 模式下启动数据库

后,才能发出此命令来启用闪回数据库。

可以使用以下查询来确定是否已启用闪回数据库:

SELECT flashback_on FROM v$database

可以使用ALTER DATABASE FLASHBACK OFF 命令禁用闪回数据库。这样,会自动删

除所有现有的闪回数据库日志。

注:仅当在独占模式下装载(而不是打开)数据库时才能启用闪回数据库。

1.确认当前模式

SYS AS SYSDBA on 29-MAR-05 >select flashback_on from v$database

FLA

---

NO

2.检查/修改恢复区设置

SYS AS SYSDBA on 29-MAR-05 >show parameter db_recovery_file_dest

NAME TYPEVALUE

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

db_recovery_file_deststring /u01/app/oracle/flash_recovery_areadb_recovery_file_dest_size big integer 10G

SYS AS SYSDBA on 29-MAR-05 >alter system set db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'

SYS AS SYSDBA on 29-MAR-05 >alter system set db_recovery_file_dest_size=15G

3.检查/修改闪回时间设置

SYS AS SYSDBA on 29-MAR-05 >show parameter db_flashback_retention_target

NAME TYPEVALUE

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

db_flashback_retention_targetinteger 60

SYS AS SYSDBA on 29-MAR-05 >alter system set db_flashback_retention_target=1440--分钟

System altered.

如何设置flash recovery area

(1).db_recovery_file_dest:指定闪回恢复区的位置

(2).db_recovery_file_dest_size:指定闪回恢复区的可用空间大小

(3).db_flashback_retention_target:指定数据库可以回退的时间,单位为分钟,默认1440分钟,也就是一天。当然,实际上可回退的时间还决定于闪回恢复区的大小,因为里面保存了回退所需要的 flash log。所以这个参数要和db_recovery_file_dest_size配合修改。

alter system set db_flashback_retention_target=1440

alter system set db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'

alter system set db_recovery_size=15G

4.重新启动数据库到Mount状态

启动flashback database选项。

SYS AS SYSDBA on 29-MAR-05 >shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SYS AS SYSDBA on 29-MAR-05 >startup mount exclusive

ORACLE instance started.

Total System Global Area 314572800 bytes

Fixed Size 1301704 bytes

Variable Size 261890872 bytes

Database Buffers 50331648 bytes

Redo Buffers1048576 bytes

Database mounted.

SYS AS SYSDBA on 29-MAR-05 >alter database flashback on

Database altered.

SYS AS SYSDBA on 29-MAR-05 >alter database open

Database altered.

已提交的事务就是已经成功执行,并也入到对应的数据表中。

数据库在执行事务的过程是不会在实际的数据表中 *** 作数据的。

只有当你事务执行成功,才会提交事务。

否则,事务就会回滚,此时事务对数据表无任何作用。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9631875.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存