当前位置:  数据库>oracle

Oracle 11g开启闪回功能Flashback

    来源: 互联网  发布时间:2017-06-17

    本文导语: 在Oracle的建库过程中,通常会提示是否开启闪回并指定闪回恢复区大小,我一般会选择不开启。这样,如果需要使用闪回功能,就需要手动开启。 1.环境准备 我们在Oracle11g上进行测试。 点击(此处)折叠或打开 SQL> select * from v$vers...

在Oracle的建库过程中,通常会提示是否开启闪回并指定闪回恢复区大小,我一般会选择不开启。这样,如果需要使用闪回功能,就需要手动开启。

1.环境准备
我们在Oracle11g上进行测试。

点击(此处)折叠或打开

SQL> select * from v$version;
 

BANNER

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

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production

PL/SQL Release 11.2.0.3.0 - Production

CORE 11.2.0.3.0 Production

TNS for Linux: Version 11.2.0.3.0 - Production

NLSRTL Version 11.2.0.3.0 - Production

SQL>

2.查询闪回功能是否开启
可以通过查询v$database视图的flashback_on字段来获取闪回功能的状态,该字段是一个布尔类型,YES表示开启,NO表示未开启。
点击(此处)折叠或打开

SQL>
 
SQL> select flashback_on from v$database;

FLASHBACK_ON

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

NO

SQL>

 3.开启归档功能 在开启闪回功能之前,我们必须首先开启数据库归档,否则数据库会报错。

点击(此处)折叠或打开

SQL>
 
SQL> archive log list;

Database log mode No Archive Mode

Automatic archival Disabled

Archive destination /u01/app/oracle/product/11.2.0/dbhome_1/dbs/arch

Oldest online log sequence 16

Current log sequence 20

SQL>

SQL> alter database flashback on;

alter database flashback on

*

ERROR at line 1:

ORA-38706: Cannot turn on FLASHBACK DATABASE logging.

ORA-38707: Media recovery is not enabled.

SQL>

ORA-38706和ORA-38707两个报错提醒我们要开启数据库归档,步骤如下;

点击(此处)折叠或打开

SQL>
 
SQL> alter database archive;

alter database archive

                    *

ERROR at line 1:

ORA-02231: missing or invalid option to ALTER DATABASE

SQL> alter database archivelog;

alter database archivelog

*

ERROR at line 1:

ORA-01126: database must be mounted in this instance and not open in any

instance

SQL> 
SQL>

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL>

SQL> startup mount

ORACLE instance started.

Total System Global Area 941600768 bytes

Fixed Size 1348860 bytes

Variable Size 536873732 bytes

Database Buffers 398458880 bytes

Redo Buffers 4919296 bytes

Database mounted.

SQL>

SQL> alter database archivelog;

Database altered.

SQL>

SQL> alter database open;

Database altered.

SQL>

SQL> archive log list;

Database log mode Archive Mode

Automatic archival Enabled

Archive destination /u01/app/oracle/product/11.2.0/dbhome_1/dbs/arch

Oldest online log sequence 16

Next log sequence to archive 20

Current log sequence 20

SQL>

SQL>

4.开启闪回功能

4.1设置参数
闪回功能和两个初始化参数有关,我们先认识一下,其中,db_recovery_file_dest_size表示闪回恢复区大小,db_recovery_file_dest表示闪回恢复区路径。

点击(此处)折叠或打开

SQL>
 
SQL> show parameter db_recovery

NAME TYPE VALUE

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

db_recovery_file_dest string

db_recovery_file_dest_size big integer 0

SQL>
在开启闪回功能前,必须设置这两个参数,而且,二者还有先后顺序,如果顺序搞错了系统也会报错并给出提示信息。

点击(此处)折叠或打开

SQL>
 
SQL> alter system set db_recovery_file_dest='/home/oracle/flashback';

alter system set db_recovery_file_dest='/home/oracle/flashback'

*

ERROR at line 1:

ORA-02097: parameter cannot be modified because specified value is invalid

ORA-19802: cannot use DB_RECOVERY_FILE_DEST without DB_RECOVERY_FILE_DEST_SIZE

SQL>

SQL> alter system set db_recovery_file_dest_size=2g;

System altered.

SQL>

SQL> alter system set db_recovery_file_dest='/home/oracle/flashback';

System altered.

SQL>

SQL> show parameter db_recovery

NAME TYPE VALUE

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

db_recovery_file_dest string /home/oracle/flashback

db_recovery_file_dest_size big integer 2G

SQL>

4.2开启闪回功能
需要注意的一点是,在10G中,如果要开启数据库级别的闪回,需要设置相关的参数,并且使数据库处于归档模式,然后再在MOUNT状态下开启闪回。在11G中,如果设置了相关的参数及其开启了归档,那么可以再OPEN状态下打开闪回。这也算是Oracle 11g的一个新特性。

点击(此处)折叠或打开

SQL>
 
SQL> select status from v$instance;

STATUS

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

OPEN

SQL>

SQL> alter database flashback on;

Database altered.

SQL>

SQL> select flashback_on from v$database;

FLASHBACK_ON

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

YES

SQL>
这样,我们就开启了数据库闪回功能,进而可以实现闪回数据库等功能。

5.关闭闪回功能
关闭闪回功能十分简单,一条语句就能搞定。

点击(此处)折叠或打开

SQL>
 
SQL> alter database flashback off;

Database altered.

SQL> select flashback_on from v$database;

FLASHBACK_ON

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

NO

SQL>

6.总结
从上面的过程来看,需要注意几点:

1.Oracle11g支持在Open状态下开启闪回功能,这一点和Oracle 10g等较早版本不一样,算是一个新特性;
2.开启数据库闪回的前提条件是,开启数据库归档;
3.设置两个初始化参数:闪回恢复区大小db_recovery_file_dest_size和闪回恢复区路径db_recovery_file_dest,而这两个参数是有先后顺序的,必须先设置db_recovery_file_dest_size后设置db_recovery_file_dest,否则系统会报错并给出提示;


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问在红旗Linux多功能服务器版上(不是数据库服务器版)能否正常安装使用Oracle?红旗Linux数据库服务器版要比红旗Linux多功能服务器版贵
  • MySQL实现类似Oracle中的decode()函数的功能
  • Oracle SQL中实现indexOf和lastIndexOf功能的思路及代码
  • oracle的plsql里有没有位操作的功能
  • 怎么写一个Shell来执行这样的功能,访问Oracle数据库,然后执行一个SQL脚本,生成一个文件。急!
  • Oracle数据库中分区功能详解
  • Oracle11g备份和恢复功能的提高
  • 细化解析Oracle 10g STATSPACK的新功能
  • Oracle数据库后台进程的功能分析
  • Oracle 11G闪回数据归档新功能详述
  • Oracle备份功能比较
  • Oracle同义词管理功能给你带来的惊喜与注意问题
  • 利用导出/导入功能实现重新组织Oracle数据库表空间
  • Oracle 数据库闪回功能设置出现ORA-19809和ORA-19804错误
  • JAVA简单链接Oracle数据库 注册和登陆功能的实现代码
  • Oracle SecureFile的功能第1/4页
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3