Oracle Flashback Drop: Undo a DROP TABLE Operation

7.4 Oracle Flashback Drop: Undoa DROP TABLE Operation

Oracle Flashback Drop reverses theeffects of a DROP TABLE operation. It can be used to recover afterthe accidental drop of a table. Flashback Drop is substantially
faster thanother recovery mechanisms that can be used in this situation, such aspoint-in-time recovery, and does not lead to any loss of recent transactions ordowntime.

OracleFlashback Drop
技术可以撤销 DROP TABLE操作所造成的影响。
可以用来执行表的意外删除回复。在恢复表的误删除时,与基于其他恢复机制的技术相比,FLASHBACK DROP是相当快的,并且不会造成最近sh

When you drop a table, the databasedoes not immediately remove the space associated with the table. Instead, thetable is renamed and, along with any associated objects,
it is placed inthe Recycle Bin of the database. The Flashback Drop operationrecovers the table from the recycle bin.

当我们删除一张表时,数据库不会立即清除分配给该表的空间。而是将表和与其关联的对象重命名病存放到数据库的回收站中。flashback drop技术利用回收站讲删除的表对象进行回收恢复。

To understand how to use OracleFlashback Drop, you must also understand how the recycle bin works, and how toaccess and manage its contents.

在使用flashback drop之前,我们必须首先明白回收站是如何工作的,通过何种方式来访问和管理回收站中的内容。

This section covers the followingtopics:

本部分包括如下内容:

  • What is the Recycle Bin?
  • How Tables and Other Objects Are Placed in the Recycle Bin
  • Naming Convention for Objects in the Recycle Bin
  • Viewing and Querying Objects in the Recycle Bin
  • Recycle Bin Capacity and Space Pressure
  • Purging Objects from the Recycle Bin

7.4.1 What is the Recycle Bin?

The recycle bin is a logical container for all dropped tablesand their dependent objects. When a table is dropped, the database will storethe table, along with its dependent objects
in the recycle bin so that they canbe recovered later. Dependent objects which are stored in the recycle bininclude indexes, constraints, triggers, nested tables, LOB segments and LOBindex segments.

回收站是一个本地容器,用来存放被删除的表和依赖与该表的对象。当一个表被删除,数据库会保留该表及依赖与该表的对象在回收站中,从而使我们可以在以后的时间点可以恢复该表,存放在回收站中的依赖对象包括:索引、约束、触发器、嵌套表、lob段和lob索引段。

7.4.2 How Tables and Other Objects Are Placed inthe Recycle Bin

Tables are placed in the recycle bin along with their dependentobjects whenever a DROP TABLE statement is executed. Forexample, this statement places the EMPLOYEE_DEMO table, along
withany indexes, constraints, or other dependent objects listed previously, in therecycle bin:

当我们执行一个droptable语句时,该表和相应的依赖对象被存放到回收站。例如,下面的语句会将EMPLOYEE_DEMO表和依赖与该表的索引、约束及其他依赖对象放到回收站中。

SQL> DROP TABLE EMPLOYEE_DEMO;

Table Dropped

The table and its dependent objects will remain in therecycle bin until they are purged from the recycle bin.You can explicitly purge a table or other object from the recycle bin with theSQL*Plus PURGE statement, as described
in "PurgingObjects from the Recycle Bin". If you aresure that you will not want to
recover a table later, you can drop itimmediately and permanently, instead of placing it in the recycle bin, by usingthe PURGE option of the DROP TABLE statement, as shown inthis example:

回收站中的表以及依赖与该表的对象会一直保存到他们被从回收站清除。我们可以显示地直接使用purge语句清空回收站中的内容。如果我们确定被删除的表不需要恢复,那么我们可以drop
table的purge选项直接永久性的删除该表而不是将该表放入回收站。如下所示:

DROP TABLE employee_demo PURGE;

Even if you do not purge objects from the recycle bin, thedatabase purges objects from the recycle bin to meet tablespace spaceconstraints. See "RecycleBin
Capacity and Space Pressure" formore details.

即便我们没有将回收站中的对象清空出去,数据库也会将这些对象清空以便释放表空间压力。

Recycle bin objects are not counted as used space. If you querythe space views to obtain the amount of free space in the database, objects inthe recycle bin are counted as free
space.

