22.5 闪回丢弃
闪回丢弃是将被丢弃的数据库对象及其相依对象的拷贝保存在回收站中,以便在必要时能够及时恢复这些对象。在回收站被清空以前,被丢弃的对象并没有从数据库中删除,这就使得数据库能够恢复被意外或误操作而删除的表。
为了更好地理解闪回丢弃,需要理解回收站的工作细节、丢弃对象在回收站中的存储、查询与清除等,下面几节将对其一一介绍。
22.5.1 回收站概念
回收站(Recycle Bin)是所有丢弃表及其相依对象的逻辑存储容器。当一个表被丢弃时(DROP),回收站会将该表及其相应对象存储在回收站中。存储在回收站中的表的相应对象包括索引、约束、触发器、嵌套表、大的二进制对象(LOB)段和LOB索引段。
Oracle回收站将用户所做的DROP语句的操作记录在一个系统表里,即将被删除的对象写到一个数据字典表中,当不再需要被删除的对象时,可以使用PURGE命令对回收站空间进行清除。
为了避免被删除表与同类对象名称的重复,被删除表(以及相依对象)放到回收站中后,Oracle系统对被删除的对象名做了转换。被删除对象(如表)的名字转换格式如下:
BIN$globalUID$version
globalUID是一个全局***的、24个字符长的标识对象,它是Oracle内部使用的标识,对用户来说没有任何实际意义,该标识与对象未删除前的名称没有关系。
$version 是Oracle数据库分配的版本号。
【责任编辑:云霞 TEL:(010)68476606】
点赞 0