在Oracle Database 12.1中,闪回数据库操作仅限于 CDB ,Oracle Database 12.2支持 CDB 与 PDB 数据库的闪回。

PDB 的还原点种类:
1. normal restore point:          create restore point pdb1_point1;
2. guaranteed restore point:      create restore point pdb1_point1 guarantee flashback database;
-- 在需要设定干净还原点的 PDB 容器下 shutdown immediate , 然后在创建干净还原点。
3.1 clean normal restore point:    create clean restore point cdb1_before_changes;
3.2 clean guaranteed restore point:create clean restore point cdb1_before_changes guarantee flashback database;
补充:PDB 中执行,如果是 CDB 中执行的话,在对应代码后面多添加 for pluggable database pdb_name 指定PDB名称

PDB 中支持的闪回数据库方式:
1.还原点
2.scn
3.timestamp

演示操作:
1、首先,我们开启数据库闪回功能:
[oracle@12c01 ~]$ mkdir -p /home/oracle/fast_recovery_area
SQL>alter system set db_recovery_file_dest_size=10G;
SQL>alter system set db_recovery_file_dest='/home/oracle/fast_recovery_area' scope=both;
SQL>shutdown immediate;
SQL>startup mount;
SQL>alter database archivelog;
SQL>alter database flashback on;
SQL>alter database open;
SQL>select flashback_on from v$database;
FLASHBACK_ON
------------------
YES
闪回日志保留的数量是受参数DB_FLASHBACK_RETENTION_TARGET控制的,该参数表示保留时间(分钟),默认为1天。
-- 查询闪回日志保留天数,如果有必要,就修改保留时间。
SQL>show parameter db_flashback_retention_target
NAME     TYPE VALUE
------------------------------------ ----------- -------------------
db_flashback_retention_target     integer1440
查看当前数据库实例状态:
show pdbs
    CON_ID CON_NAME  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED  READ ONLY  NO
3 PDB01  READ WRITE NO
SQL>alter session set container=pdb01;
模拟业务
SQL> select current_scn from v$database;

CURRENT_SCN
-----------
    1628859
SQL> create table c##andy.pdbfla (id int);

Table created.

SQL> insert into c##andy.pdbfla values(1);

1 row created.

SQL> commit;

Commit complete.
SQL>alter session set container=cdb$root;
SQL>create table c##andy.cdbfla (id int);
SQL>insert into c##andy.cdbfla values(1);
SQL>commit;
下面是local undo模式下 PDB 闪回数据库操作步骤:

SQL>alter pluggable database pdb01 close;

SQL> flashback pluggable database pdb01 to scn 1628859;
Flashback complete.
SQL>alter pluggable database pdb01 open resetlogs;
Pluggable database altered.
SQL> select * from c##andy.cdbfla;
ID
----------
1
SQL> alter session set container=pdb01;
SQL> select * from c##andy.pdbfla;
ORA-00942: table or view does not exist
说明:可以看不到 PDB 级别的数据库闪回不影响 CDB 的记录。
_______________________________________
补充:
如果使用的shared undo模式下 PDB 闪回数据库,语法有点不同,就是你需要制定辅助实例的位置。
SQL>flashback pluggable database pdb_name to scn the_scn auxiliary destination '/XXX/auxiliary';
SQL>flashback pluggable database pdb_name to restore point restore_point auxiliary destination '/XXX/auxiliary';