回收站战友的空间不会被标记为”已使用“。如果我们查询有关数据库空闲空间的视图,那么回收站中的对象所占用的空间是被标记为空闲空间的。

Dropped objects still appear in theviews USER_TABLES, ALL_TABLES, DBA_TABLES, USER_INDEX, ALL_INDEX and DBA_INDEX.A new column, DROPPED, is set to YES for these objects. You canuse
the DROPPED column in queries against these views to view onlyobjects that are not dropped.

被删除到回收站的表依然可以在 USER_TABLES, ALL_TABLES, DBA_TABLES, USER_INDEX, ALL_INDEX and DBA_INDEX等视图中查询到,只是其dropped列被标记为YES

To view only objects in the recycle bin, usethe USER_RECYCLEBIN and DBA_RECYCLEBIN views, describedlater in this chapter.

如果我们需要查看回收站中包含的对象,可以使用USER_RECYCLEBIN和DBA_RECYCLEBIN视图。下面的章节将会详细描述。

7.4.3 Naming Convention for Objects in theRecycle Bin

When a table and its dependent objects are moved tothe recycle bin, they are assigned unique names, to avoid name conflictsthat may arise in the following circumstances:

当数据表和依赖与该表的对象被移动到回收站后,他们会把分配唯一的名称,以避免在如下情况下,发生名称冲突

  • A user drops a table, creates another with the same name, then drops the second table.

用户删除了一个表,创建了另一张同名的表,然后又将第二张表删除

  • Two users have tables with the same name, and both users drop their tables.

两个用户创建了相同名称的表,并且两个用户都删除了表

The assigned names are globally unique and are used to identifythe objects while they are in the recycle bin. Object names are formed asfollows:

被分配的表的名称是全局唯一的,以便唯一标识这些在回收站的对象。对象名称是按照如下格式进行命名的

BIN$$globalUID$version

where:

  • globalUID is a globally unique, 24 character long identifier generated for the object.

globalUID是全局唯一的,为每个对象生成一个24字符长度的标识符

  • version is a version number assigned by the database

version是数据库生成的一个版本数字

The recycle bin name of an object is always 30 characters long.

整个回收站对象的名称长度始终为30个字符

Note that the globalUID usedin the recycle bin name is not readily correlated with any externally visiblepiece of information about the object
or the database.

globalUID与数据库或者数据对象的信息是不存在可读性关联的

7.4.4 Enabling and Disabling the Recycle Bin

The recycle bin is enabled by default. The initializationparameter RECYCLEBIN can be used to explicitly enable or disable therecycle bin.

默认情况下,回收站功能是被开启的。初始化参数RECYCLEBIN可以被用来显示的开启或者关闭回收站。

To enable the recycle bin , set the valueof RECYCLEBIN to ON.To disable the recycle bin, set the valueof RECYCLEBIN to OFF.

If you use a parameter file (PFILE) with your database, you canspecify the value of RECYCLEBIN in the parameter file, as in thisexample:

要开启回收站,设置RECECLEBIN为ON,要关闭回收站,设置RECYCLEBIN为off。如果使用pfile参数文件,那么可以在参数文件中按照如下方式设置RECYCLEBIN参数

# turn off recycle bin

RECYCLEBIN=OFF

This value applies to all database sessions.

在参数文件中设置该参数是应用到所有数据库会话的。

To specify recycle bin behavior for your own database session, youcan use an ALTER SESSION statement in SQL*Plus to change thevalue of the RECYCLEBIN parameter for your sessions.
For example,this command disables the recycle bin for your database session:

如果想要为我们单独的会话设置回收站功能,可以使用alter session语句在设置某sesson的recyclebin参数。例如,如下的命令会讲当前我们的数据库会话的回收站功能关闭。

ALTER SESSION SET RECYCLEBIN=OFF;

Objects you drop during this session are no longer placed in therecycle bin, until you re-enable the recycle binusing ALTER SESSION SET RECYCLEBIN=ON. However, other userscontinue
to be protected by the recycle bin, and in future sessions the valuereverts to the current default for the entire database.

You can also use an ALTER SYSTEM statement inSQL*Plus to change the value of the RECYCLEBIN parameter for theentire database. For example:

ALTER SYSTEM SET RECYCLEBIN=OFF;

This disables the recycle bin for all sessions, unless a userspecifically enables the recycle bin for their sessionusing ALTER SESSION SET RECYCLEBIN=ON.

Note:

