加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ORA-55610: Invalid DDL statement on history-tracked table (f

发布时间:2020-12-15 17:52:40 所属栏目:百科 来源:网络整理
导读:ORA-55610: Invalid DDL statement on history-tracked table ? 今天是2013-10-28,刚刚我进行实验的时候发现不能删除一个表,随即模拟了一下过程: 如下: SQL drop table rhys.amy; drop table rhys.amy ??????????????? * ERROR at line 1: ORA-55610: In

ORA-55610: Invalid DDL statement on history-tracked table

?

今天是2013-10-28,刚刚我进行实验的时候发现不能删除一个表,随即模拟了一下过程:
如下:
SQL> drop table rhys.amy;
drop table rhys.amy
??????????????? *
ERROR at line 1:
ORA-55610: Invalid DDL statement on history-tracked table


SQL>
查看错误信息:
SQL> !oerr ora 55610
55610,00000,"Invalid DDL statement on history-tracked table"
// *Cause: An attempt was made to perform certain DDL statement that is
//???????? disallowed on tables that are enabled for Flashback Archive.
// *Action: No action required.
//

SQL>
提示说这个表存在flashback archive。查看dba_flashback_archive视图发现如下:
SQL> select owner_name,flashback_archive_name,create_time,status from dba_flashback_archive;

OWNER_NAME?????????? FLASHBACK_ARCHIVE_NAME?????????????????? CREATE_TIME???????????????????????????????????????????????????????????????? STATUS
-------------------- ---------------------------------------- --------------------------------------------------------------------------- -------
SYS????????????????? ARCHIVE_1??????????????????????????????? 28-JAN-13 11.31.46.000000000 PM
SYS????????????????? ARCHIVE_DEFAULT????????????????????????? 28-JAN-13 11.14.29.000000000 PM???????????????????????????????????????????? DEFAULT

SQL>
发现还真是之前搞的来着。
解决办法:
取消该表的flashback archive功能即可:

SQL> alter table rhys.amy no flashback archive;

Table altered.

SQL>
SQL> drop table rhys.amy;

Table dropped.

SQL>
做到这里在复习一下之前研究的这个功能的相关命令吧。如下所示:

1)创建表空间
SQL> create tablespace fdba datafile '/opt/app/oracle/oradata/fdba.dbf' size 200m autoextend off segment space management auto;

Tablespace created.

SQL> create tablespace fdba_1 datafile '/opt/app/oracle/oradata/fdba1.dbf' size 20m autoextend off segment space management auto;

Tablespace created.
2)创建闪回归档

SQL> create flashback archive archive_1 tablespace fdba quota 100m retention 20 day;

Flashback archive created.
创建默认闪回归档,必须使用sys用户:
SQL> show user
USER is "RHYS"
SQL> GRANT FLASHBACK ARCHIVE ADMINISTER TO RHYS;

Grant succeeded.

SQL> CREATE FLASHBACK ARCHIVE DEFAULT ARCHIVE_DEFAULT TABLESPACE FDBA_1 RETENTION 1 YEAR;
CREATE FLASHBACK ARCHIVE DEFAULT ARCHIVE_DEFAULT TABLESPACE FDBA_1 RETENTION 1 YEAR
??????????????????????????????????????????????????????????? *
ERROR at line 1:
ORA-55611: No privilege to manage default Flashback Archive
SQL> create flashback archive default archive_default tablespace fdba_1 retention 1 year;

Flashback archive created.

SQL> show? suer
SP2-0158: unknown SHOW option "suer"
SQL> show user
USER is "SYS"
SQL>
3)为闪回归档添加表空间
SQL> alter flashback archive archive_1 add tablespace rhys quota 1M;

Flashback archive altered.

SQL>
4)在闪回归档中移除表空间
SQL> alter flashback archive archive_1 remove tablespace rhys;

Flashback archive altered.

SQL>
5)修改闪回归档占用表空间配合。
SQL> alter flashback archive archive_1 modify tablespace fdba quota 200M;

Flashback archive altered.

SQL>
6)修改闪回归档中保留期限
SQL> alter flashback archive archive_1 modify retention 20 day;

Flashback archive altered.

SQL>

7)使用闪回归档

SQL> create table t (
? 2? a number,
? 3? b varchar2(20)
? 4? )
? 5? flashback archive archive_1;

Table created.

SQL> alter table rhys.emp flashback archive archive_1;

Table altered.

SQL> 8)删除闪回归档数据: eg: 删除一段时间之前的数据 alter flashback archive archive_1 purge before timestamp to_timestamp('2013-10-28 23:27:00','YYYY-MM-DD HH24:MI:SS'); ALTER FLASHBACK ARCHIVE ARCHIVE_1 PURGE BERFOR SCN 100000000; 删除一天内的数据 ALTER FLASHBACK ARCHIVE ARCHIVE_1 PURGE BEFORE TIMESTAMP (SYSTIMESTAMP-INTERVAL '1' DAY); 删除所有的数据 alter flashback archive archive_1 purge all; 9)删除闪回归档 drop flashback archive archive_1; 10)取消表的flashback archive功能: alter table rhys.amy no flashback archive; 11)闪回归档常用视图; dba_flashback_archive dba_flashback_archive_tables;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读