Oracle 12c 新特性之 PDB 级别闪回数据库的更多相关文章

  1. Oracle 12C 新特性之 PDB热克隆(本地克隆、远端异机克隆)

    说明:版本12.2.0.1 12c r1版本中 clone 一份PDB源库需要打开在read only只读模式 , 在12c r2版本中引入了local undo mode, 源PDB在read/wr ...

  2. Oracle 12c新特性

    转载自:Oracle 12c新特性(For DBA) 一: Multitenant Architecture (12.1.0.1)      多租户架构是Oracle 12c(12.1)的新增重磅特性 ...

  3. Oracle 12C 新特性之扩展数据类型(extended data type)

    Oracle 12C 新特性-扩展数据类型,在12c中,与早期版本相比,诸如VARCHAR2, NAVARCHAR2以及 RAW这些数据类型的大小会从4K以及2K字节扩展至32K字节.只要可能,扩展字 ...

  4. ORACLE 12C新特性——CDB与PDB

    Oracle 12C引入了CDB与PDB的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插拔数据库( ...

  5. Oracle 12C 新特性之 db默认字符集AL32UTF8、PDB支持不同字符集

    一. db默认字符集AL32UTF8Specify the database character set when you create the database. Starting from Ora ...

  6. Oracle 12c新特性(For DBA)

    一: Multitenant Architecture (12.1.0.1)      多租户架构是Oracle 12c(12.1)的新增重磅特性,内建的多分租(Multi-tenancy),一个容器 ...

  7. Oracle 12C 新特性之 恢复表

    RMAN的表级和表分区级恢复应用场景:1.You need to recover a very small number of tables to a particular point in time ...

  8. Oracle 12C 新特性 - “可插拔数据库”功能

    Oracle 12C加入了一个非常有新意的功能"可插拔数据库"特性,实现了数据库(PDB)在"容器"(CDB)上的拔功能,既能提高系统资源的利用率,也简化大面积 ...

  9. Oracle 12c新特性之——TABLE ACCESS BY INDEX ROWID BATCHED

    Oracle12c开始,我们在获取SQL语句的执行计划时,也会经常看到"TABLE ACCESS BY INDEX ROWID BATCHED"操作,那么,这个操作到底是什么意思呢 ...

随机推荐

  1. C#彻底解决Oledb连接Excel数据类型不统一的问题

    在使用Microsoft.Jet.OLEDB.4.0连接Excel,进行读取数据,相对使用传统的COM来读取数据,效率是很高的.但相对传统COM操作Excel来说,及存在数据类型转换的问题.因为使用O ...

  2. 九度OJ 1335:闯迷宫 (BFS)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1782 解决:483 题目描述: sun所在学校每年都要举行电脑节,今年电脑节有一个新的趣味比赛项目叫做闯迷宫. sun的室友在帮电脑节设计 ...

  3. spring bean标签常用属性

    一.id属性 其名称,可以是任意名称,但不能包含特殊符号. 根据id得到配置对象. 二.class属性 创建对象所在的类名称 三.name属性 功能和id属性一样,但name属性值可以包含特殊属性 四 ...

  4. 类加载(一):static块 和 Class.forName

    1. class Some { static{ System.out.println("1"); } public Some(){ System.out.println(" ...

  5. Write 语句

    ABAP Write 语句 转载▼http://blog.sina.com.cn/s/blog_5ccd375b0100ghhi.html   1.Write 叙述 ABAP/4 用来在屏幕上输出数据 ...

  6. zipfile.BadZipFile: File is not a zip file

    zipfile.BadZipFile: File is not a zip file 出现这个问题一般是文件损坏的可能性比较大

  7. php基本语法与函数

    1.标记与注释 <?php 代码 ?> 用/*  */注释一段代码,  用 // 注释一行代码   /**    */文档注释 注意:若php下面只有php代码没有别的代码,那么最好不要加 ...

  8. c的详细学习(3)数据的输入输出

    c语言没有专门的数据输入输出语句,而是通过调用系统提供的的标准输入/输出库函数来实现数据的输入和输出.     (1)数据的输出: 注意:在使用标准的输入输出库函数时,使用编译预处理命令“#inclu ...

  9. python学习笔记20160413

    1. type(val) #查看val的类型. 2. 出现错误的时候, 读懂错误信息.3. raw_input('xxx') #读取用户输入都是string类型数据.4. ValueError: in ...

  10. 对unidbgrid的单元格操作

    一.使某行某列单元格disabled: 1. UniStringGrid -> Options -> goEditing = true 2. UniStringGrid -> Ext ...