Objects already in the recycle bin are not affected by enabling ordisabling the recycle binusing ALTER SYSTEM or ALTER SESSION.

已经在回收站中的对象是不会手alter system
alter session语句影响的

7.4.5 Viewing and Querying Objects in the RecycleBin

To view the contents of the recycle bin, use the SQL*Pluscommand SHOW RECYCLEBIN.

SQL> show recyclebin;

ORIGINAL NAME    RECYCLEBIN NAME                   TYPE         DROP TIME

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

EMPLOYEE_DEMO   BIN$gk3lsj/3akk5hg3j2lkl5j3d==$0 TABLE        2005-04-11:17:08:54

The ORIGINAL NAME column shows the orignal name of theobject, while the RECYCLEBIN NAME column shows the name of the objectas it exists in the recycle bin. Use the RECYCLEBIN NAME when
issuingqueries against tables in the recycle bin.

The database also provices two views for obtaining informationabout objects in the recycle bin:

数据为我们提供了如下两个视图来查询回收站中的对象


View


Description


USER_RECYCLEBIN


Lets users see their own dropped objects in the recycle bin. It has a synonym RECYCLEBIN, for ease of use.


DBA_RECYCLEBIN


Lets administrators see all dropped objects in the recycle bin

This example uses the views to determine the original names ofdropped objects:

SQL> SELECT object_name as recycle_name,original_name, type

FROM recyclebin;

RECYCLE_NAME                      ORIGINAL_NAME         TYPE

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

BIN$gk3lsj/3akk5hg3j2lkl5j3d==$0 EMPLOYEE_DEMO         TABLE

BIN$JKS983293M1dsab4gsz/I249==$0 I_EMP_DEMO            INDEX

BIN$NR72JJN38KM1dsaM4gI348as==$0 LOB_EMP_DEMO           LOB

BIN$JKJ399SLKnaslkJSLK330SIK==$0 LOB_I_EMP_DEMO         LOB INDEX

You can query objects that are in the recycle bin, just as you canquery other objects, if these three conditions are met:

如果我们具有如下的权限,那么我们可以查询回收站中表的内容

  • You must have the FLASHBACK privilege.
  • You must have the privileges that were required to perform queries against the object before it was placed in the recycle bin.
  • You must use the recycle bin name of the object in your query, rather than the object‘s original name.

This example shows the required syntax:

SQL> SELECT * FROM"BIN$KSD8DB9L345KLA==$0";

(Note the use of quotes due to the special characters in therecycle bin name.)

You can also use Oracle Flashback Query on tables in the recyclebin (again, assuming that you have the privileges described previously).

7.4.6 Recycle Bin Capacity and Space Pressure

There is no fixed amount of space preallocated for the recyclebin. Therefore, there is no guaranteed minimum amount of time during which adropped object will remain in the recycle
bin.

The rules that govern how long an object is retained in therecycle bin and how and when space is reclaimed are explained in this section.

7.4.6.1 Understanding Space Pressure

Dropped objects are kept in the recycle bin until such time as nonew extents can be allocated in the tablespace to which the objects belongwithout growing the tablespace. This condition
is referred to as space pressure. Space pressure can also arisedue to user quotas defined for a particular tablespace. A tablespace may havefree space, but the user may have exhausted his or her quota on it.

Oracle never automatically reclaims space or overwrites objects inthe recycle bin unless forced to do so in response to space pressure.

在用户的空间限额将要超出或者表空间空间不足时,oracle会使用回收站占用的空间。

7.4.6.2 How the Database Responds to SpacePressure

When space pressure arises, the database selects objects forautomatic purging from the recycle bin. Objects are selected for purging on afirst-in, first-out basis, that is, the
first objects dropped are the firstselected for purging.

oracle清除回收站中对象是按照先入先出的原则进行的

Actual purging of objects is done only as needed to meet ongoingspace pressure, that is, the databases purges the minimum possible number ofobjects selected for purging to meet
immediate needs for space. This policyserves two purposes:

  • It minimizes the performance penalty on transactions that encounter space pressure, by not performing more purge operations than are required;
  • It maximizes the length of time objects remain in the recycle bin, by leaving them there until space is needed.

Dependent objects such as indexes on a table are selected forpurging before the associated table (or other required segment).

清除回收站对象时,oracle会首先清除依赖于某表的索引然后才会清除该表

