当前位置:   article > 正文

【赵强老师-博文】Oracle的Drop Table语句和Oracle的回收站_oracle的drop table (select * from )

oracle的drop table (select * from )

一、Oracle的Drop Table语句

首先,我们来看一下Oracle Drop Table的语法格式。

 

 

 解释一下里面的参数:

schema
  • Schema表示方案名称,这里可以理解为用户名,缺省为当前用户下的表。比如,要删除scott用户下的emp表,drop table scott.emp
purge
  • purge可选项,如果开启了回收站(oracle 10g以后,回收站默认是开启的)功能,不带purge选项,表示删除的表放进回收站,空间不回收 。使用flashbask可以闪回该表。带purge选项,则表示将表删除,释放空间。
cascade constraints
  • 可选项,如果有其它表关联到要删除的表的主键列或唯一键列(要删除的表是主表(父表),从表(子表)有外键关联到这张表),那么,直接用drop table会报错,这时候如果想要强制删除这张表,就需要加上cascade constraints选项。

二、闪回删除:Flashback Drop

使用闪回删除功能,可以撤消 DROP TABLE 语句产生的影响,而不需要求助于传统时间点恢复。这是由回收站实现的,通过 DBA_RECYCLEBIN 视图可查询回收站。

  • 查看当前数据库的回收站功能是否开启
  1. conn / as sysdba
  2. select value from v$parameter where name='recyclebin';

   

  •  执行drop table语句
  1. 使用scott用户登录
  2. SQL> conn scott/tiger
  3. Connected.
  4. 查看当前用户下的表
  5. SQL> select * from tab;
  6. TNAME TABTYPE CLUSTERID
  7. -------------------- ------- ----------
  8. BONUS TABLE
  9. DEPT TABLE
  10. EMP TABLE
  11. EMP1 TABLE
  12. SALGRADE TABLE
  13. 删除一张表
  14. SQL> drop table emp1;
  15. Table dropped.
  16. 查看当前用户下的表
  17. SQL> select * from tab;
  18. TNAME TABTYPE CLUSTERID
  19. -------------------- ------- ----------
  20. BIN$opkhRg3T0MPgVaUg TABLE
  21. q/kbkw==$0
  22. BONUS TABLE
  23. DEPT TABLE
  24. EMP TABLE
  25. SALGRADE TABLE

   

  • 通过回收站中的对象名称查询表的数据 
  1. 下面的方式是错误的:
  2. select * from BIN$opkhRg3T0MPgVaUgq/kbkw==$0;
  3. 需要加上双引号:
  4. select * from "BIN$opkhRg3T0MPgVaUgq/kbkw==$0";

   

  • 查看回收站 
show recyclebin;

   

  • flashback table的语法格式

 在执行闪回表操作期间,数据库获取闪回列表中所有指定的报表独立DML锁。当正在恢复到之前状态时,这些锁阻止对表的任何操作。闪回表操作在单个事物中执行,不管闪回表中指定表的数量。要么所有的表都恢复到早期状态,要么都没恢复。如果任何表的闪回表操作失败,那么整个语句都失败。闪回操作完成时,表中的数据与表之前的时间点一直。但是,FLASHBACK TABLE到SCN或时间戳不保存rowid,FLASHBACK TABLE TO BEFORE DROP不能恢复引用约束。数据库不能恢复与表关联的早期结构的统计信息。表当前的索引是恢复,并反映还原点表的状态。如果该索引在还原点不存在,数据更新索引里来反映还原点表的状态。然而,如果索引是在当前时间和还原点之间被删除,是不能恢复。

  • 执行闪回删除
  1. flashback table emp1 to before drop;
  2. 也可以通过回收站中的名字执行闪回:
  3. flashback table “BIN$opkhRg3T0MPgVaUgq/kbkw==$0to before drop;

   

  •  清空回收站
purge recyclebin;

  

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/738234
推荐阅读
相关标签
  

闽ICP备14008679号