Oracle Recyclebin
2008-09-02 12:45:26 来源:WEB开发网这些语句将恢复被删除表的两个版本。
警告……
取消删除特性使表恢复其原始名称,但是索引和触发器等相关对象并没有恢复原始名称,它们仍然使用回收站的名称。在表上定义的源(如视图和过程)没有重新编译,仍然保持无效状态。必须手动得到这些原有名称并应用到闪回表。
信息保留在名为 USER_RECYCLEBIN 的视图中。在对表进行闪回操作前,请使用以下查询来检索原有名称。
selectOBJECT_NAME,ORIGINAL_NAME,TYPE
FROMUSER_RECYCLEBIN
whereBASE_OBJECT=(selectBASE_OBJECTFROMUSER_RECYCLEBIN
whereORIGINAL_NAME=’RECYCLETEST’)
ANDORIGINAL_NAME!=’RECYCLETEST’;
OBJECT_NAMEORIGINAL_NTYPE
------------------------------------------------
BIN$04LhcpnianfgMAAAAAANPw==$0IN_RT_01INDEX
BIN$04LhcpnganfgMAAAAAANPw==$0TR_RTTRIGGER
在表进行闪回操作后,表 RECYCLETEST 上的索引和触发器将按照 OBJECT_NAME 列中所示进行命名。根据以上查询,可以使用原始名称重新命名对象,如下所示:
以下是引用片段:
alterINDEX"BIN$04LhcpnianfgMAAAAAANPw==$0"renameTOIN_RT_01;
alterTRIGGER"BIN$04LhcpnganfgMAAAAAANPw==$0"renameTOTR_RT;
一个值得注意的例外情况是位图索引。当删除位图索引时,它们并不放置在回收站中—因此无法检索它们。约束名称也无法从视图中检索。必须从其他来源对它们进行重命名。
闪回表的其他用途
闪回删除表功能不仅限于恢复表的删除操作。与闪回查询类似,您还可以使用它将表恢复到不同的时间点,利用表的“过去”版本来替代整个表。例如,以下语句将表恢复到系统更改号 (SCN) 2202666520。
FLASHBACKTABLERECYCLETESTTOSCN2202666520;
此特性使用 Oracle 数据泵技术来创建不同的表,使用闪回功能将该 SCN 处的数据版本填充到表中,然后用新表替代原始表。为找出能够在何种程度上对表进行闪回操作,可以使用 Oracle Database 10g的版本控制特性。(更多详细信息请参见本系列第 1 周的内容。)在闪回子句中也可以指定时间戳记而不是指定 SCN。
Tags:Oracle Recyclebin
编辑录入:爽爽 [复制链接] [打 印]- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
- ››Oracle中在pl/sql developer修改表的两种方式
赞助商链接