If space pressure is due to an individual user‘s quota on atablespace being exhausted, the recycle bin purges objects belonging to thetablespace which count against that user‘s
space quotas.

For AUTO EXTEND-able tablespaces, objects are purged from therecycle bin to reclaim space before datafiles are extended.

对于自动扩展的表空间,oracle会在表空间扩展之前,回收回收站以释放空间

7.4.6.3 Recycle Bin Objects and Segments

The recycle bin operates at the object level, in terms of tables,indexes, and so on. An object may have multiple segments associated with it,such as partitioned tables, partitioned
indexes, lob segments, nested tables,and so on. Because the database reclaims only the segments needed toimmediately satisfy space pressure, it can happen that some but not allsegments of an object are reclaimed. When this happens, any segments of theobject
not reclaimed immediately are marked as temporary segments. Thesetemporary segments are the first candidates to be reclaimed the next time spacepressure arises.

如果一张表包含多个段(如分区表),那么当oracle回收其中一个段后,如果其他段不再需要回收,那么oracle会将这些段设置为临时段(此时该表是不可用闪回删除的),当下次需要释放空间时,oracle会首先释放这些段的空间。

In such a case, the partially-reclaimed object can no longer beremoved from the recycle bin with Flashback Drop. (For example, if onepartition of a partitioned table is reclaimed,
the table can no longer be theobject of a Flashback Drop.)

7.4.7 Performing Flashback Drop on Tables in theRecycle Bin

Usethe FLASHBACK TABLE ... TO BEFORE DROP statementto recover objects from the recycle bin. You can specify either the name of thetable in the recycle bin or the original table name. This can be obtainedfrom either the DBA_RECYCLEBIN orUSER_RECYCLEBIN view
as shownin "Viewingand Querying Objects in the Recycle Bin". Tousethe FLASHBACK TABLE ... TO BEFORE DROP statement,you
need the same privileges you need to drop the table.

The following example restoresthe BIN$gk3lsj/3akk5hg3j2lkl5j3d==$0 table, changes its name backto hr.int_admin_emp, and purges its entry from the recycle bin:

FLASHBACK TABLE"BIN$gk3lsj/3akk5hg3j2lkl5j3d==$0" TO BEFORE DROP;

Note the use of quotes, due to the possibility of specialcharacters appearing in the recycle bin object names.You can also use thetable‘s original name in the Flashback Drop operation:

FLASHBACK TABLE HR.INT_ADMIN_EMP TO BEFORE DROP;

You can assign a new name to the restored table by specifyingthe RENAME TO clause. For example:

FLASHBACK TABLE "BIN$KSD8DB9L345KLA==$0"TO BEFORE DROP

RENAME TO hr.int2_admin_emp;

7.4.7.1 Flashback Drop of Multiple Objects Withthe Same Original Name

You can create, and then drop, several objects with the sameoriginal name, and they will all be stored in the recycle bin. For example,consider these SQL statements:

CREATE TABLE EMP (
...columns); # EMP version 1

DROP TABLE EMP;

CREATE TABLE EMP ( ...columns ); # EMP version 2

DROP TABLE EMP;

CREATE TABLE EMP ( ...columns ); # EMP version 3

DROP TABLE EMP;

In such a case, each table EMP is assigned a unique namein the recycle bin when it is dropped. You can use a FLASHBACK TABLE... TOBEFORE DROP statement with the original name of
the table, as shown inthis example:

FLASHBACK TABLE EMP TO BEFORE DROP;

The most recently dropped table with that original name isretrieved from the recycle bin, with its original name. You can retrieve it andassign it a new name using a RENAME TO clause.
The following exampleshows the retrieval from the recycle bin of all threedropped EMP tables from the previous example, with each assigned anew name:

FLASHBACK TABLE EMPTO BEFORE DROP RENAME TO EMP_VERSION_3;

FLASHBACK TABLE EMP TO BEFORE DROP RENAME TO EMP_VERSION_2;

FLASHBACK TABLE EMP TO BEFORE DROP RENAME TO EMP_VERSION_1;

Because using the original namein FLASHBACK TABLE... TO BEFORE DROP refers tothe most recently dropped table with that name, the last table dropped is thefirst one to be retrieved.

果我们删除了多个相同名称的表,那么flashback
table
语句默认会删除最后删除的表,除非我们直到了唯一表明

