OS:

[root@yoon ~]# more /etc/oracle-release
Oracle Linux Server release 5.7

DB:

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 -64bit 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>flashback table a to scn :scn;

ORA-08189 :cannot flashback the table because row movement is not enabled

(无法闪回表,因为不支持使用FLASHBACK命令完成移动)

如果你使用的oracle databae 10g以上的版本,就有一个"闪回"命令,它使用了这种底层多版本技术,可以把对象返回到以前某个时间点的状态。在这个例子中,可以将a表放回到删除信息前的那个时间点:

查看表是否开启row movement,在user_tables or all_tables or dba_tables查询:

For example:

SQL> select table_name,ROW_MOVEMENT from user_tables;

TABLE_NAME ROW_MOVEMENT
---------- ------------------------
A DISABLED
PLAN_TABLE DISABLED
SALGRADE DISABLED
BONUS DISABLED
EMP DISABLED
DEPT DISABLED

SQL> alter table a enable row movement; 启用row movement

SQL> select table_name,ROW_MOVEMENT from user_tables;

TABLE_NAME ROW_MOVEMENT
---------- ------------------------
A ENABLED
PLAN_TABLE DISABLED
SALGRADE DISABLED
BONUS DISABLED
EMP DISABLED
DEPT DISABLED

SQL>flashback table a to scn :scn; --这回就OK

SQL> alter table a disable row movement; --关闭row movement

alter table a enable row movement;

这个命令的作用:

允许oracle修改分配给行的rowid,在oracle中,插入一行时就会为它分配一个rowid,而且这行永远都有一个rowid,闪回表处理会对a表完成delete,并且重新插入,这样就会为这些重新分配新的rowid,要支持闪回就必须允许oracle执行这个操作.

ORA-08189的更多相关文章

  1. [Oracle]Oracle数据库数据被修改或者删除恢复数据

    1.SELECT * FROM CT_FIN_RiskItem--先查询表,确定数据的确不对(cfstatus第一行缺少)2.select * from CT_FIN_RiskItem as of t ...

  2. ORA-12541:TNS:no listener 客户端tnsnames.ora配置,以及服务端listener.ora配置

    需求:客户端(192.168.25.1)需要访问服务端(192.168.7.215)的Oracle库ORCL. 步骤一:配置客户端tnsnames.ora 步骤二:配置服务端listener.ora ...

  3. Oracle的tnsnames.ora配置(PLSQL Developer)

    首先打开tnsnames.ora的存放目录,一般为D:\app\Administrator\product\11.2.0\client_1\network\admin,就看安装具体位置了. 步骤阅读 ...

  4. Oracle RAC客户端tnsnames.ora相关配置及测试

    1.Oracle RAC服务端/etc/hosts部分内容如下 2.查看服务端的local_listener和remote_listener参数 3.客户端tnsnames.ora配置参考 3.1 1 ...

  5. oracle的sqlnet.ora,tnsnames.ora,listener.ora三个配置文件

    总结: 1 .三个配置文件都是放在$ORACLE_HOME\network\admin目录下. 2 .sqlnet.ora确定解析方式 3 .listener.ora上设SID_NAME,通常用于JD ...

  6. oracle客户端安装配置 tnsnames.ora文件

    Oracle客户端tnsnames.ora连接配置 Oracle90的在C:\Oracle\ora90\network\ADMIN下面 Oracel10g的在D:\oracle\product\10. ...

  7. 修改tnsnames.ora文件中配置内容中的连接别名后,连接超时解决办法

    1.tnsnames.ora文件中配置内容中的连接别名:由upaydb修改为IP地址 2.连接超时 定位原因: PLSQL登录界面的数据库列表就是读的tnsname.ora中连接的别名,这个文件中连接 ...

  8. 安装了多个Oracle11g的客户端,哪个客户端的tnsnames.ora会起作用?

    如果我们由于需要安装了多个Oracle的client,哪个客户端的tnsnames.ora会起作用呢? 答案是: 在安装好clinent端后,安装程序会把client的bin目录放到path里面,pa ...

  9. PLSQL登录数据库 报ORA -12154的诡异问题

    https://q.cnblogs.com/q/89420/ 现象: 1.机器上先后安装了oracle两个版本的client.在装第一个client后,plsql可以顺利连接数据库a并登录. 2.安装 ...

  10. tnsnames.ora配置注意(连接新的数据库)

    文件地址D:\app\think\product\11.2.0\instantclient_11_2\network\admin\tnsnames.ora# tnsnames.ora Network ...

随机推荐

  1. SQL 表值函数

    表值函数返回的是一张表. 情况:把传入的字符串按指定分隔符转换成数组 理解:把字符串打散,逐个插入表,这个表就是需要的数据 Create Function [dbo].[Split] ( ), ) ) ...

  2. powerdesigner中怎么给一主键设为自增型auto increme

    在使用powerdesigner 设计数据库表时,通常要对主键进行设置,如果主键是int 类型,一般会设置成自增,那么怎么在 powerdesigner 中设置呢,以下是具体的方法: 在所要设为自增型 ...

  3. math对象和date对象

    math对象的函数方法,记住Math首字母要大写 console.log(Math.abs(-5)); //取绝对值 console.log(Math.ceil(1.1)); //向上取舍 conso ...

  4. Digest [IAB_SRI_Online_Advertising_Effectiveness]

    http://www.pwc.com/en_GX/gx/entertainment-media/pdf/IAB_SRI_Online_Advertising_Effectiveness_v3.pdf

  5. 乱码!Eclipse 的控制台console必须用GBK编码。

    Eclipse 的控制台必须用GBK编码.所以条件1和条件4必须同时满足,否则运行的还是乱码. 条件1,Window  |  Preferences  |  Workspace  |  Text fi ...

  6. WF4与MVC结合示例

    很多初学者,首先最想解决的问题是:如何将WF与MVC程序相结合.由于Web程序属于长时间运行的流程,因此持续化功能的运用就非常重要了. 本文将结合书签.WorkflowApplication.生命周期 ...

  7. php实现树状结构无级分类

    php实现树状结构无级分类   ).",'树2-1-1-2')";mysql_query($sql);?>

  8. MVC 项目 在前台使用DataTable

    1:后台控制器代码 //CreateTestOutputDataHeader生成一个测试DataTable public ActionResult UseDataTable() { DataTable ...

  9. 嵌入式linux移植LAMP服务器

    一.工具准备工作  要想在ARM平台上移植一套Apache+Msql+PHP的Web型服务器. 所用物理机系统: Ubuntu 14.04 LTS(64位) 交叉编译环境:   arm-linux-g ...

  10. 2. XAML

    1. 什么是 XAML XAML 可以说是 XML 的一个特殊子集,使用相同的语法,只是 XML 可以自定义任何的节点和属性,但 XAML 是有所限制的,只能在规定的命名空间下使用. 2. names ...