oracle中不能修改数据,ORA-01466: 无法读取数据 - 表定义已更改

SQL> select * from emp_dump;

EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM     DEPTNO

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

7369 SMITH      CLERK           7902 17-12月-80            800                    20

7499 ALLEN      SALESMAN        7698 20-2月 -81           1600        300         30

7521 WARD       SALESMAN        7698 22-2月 -81           1250        500         30

7566 JONES      MANAGER         7839 02-4月 -81           2975                    20

7654 MARTIN     SALESMAN        7698 28-9月 -81           1250       1400         30

7698 BLAKE      MANAGER         7839 01-5月 -81           2850                    30

7782 CLARK      MANAGER         7839 09-6月 -81           2450                    10

7788 SCOTT      ANALYST         7566 19-4月 -87           3000                    20

7839 KING       PRESIDENT            17-11月-81           5000                    10

7844 TURNER     SALESMAN        7698 08-9月 -81           1500          0         30

7876 ADAMS      CLERK           7788 23-5月 -87           1100                    20

EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM     DEPTNO

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

7900 JAMES      CLERK           7698 03-12月-81            950                    30

7902 FORD       ANALYST         7566 03-12月-81           3000                    20

7934 MILLER     CLERK           7782 23-1月 -82           1300                    10

已选择14行。

SQL> update emp_dump set sal=9999;

已更新14行。

SQL> select * from emp_dump;

EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM     DEPTNO

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

7369 SMITH      CLERK           7902 17-12月-80           9999                    20

7499 ALLEN      SALESMAN        7698 20-2月 -81           9999        300         30

7521 WARD       SALESMAN        7698 22-2月 -81           9999        500         30

7566 JONES      MANAGER         7839 02-4月 -81           9999                    20

7654 MARTIN     SALESMAN        7698 28-9月 -81           9999       1400         30

7698 BLAKE      MANAGER         7839 01-5月 -81           9999                    30

7782 CLARK      MANAGER         7839 09-6月 -81           9999                    10

7788 SCOTT      ANALYST         7566 19-4月 -87           9999                    20

7839 KING       PRESIDENT            17-11月-81           9999                    10

7844 TURNER     SALESMAN        7698 08-9月 -81           9999          0         30

7876 ADAMS      CLERK           7788 23-5月 -87           9999                    20

EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM     DEPTNO

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

7900 JAMES      CLERK           7698 03-12月-81           9999                    30

7902 FORD       ANALYST         7566 03-12月-81           9999                    20

7934 MILLER     CLERK           7782 23-1月 -82           9999                    10

已选择14行。

SQL> commit;

提交完成。

SQL> select versions_xid,empno,ename,sal from emp_dump versions between scn minvalue and maxvalue;

VERSIONS_XID          EMPNO ENAME             SAL

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

05002D008D010000       7934 MILLER           9999

05002D008D010000       7902 FORD             9999

05002D008D010000       7900 JAMES            9999

05002D008D010000       7876 ADAMS            9999

05002D008D010000       7844 TURNER           9999

05002D008D010000       7839 KING             9999

05002D008D010000       7788 SCOTT            9999

05002D008D010000       7521 WARD             9999

05002D008D010000       7566 JONES            9999

05002D008D010000       7654 MARTIN           9999

05002D008D010000       7698 BLAKE            9999

VERSIONS_XID          EMPNO ENAME             SAL

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

05002D008D010000       7782 CLARK            9999

05002D008D010000       7499 ALLEN            9999

05002D008D010000       7369 SMITH            9999

7369 SMITH             800

7499 ALLEN            1600

7521 WARD             1250

7566 JONES            2975

7654 MARTIN           1250

7698 BLAKE            2850

7782 CLARK            2450

7788 SCOTT            3000

VERSIONS_XID          EMPNO ENAME             SAL

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

7839 KING             5000

7844 TURNER           1500

7876 ADAMS            1100

7900 JAMES             950

7902 FORD             3000

7934 MILLER           1300

已选择28行。

SQL> conn system/tiger;

已连接。

SQL> col operation for a10

SQL> col undo_sql for a80

SQL> select operation,undo_sql,start_scn from flashback_transaction_query where xid=hextoraw('05002D008D010000');

OPERATION  UNDO_SQL                                                                          START_SCN

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

UPDATE     update "SCOTT"."EMP_DUMP" set "SAL" = '1300' where ROWID = 'AAAM6WAAEAAAAAkAAN';     730800

UPDATE     update "SCOTT"."EMP_DUMP" set "SAL" = '3000' where ROWID = 'AAAM6WAAEAAAAAkAAM';     730800

UPDATE     update "SCOTT"."EMP_DUMP" set "SAL" = '950' where ROWID = 'AAAM6WAAEAAAAAkAAL';      730800

UPDATE     update "SCOTT"."EMP_DUMP" set "SAL" = '1100' where ROWID = 'AAAM6WAAEAAAAAkAAK';     730800

UPDATE     update "SCOTT"."EMP_DUMP" set "SAL" = '1500' where ROWID = 'AAAM6WAAEAAAAAkAAJ';     730800

UPDATE     update "SCOTT"."EMP_DUMP" set "SAL" = '5000' where ROWID = 'AAAM6WAAEAAAAAkAAI';     730800

UPDATE     update "SCOTT"."EMP_DUMP" set "SAL" = '3000' where ROWID = 'AAAM6WAAEAAAAAkAAH';     730800

UPDATE     update "SCOTT"."EMP_DUMP" set "SAL" = '1250' where ROWID = 'AAAM6WAAEAAAAAkAAC';     730800

UPDATE     update "SCOTT"."EMP_DUMP" set "SAL" = '2975' where ROWID = 'AAAM6WAAEAAAAAkAAD';     730800

UPDATE     update "SCOTT"."EMP_DUMP" set "SAL" = '1250' where ROWID = 'AAAM6WAAEAAAAAkAAE';     730800

UPDATE     update "SCOTT"."EMP_DUMP" set "SAL" = '2850' where ROWID = 'AAAM6WAAEAAAAAkAAF';     730800

OPERATION  UNDO_SQL                                                                          START_SCN

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

UPDATE     update "SCOTT"."EMP_DUMP" set "SAL" = '2450' where ROWID = 'AAAM6WAAEAAAAAkAAG';     730800

UPDATE     update "SCOTT"."EMP_DUMP" set "SAL" = '1600' where ROWID = 'AAAM6WAAEAAAAAkAAB';     730800

UPDATE     update "SCOTT"."EMP_DUMP" set "SAL" = '800' where ROWID = 'AAAM6WAAEAAAAAkAAA';      730800

BEGIN                                                                                           730800

已选择15行。

SQL> flashback table scott.emp_dump to scn 730800;

flashback table scott.emp_dump to scn 730800

*

第 1 行出现错误:

ORA-08189: 因为未启用行移动功能, 不能闪回表

SQL> alter table scott.emp_dump enable row movement;

表已更改。

SQL> flashback table scott.emp_dump to scn 730800;

flashback table scott.emp_dump to scn 730800

*

第 1 行出现错误:

ORA-01466: 无法读取数据 - 表定义已更改

请问这个是什么意思?要怎么做才行?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值