You can also retrieve any table you want from the recycle bin,regardless of any collisions among original names, by using the table‘s uniquerecycle bin name.

7.4.8 Purging Objects from the Recycle Bin

The PURGE command is used to permanently purge objectsfrom the recycle bin. Once purged, objects can no longer be retrieved from thebin using Flashback Drop.

There are a number of forms of the PURGE statement,depending on exactly which objects you want to purge from the recycle bin.

See Also:

Oracle
DatabaseSQL Reference
 for more information on the PURGE statement

7.4.8.1 PURGE TABLE: Purging a Table andDependent Objects

The PURGE TABLE command purges an individual table andall of its dependent objects from the recycle bin. This example shows thesyntax, using the table‘s original name:

PURGE TABLE EMP;

You can also use the recycle bin name of an object with PURGETABLE:

PURGE TABLE"BIN$KSD8DB9L345KLA==$0";

If you have created and dropped multiple tables with the sameorignal name, then when you use the PURGE TABLE statement the firsttable dropped will be the one to be purged.

如果我们创建了多个相同名称的表,那么purge语句默认时清除最早删除的表

Note:

The behavior in this case is the opposite of the behaviorof FLASHBACK TABLE... TO BEFORE DROP, where using the original name of thetable retrieves the most recently dropped version from
the recycle bin.

For example, consider the following series of CREATETABLE and DROP TABLE statements:

CREATE TABLE EMP;  # version 1 of the table

DROP TABLE EMP;     # version 1dropped

CREATE TABLE EMP;   # version 2 of thetable

DROP TABLE EMP;     # version 2dropped

CREATE TABLE EMP;   # version 3 of thetable

DROP TABLE EMP;     # version 3 dropped

There are now three EMP tables in the recycle bin. Ifyou execute PURGE TABLE EMP several times, the effect is as describedhere:

PURGE TABLE EMP;   # version 1 of the table is purged

PURGE TABLE EMP;    # version 2 of thetable is purged

PURGE TABLE EMP;    # version 3 of thetable is purged

7.4.8.2 PURGE INDEX: Freeing Space in the RecycleBin

You can use PURGE INDEX to purge just an index for atable, while keeping the base table in the recycle bin. The syntax for purgingan index is as follows:

PURGE INDEX"BIN$GTE72KJ22H9==$0";

By purging indexes from the recycle bin, you can reduce the chanceof space pressure, so that dropped tables can remain in the recycle bin longer.If you retrieve a table from the
recycle bin using Flashback Drop, you canrebuild the indexes after you retrieve the table.

7.4.8.3 PURGE TABLESPACE: Purging All DroppedObjects from a Tablespace

You can use the PURGE TABLESPACE command to purge alldropped tables and other dependent objects from a specific tablespace. Thesyntax is as follows:

PURGE TABLESPACE hr;

You can also purge only objects from a tablespace belonging to aspecific user, using the following form of the command:

PURGE TABLESPACE hr USER scott;

7.4.8.4 PURGE RECYCLEBIN: Purging All Objects ina User‘s Recycle Bin

The PURGE RECYCLEBIN command purges the contents of therecycle bin for the currently logged-in user.

PURGE RECYCLEBIN;

It purges all tables and their dependent objects for this user,along with any other indexes owned by this user but not on tables owned by theuser.

7.4.8.5 PURGE DBA_RECYCLEBIN: Purging All RecycleBin Objects

If you have the SYSDBA privilege, then you can purge all objectsfrom the recycle bin, regardless of which user owns the objects, using thiscommand:

PURGE DBA_RECYCLEBIN;

7.4.8.6 Dropping a Tablespace, Cluster, User orType and the Recycle Bin

When a tablespace is dropped including its contents, the objectsin the tablespace are dropped immediately, and not placed in the recycle bin.Any objects in the recycle bin from
the dropped tablespace are purged from therecycle bin.

当我们删除一个表空间时(including contents),表空间中的所有对象都将删除而不会放入回收站,原先在回收站中的该表空间对象也会清除。即便我们不使用including
content,
已经在回收站中的对象也会被清除。

If all objects from a tablespace have been placed in the recyclebin, then dropping the tablespace causes the objects to be purged, even if youdo not use the INCLUDING CONTENTS clause
with DROP TABLESPACE.

When a user is dropped, any objects belonging to the user that arenot in the recycle bin are dropped immediately, not placed in the recycle bin.Any objects in the recycle bin that
belonged to the user are purged from therecycle bin.

当我们删除一个用户时,该用户在回收站中的对象会被清除。

When you drop a cluster, all tables in the cluster are purged.When you drop a user-defined data type, all objects directly or indirectlydependent upon that type are purged.

当我们删除一个cluster时,所有cluster中的对象会被直接清除,而不放入回收站,如果我们删除了一个用户自定义数据类型,那么所以依赖于该数据类型的对象会被从回收站清除。

7.4.9 Privileges and Security for Flashback Drop

This section summariezes the system privileges required for theoperations related to Flashback Drop and the recycle bin.

  • DROP

    Any user with drop privileges over the object can drop the object, placing it in the recycle bin.

  • FLASHBACK TABLE... TO BEFORE DROP

    Privileges are tied to the privileges for DROP. That is, any user who can drop an object can perform Flashback Drop to retrieve the dropped object from the recycle bin.

任何具有删除某表权限的用户都可以从回收站闪回该表

  • PURGE

    Privileges are tied to the DROP privileges. Any user having DROP TABLE or DROP ANY TABLE privileges can purge the objects from the recycle bin.

任何具有删除某表权限的用户都可以从回收站清空该表

  • SELECT for objects in the Recycle Bin

    Users must have SELECT and FLASHBACK privileges over an object in the recycle bin to be able to query the object in the recycle bin. Any users who had the SELECT privilege over an object before it was dropped continue to have the SELECTprivilege over the object
    in the recycle bin.Users must have FLASHBACK privilege to query any object in the recycle bin, because these are objects from a past state of the database.

用户必须具有flashback权限才可以查看回收站中表的内容

7.4.10 Limitations and Restrictions on FlashbackDrop

  • The recycle bin functionality is only available for non-system, locally managed tablespaces. If a table is in a non-system, locally managed
    tablespace, but one or more of its dependent segments (objects) is in a dictionary-managed tablespace, then these objects are protected by the recycle bin.

回收站功能仅对本地管理的非系统表空间对象有效,如果依赖于该表的对象如所以不在本地管理的非系统表空间,这些表依然可以放到回收站,但是其依赖对象如索引不会放到回收站。

  • There is no fixed amount of space allocated to the recycle bin, and no guarantee as to how long dropped objects remain in the recycle bin.
    Depending upon system activity, a dropped object may remain in the recycle bin for seconds, or for months.
  • While Oracle permits queries against objects stored in the recycle bin, you cannot use DML or DDL statements on objects in the recycle bin.

不可用对回收站中的对象使用DMLDDL语句

  • You can perform Flashback Query on tables in the recycle bin, but only by using the recycle bin name. You cannot use the original name of
    the table.

我们可以对回收站中的表对象使用闪回查询,但是只可以使用回收站中的表名,而不可以使用表的原始名字

  • A table and all of its dependent objects (indexes, LOB segments, nested tables, triggers, constraints and so on) go into the recycle bin together,
    when you drop the table. Likewise, when you perform Flashback Drop, the objects are generally all retrieved together.

    It is possible, however, that some dependent objects such as indexes may have been reclaimed due to space pressure. In such cases, the reclaimed dependent objects are not retrieved from the recycle bin.

  • Due to security concerns, tables which have Fine-Grained Auditing (FGA) and Virtual Private Database (VPD) policies defined over them are
    not protected by the recycle bin.

出于安全上的考虑,具有FAGVPD功能的表,是不会受到回收站功能保护的。

  • Partitioned index-organized tables are not protected by the recycle bin.

索引组织表不会受到回收站功能的保护

  • The recycle bin does not preserve referential constraints on a table (though other constraints will be preserved if possible). If a table
    had referential constraints before it was dropped (that is, placed in the recycle bin), then re-create any referential constraints after you retrieve the table from the recycle bin with Flashback Drop.

回收站不会保护参考索引,因此我们闪回删除表后,需要重建指向该表的参考索引

    时间: 2024-09-30 11:43:49

    Oracle Flashback Drop: Undo a DROP TABLE Operation的相关文章

    Oracle Flashback(flashback table或drop)

    在Oracle 10g中,Flash back家族分为以下成员:Flashback DatabaseFlashback DropFlashback TableFlashback Query(分Flashback Query,Flashback Version Query,Flashback Transaction Query)下面介绍一下Flashback Drop 和Flashback Table 一 Flashback设置 1.打开flashback: 关闭数据库 启动到mount方式 SQ

    Oracle EBS 中直发订单Drop Ship流程的系统操作记录

    Oracle EBS 中直发订单Drop Ship流程的系统操作记录 应用场景: A公司向客户B销售产品,但是自己不生产该产品,而是向供应商C来采购,并且通常是要供应商C直接把货发到B客户处,属于贸易型企业经常用到的业务流程,有些集团公司下的子公司销售业务也用这种方式. 在实际业务中,并非所有的销售都是企业内部发出的,为了节约成本.提高周转效率.甚至应急销售,企业往往将外部企业也作为自己销售供货的来源之一,通过采购后直接发货的方式,将其他企业的货物直接销往自己的客户.这种销售业务模式,系统中称之

    Oracle Flashback 详解

    Oracle flashback 是一种方便快捷的数据库恢复技术,它不使用备份文件,通过闪回日志可以使数据库恢复到过去的某个状态,当用户发生逻辑错误时(误删表数据.表.表空间等)需要快速恢复数据库,可以使用Flashback 实现. 1 启用Flashback 数据库 Oracle 默认不启动flashback 数据库,使用flashback 技术必须先启动数据库到flashback 状态,且数据库必须处于archive 模式下,并启用闪回恢复区,因为闪回日志文件必须存放在闪回恢复区中. 1)

    Oracle Flashback Technologies (总)

    Oracle Flashback Technologies Oracle 9i中增加了闪回查询技术,闪回查询为数据库提供了一种简单.强大.完全无干扰从人为错误中恢复的机制.通过闪回查询,用户可以查看过去某个时间点的数据状态,而不需对数据库结构做任何修改.Oracle 10g扩展了闪回技术,分别在数据库.表.行.事务级别提供了快速而简单的恢复机制. Oracle 10g中闪回技术包含了以下技术: ·闪回数据库:将数据库快速变回之前的某个时间点,不需要restore和recover操作,减少停机时间

    Oracle Flashback闪回恢复管理_超越OCP精通Oracle视频课程培训20

    oracle视频教程目标 Oracle视频教程,风哥本套oracle教程培训学习oracle数据库关于Flashback概念,Flashback参数设置与归档模式,Flashback恢复案例-Flashback database,Flashback DROP,Flashback Query,Flashback version Query,Flashback Transaction Query,Flashback Table,Flashback Data Archive等常用技术. 适用人群 IT

    Oracle Flashback命令手册

    Flashback Flashback query(undo) select * from table_name as of timestamp to_timestamp('2008-03-03 12:00:00','yyyy-mm-dd hh24:mi:ss'); select * from table_name as of scn 123456; Flashback table(undo,恢复表到某时间点,阻塞写操作) --必须开启行移动 alter table table_name ena

    Oracle 中如何手工提交Cluster Table的事务

    环境中遇到了ora-00600 4000错误,涉及的对象即为cluster table,下面我这里简单模拟了一下.供参考! ++++创建测试表 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62

    ORACLE中RECORD、VARRAY、TABLE的使用详解

     1     说明 1.1       RECORD 定义记录数据类型.它类似于C语言中的结构数据类型(STRUCTURE),PL/SQL提供了将几个相关的.分离的.基本数据类型的变量组成一个整体的方法,即RECORD复合数据类型.在使用记录数据类型变量时,需要在声明部分先定义记录的组成.记录的变量,然后在执行部分引用该记录变量本身或其中的成员. 定义记录数据类型的语法如下: TYPE RECORD_NAME IS RECORD( V1  DATA_TYPE1 [NOT NULL][:=DE

    深入oracle 12c数据库备份与恢复(优化RMAN性能、Oracle flashback技术)

    课程讲师:小流老师 课程分类:Oracle 适合人群:高级 课时数量:15课时 更新程度:完成 服务类型:C类(普通服务类课程) 用到技术:oracle 涉及项目:oracle 12c数据库备份与恢复 需要更多相关资料可以联系 Q2748165793 课程提纲 第一讲:介绍备份和恢复相关操作 备份和恢复的目标 备份和恢复的解决方案 Oracle flashback技术 第二讲:开始RMAN操作和RMAN体系架构 RMAN的环境 RMAN Channels RMAN Repository RMAN