OCP課程52:管理II之使用閃回技術2

stonebox1122發表於2016-05-20

課程目標:

  • Oracle Total Recall
    • 建立閃回資料歸檔
    • 管理閃回資料歸檔
    • 檢視後設資料
  • 閃回回收站
    • 還原刪除的表
    • 管理回收站空間
    • 查詢回收站

1、全面回憶概覽

clipboard

Oracle資料庫11g的全面回憶功能(也稱閃回資料存檔)提供了一種用於跟蹤生產資料庫改變的機制,安全、高效、使用方便且對應用透明。

使用全面回憶技術,可以自動跟蹤和儲存資料到啟用了閃回資料歸檔功能的表中。這確保了閃回查詢可以獲得SQL級訪問資料庫物件的版本而不會產生快照太舊的錯誤。

閃回資料存檔可跟蹤和儲存所有事務改變到到一個“跟蹤”表,而不需要再在應用中建立這個功能了。使用全面回憶可以用於稽核報告,資料分析和決策支援系統。

應用舉例:

  • 稽核支援:從去年找到重複保險索賠。
  • 合規性支援:在一個時期內監測股票交易。
  • 資訊生命週期管理(ILM):獲得病人的病史。
  • 保留策略強制要求:五年以上的記錄自動刪除。
  • 歷史報告:檢索客戶的信用和支付歷史。
  • 錯誤恢復:恢復誤刪除或更新記錄。

2、建立步驟

clipboard[1]

閃回資料歸檔過程:

一個閃回資料歸檔包含一個或多個表空間。可以有多個閃回資料歸檔。基於保留時間的要求,建立不同的閃回資料歸檔,例如,建立一個所有記錄必須儲存兩年,建立另一個所有記錄必須儲存五年。資料庫在保留時間到期後一天將自動清除所有的歷史資訊。

建立步驟如下:

(1)為閃回資料歸檔建立一個表空間。大小取決於基表和預期的DML和DDL活動。

(2)建立一個指定保留時間的閃回資料歸檔。此項任務需要FLASHBACK ARCHIVE ADMINISTER系統許可權。如果要求不同的保留時間,則必須建立不同的歸檔。

(3)為表啟用閃迴歸檔。此項任務需要FLASHBACK ARCHIVE物件許可權。雖然為表啟用了閃迴歸檔,但一些DDL語句不允許在該表執行。預設情況下,表沒有啟用閃回存檔。

例子:為表建立閃回資料歸檔

SQL> create tablespace fda_tbs1;

Tablespace created.

SQL> create flashback archive fda1 tablespace fda_tbs1 quota 10M retention 1 year;

Flashback archive created.

SQL> alter table hr.employees flashback archive fda1;

Table altered.


3、全面回憶如何工作

clipboard[2]

FBDA後臺程式在一個自動調整的時間間隔從undo(和緩衝區快取)捕獲歷史資料。時間間隔預設為五分鐘。被更新的行整行都會被儲存,不論該行有多少欄位被更新。

  • 歷史資料使用OLTP表壓縮排行壓縮,不使用混合列壓縮。注意:如果基表使用混合列壓縮,則該表不能啟用閃回資料歸檔。
  • 每一個閃迴歸檔分割槽至少1天和1MB資料。
  • FBDA程式可以呼叫多達10個閃迴歸檔子程式。
  • 如果閃迴歸檔程式和子程式太忙,會嚴重影響使用者的響應時間。

4、全面回憶方案

clipboard[3]

使用CREATE FLASHBACK ARCHIVE語句建立一個閃回資料歸檔。

  • 可以選擇指定為系統預設的閃回資料歸檔。
  • 需要提供閃回資料歸檔的名稱。
  • 需要提供閃回資料歸檔的第一個表空間的名字。
  • 可以指定閃回資料歸檔的最大使用空間,預設是無限制。除非第一個表空間的空間配額是無限的,否則必須指定此值,不然會出現ORA-55621錯誤。
  • 需要指定保留時間(為表的閃回資料歸檔的資料需要儲存的天數)。

在上圖中第一個例子,建立一個預設的閃回資料歸檔,名字為fla1,使用10 GB的tbs1表空間,保留五年。在第二個例子中,指定預設的閃回資料歸檔。預設情況下,系統沒有閃回資料歸檔。可以用以下兩種方式來設定:

  • 在ALTER FLASHBACK ARCHIVE語句的SET DEFAULT子句指定現有的閃回資料歸檔名字。
  • 在建立閃回資料歸檔時在CREATE FLASHBACK ARCHIVE語句中使用DEFAULT。

在第三個例子中,啟動閃回資料歸檔。如果沒有啟用Automatic Undo Management,則在修改表時會出現ORA-55614錯誤。

例子:指定預設閃回資料歸檔

SQL> alter flashback archive fda1 set default;

Flashback archive altered.

SQL> alter table hr.emp flashback archive;

Table altered.

SQL> select * from hr.emp;

EMPLOYEE_ID FIRST_NAME           LAST_NAME

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

EMAIL                     PHONE_NUMBER         HIRE_DATE    JOB_ID

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

    SALARY COMMISSION_PCT MANAGER_ID DEPARTMENT_ID

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

        100 Steven               King

SKING                     515.123.4567         17-JUN-03    AD_PRES

     10000                                      90

SQL> delete from hr.emp;

1 row deleted.

SQL> commit;

Commit complete.

SQL> select * from hr.emp as of timestamp to_timestamp('2016-02-01 12:00:00','yyyy-mm-dd hh24:mi:ss');

EMPLOYEE_ID FIRST_NAME           LAST_NAME

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

EMAIL                     PHONE_NUMBER         HIRE_DATE    JOB_ID

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

    SALARY COMMISSION_PCT MANAGER_ID DEPARTMENT_ID

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

        100 Steven               King

SKING                     515.123.4567         17-JUN-03    AD_PRES

     10000                                      90


5、全面回憶方案

clipboard[4]

為表啟用閃回資料歸檔,可以在CREATE TABLE或者ALTER TABLE語句指定FLASHBACK ARCHIVE子句。在FLASHBACK ARCHIVE子句,指定錶的歷史資料儲存的位置。預設使用系統預設的閃回資料歸檔。在ALTER TABLE語句指定NO FLASHBACK ARCHIVE為表禁用閃回資料歸檔。

上一頁的最後一個語句顯示瞭如何檢索2007年初的所有貨物的庫存。繼續前面的例子:

  • 例4是為閃回資料歸檔fla1增加表空間tbs3,配額為5GB。
  • 例5是修改閃回資料歸檔fla1的保留時間到2年。
  • 例6是清除閃回資料歸檔fla1的所有超過1天的歷史資料。通常情況下,會自動清除過期的資料,也可以手動清除。
  • 例7刪除閃回資料歸檔fla1及其歷史資料,但不刪除表空間。ALTER FLASHBACK ARCHIVE命令可以:
    • 關閉閃回資料歸檔保留時間
    • 刪除資料
    • 新增,修改,刪除表空間

注意:刪除閃回資料歸檔的所有表空間會導致錯誤。

例子:修改及刪除閃回資料歸檔

SQL> alter flashback archive fda1 add tablespace tbs3 quota 10G;

Flashback archive altered.

SQL> alter flashback archive fda1 modify retention 2 year;

Flashback archive altered.

SQL> alter flashback archive fda1 purge before timestamp(systimestamp-interval '1' day);

Flashback archive altered.

SQL> drop flashback archive fda1;

Flashback archive dropped.


6、透明模式演變

clipboard[5]

閃回資料歸檔支援最常見的DDL命令。當一個模式涉及到上圖中列出的DDL,全面回憶自動跟蹤該更改。閃回查詢返回對應模式的的行。


7、全模式演變

clipboard[6]

DBMS_FLASHBACK_ARCHIVE包不自動支援所有DDL修改。可以使用DISASSOCIATE_FBA和REASSOCIATE_FBA儲存過程來分離和關聯指定的表及其閃回資料歸檔。

注意:這個功能要謹慎使用,同時由於分離期間歷史資料可以被修改,故歸檔不能確保不被改變。

上圖顯示了以下工作流程:

  • 如果有FLASHBACK ARCHIVE ADMINISTER許可權,可以從基表分離歸檔。
  • 對基表進行修改。
  • 對相應的歸檔進行修改。
  • 在同一個模式中管理基表和歸檔。全面回憶驗證關聯。

8、限制

clipboard[7]

當對錶啟用了閃回資料歸檔,一些DDL語句會產生錯誤ORA-55610,例如:

  • ALTER TABLE語句包括UPGRADE TABLE子句,可以帶也可以不帶INCLUDING DATA子句。
  • ALTER TABLE語句移動或交換分割槽或子分割槽的操作。
  • DROP TABLE語句。

例子:刪除啟用了閃回資料歸檔的表

SQL> drop table hr.emp;

drop table hr.emp

              *

ERROR at line 1:

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


9、使用指導

clipboard[8]

閃回資料歸檔使用指導:

  • 可以用於閃回查詢、閃回版本查詢或閃回事務查詢的SQL程式碼。
  • 所有的閃回處理使用當前會話設定,如國家語言和字符集,而不是查詢時生效的設定。
  • 使用SCN查詢精確時間資料。如果使用時間戳,實際查詢時間可能比你指定的時間提前3秒。Oracle資料庫內部使用SCN並每3秒對映SCN到時間戳。
  • 使用DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER函式獲取SCN。
  • 計算或檢索過去的時間,使用函式的返回值作為時間戳或SCN的引數。例如,對SYSTIMESTAMP加上或減去一個INTERVAL。
  • 為了確保資料庫的一致性,在查詢過去的資料之前,總是執行COMMIT或ROLLBACK操作。
  • 不能檢視動態效能檢視以前的資料。但可以查詢靜態資料字典檢視的歷史資料,比如*_tables。

10、檢視閃回資料歸檔

clipboard[9]

可以使用動態資料字典檢視檢視跟蹤表和閃回資料歸檔的後設資料。訪問USER_FLASHBACK_*,必須有表的所有者的許可權。檢視DBA_FLASHBACK_*檢視,需要SYSDBA許可權。

例子 :查詢閃回資料歸檔資訊

SQL> select f.owner_name,f.flashback_archive_name,f.retention_in_days from dba_flashback_archive f;

OWNER_NAME                     FLASHBACK_ARCHIVE_NAME    RETENTION_IN_DAYS

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

SYS                            FDA1                                    365

SQL> select * from dba_flashback_archive_ts;

FLASHBACK_ARCHIVE_NAME    FLASHBACK_ARCHIVE# TABLESPACE_NAME                QUOTA_IN_MB

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

FDA1                                       1 FDA_TBS1                       10

SQL> select * from dba_flashback_archive_tables;

TABLE_NAME                     OWNER_NAME                     FLASHBACK_ARCHIVE_NAME    ARCHIVE_TABLE_NAME                                    STATUS

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

EMP                            HR                             FDA1                      SYS_FBA_HIST_89969                                    ENABLED


11、閃回刪除和回收站

clipboard[10]

使用閃回表命令,可以恢復DROP TABLE語句刪除的表,無需使用point-in-time恢復。

注意:當前使用者的RECYCLEBIN初始化引數控制閃回刪除是否啟用。如果設定該引數為OFF,則刪除的表不會進入到回收站。如果設定引數為ON,則刪除的表進入回收站並可回收。預設情況下,RECYCLEBIN設定為ON。

例子:檢視RECYCLEBIN初始化引數

SQL> show parameter recyclebin;

NAME                                 TYPE        VALUE

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

recyclebin                           string      on

SQL> alter system set recyclebin=off scope=spfile;

System altered.

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup

ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance

ORACLE instance started.

Total System Global Area  889389056 bytes

Fixed Size                  2258360 bytes

Variable Size             662702664 bytes

Database Buffers          218103808 bytes

Redo Buffers                6324224 bytes

Database mounted.

Database opened.

SQL> show parameter recyclebin;

NAME                                 TYPE        VALUE

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

recyclebin                           string      OFF

SQL> alter system set recyclebin=on scope=spfile;

System altered.

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup

ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance

ORACLE instance started.

Total System Global Area  889389056 bytes

Fixed Size                  2258360 bytes

Variable Size             662702664 bytes

Database Buffers          218103808 bytes

Redo Buffers                6324224 bytes

Database mounted.

Database opened.

SQL> show parameter recyclebin;

NAME                                 TYPE        VALUE

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

recyclebin                           string      ON


12、回收站

clipboard[11]

如果沒有啟用回收站,當刪除一個表,與表及其依賴的物件相關聯的空間會被立即回收(即可以用於其他物件)。

如果啟用了回收站,當刪除一個表,與表及其依賴的物件相關聯的空間不會被立即回收,即使它出現在DBA_FREE_SPACE檢視。相反,刪除的物件在回收站被引用且仍舊屬於其所有者。除非空間不足,回收站物件使用的空間不會自動回收。這可以使使用者在儘可能長的時間內恢復回收站物件。

當刪除的表“移動”到回收站,系統對該表及其相關的物件和約束進行重新命名。命名約定如下:

BIN$unique_id$version

unique_id是一個26個字元的全域性唯一識別符號,version是一個由資料庫指定的版本號。

回收站本身就是一個資料字典表,維護被刪除物件的原始名稱和系統生成名稱之間的關係。可以使用DBA_RECYCLEBIN查詢回收站。上圖中說明如下:

(1)建立EMPLOYEES表。

(2)刪除EMPLOYEES表。

(3)EMPLOYEES表所有的區現在被任務是空閒空間。

(4)重新命名EMPLOYEES表並記錄到回收站。

例子:檢視回收站

SQL> show recyclebin;

ORIGINAL NAME    RECYCLEBIN NAME                OBJECT TYPE  DROP TIME

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

EMP              BIN$KCkSs4IS/UXgU4vmqMCqCA==$0 TABLE        2015-12-31:11:28:12

EMP              BIN$KCkSs4IN/UXgU4vmqMCqCA==$0 TABLE        2015-12-31:10:53:34

EMP              BIN$KCkSs4II/UXgU4vmqMCqCA==$0 TABLE        2015-12-31:10:04:21

EMP              BIN$J9iOOkW8dhzgU4vmqMCn2w==$0 TABLE        2015-12-27:10:00:41


13、從回收站還原表

clipboard[12]

使用FLASHBACK TABLE ... TO BEFORE DROP命令從回收站恢復表及其依賴物件,可以在該命令中使用該表的原始名稱,或者使用在該物件被刪除時分配給該物件的系統名稱。

如果使用原始名稱,且在回收站中該名稱對應多個物件版本,則恢復最後刪除的那一個(LILO:last in,first out)。如果想恢復其他版本,可以指定系統生成的表名進行恢復,或者繼續使用FLASHBACK TABLE ... TO BEFORE DROP,直到恢復到想要的版本。

如果在表刪除後,在同一個模式中又建立了一個新的相同名字的表,閃回刪除時如果不指定RENAME TO子句進行重新命名,則會報錯。

注意:閃回刪除表後,表的索引、觸發器和約束仍然使用回收站中的名稱。因此,建議在閃回刪除前查詢回收站和DBA_CONSTRAINTS檢視,重新命名索引、觸發器和約束。

例子:閃回刪除

SQL> flashback table emp to before drop rename to emp_rec;

Flashback complete.


14、回收站:自動空間回收

clipboard[13]

只要回收站中物件的空間沒有被回收,就可以使用閃回刪除進行恢復。以下為回收站物件回收策略:

  • 使用PURGE命令進行清除回收站。
  • 空間不足時自動清理:當物件位於回收站,則該物件佔用的空間就可以進行自動回收,透過DBA_FREE_SPACE檢視可以查詢到回收站中物件佔用空間。在一個特定的表空間,空閒空間按以下順序進行使用:

(1)不對應回收站物件的空閒空間

(2)對應回收站物件的空閒空間。在這種情況下,回收站中的物件使用先進先出(FIFO)演算法自動清除回收站物件。

(3)如果表空間自動擴充套件,自動分配空閒空間。


15、回收站:手動空間回收

clipboard[14]

使用PURGE命令從回收站永久刪除物件。當一個物件被從回收站清除,則物件及其依賴物件從資料庫中永久刪除。因此,從回收站中PURGE的物件不能再使用閃回刪除進行恢復。

PURGE用法如下:

  • PURGE TABLE徹底刪除表
  • PURGE TABLE徹底刪除索引
  • PURGE TABLESPACE徹底刪除表空間中的所有物件。位於其他表空間中的依賴物件也可能會被刪除。
  • PURGE RECYCLEBIN清除回收站中屬於當前使用者的物件。RECYCLEBIN和USER_RECYCLEBIN是同義詞。
  • PURGE DBA_RECYCLEBIN清除回收站中所有物件。

也可以使用EM從回收站中徹底刪除表。

clipboard[15]

clipboard[16]

clipboard[17]

注意:對於PURGE TABLE和PURGE INDEX命令,如果使用物件的原始名稱且回收站中有多個物件對應這個名稱,則清除最先進入回收站的物件(FIFO)。

例子:清除回收站的物件

SQL> show recyclebin;

ORIGINAL NAME    RECYCLEBIN NAME                OBJECT TYPE  DROP TIME

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

EMP              BIN$KCkSs4IN/UXgU4vmqMCqCA==$0 TABLE        2015-12-31:10:53:34

EMP              BIN$KCkSs4II/UXgU4vmqMCqCA==$0 TABLE        2015-12-31:10:04:21

EMP              BIN$J9iOOkW8dhzgU4vmqMCn2w==$0 TABLE        2015-12-27:10:00:41

SQL> purge table emp;

Table purged.

SQL> show recyclebin;

ORIGINAL NAME    RECYCLEBIN NAME                OBJECT TYPE  DROP TIME

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

EMP              BIN$KCkSs4IN/UXgU4vmqMCqCA==$0 TABLE        2015-12-31:10:53:34

EMP              BIN$KCkSs4II/UXgU4vmqMCqCA==$0 TABLE        2015-12-31:10:04:21


16、繞過回收站

clipboard[18]

可以使用DROP TABLE PURGE命令徹底刪除表及其依賴的物件,這些物件不會進入回收站。

當使用DROP TABLESPACE ... INCLUDING CONTENTS命令刪除表空間時,表空間中的物件不會進入回收站,而且回收站中屬於該表空間的物件也會被清除。當不使用INCLUDING CONTENTS子句刪除表空間時,表空間必須為空才能執行成功,即使回收站中有屬於該表空間的物件。在這種情況下,這些物件也會被清除。

當使用DROP USER ... CASCADE命令時,使用者和使用者擁有的所有物件都會被永久刪除。回收站中屬於該使用者的物件也會被刪除。

為了增加安全性,可以不使用回收站。

例子:徹底刪除表

SQL> show recyclebin;

ORIGINAL NAME    RECYCLEBIN NAME                OBJECT TYPE  DROP TIME

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

EMP              BIN$KCkSs4IN/UXgU4vmqMCqCA==$0 TABLE        2015-12-31:10:53:34

EMP              BIN$KCkSs4II/UXgU4vmqMCqCA==$0 TABLE        2015-12-31:10:04:21

SQL> drop table emp1 purge;

Table dropped.

SQL> show recyclebin;

ORIGINAL NAME    RECYCLEBIN NAME                OBJECT TYPE  DROP TIME

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

EMP              BIN$KCkSs4IN/UXgU4vmqMCqCA==$0 TABLE        2015-12-31:10:53:34

EMP              BIN$KCkSs4II/UXgU4vmqMCqCA==$0 TABLE        2015-12-31:10:04:21


17、查詢回收站

clipboard[19]

透過USER_RECYCLEBIN檢視或者RECYCLEBIN同義詞檢視刪除的物件。

透過DBA_RECYCLEBIN檢視檢視在回收站中的所有物件。

使用SQL*Plus命令SHOW RECYCLEBIN顯示可以“undropped”的物件。

上面的例子展示瞭如何從回收站中提取重要資訊:

  • original_name是刪除之前物件的名字。
  • object_name是刪除之後系統產生的名字。
  • type是物件的型別。
  • ts_name是物件所屬的表空間名字。
  • droptime是刪除時間。
  • related是父物件的物件編號
  • space是當前物件所使用的塊數量。

例子:檢視回收站

SQL> select owner,original_name,object_name,type,ts_name,droptime,related,space

  2  from dba_recyclebin where can_undrop='YES';

OWNER      ORIGINAL_NAME        OBJECT_NAME                    TYPE       TS_NAME    DROPTIME               RELATED      SPACE

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

SYS        EMP                  BIN$KCkSs4IN/UXgU4vmqMCqCA==$0 TABLE      TS02       2015-12-31:10:53:34      89456          8

HR         EXPORT000067         BIN$KBi1njRdZtXgU4vmqMDxTA==$0 TABLE      USERS      2015-12-30:14:33:00      89302          8

SYS        EMP                  BIN$KCkSs4II/UXgU4vmqMCqCA==$0 TABLE      TS02       2015-12-31:10:04:21      89455          8

HR         EMP                  BIN$KpmWw9TVSWDgU4vmqMDVxA==$0 TABLE      EXAMPLE    2016-01-31:11:08:56      89121          8

HR         EMP                  BIN$KpoTVpYRVQDgU4vmqMDVTA==$0 TABLE      USERS      2016-01-31:11:43:46      89954          8

HR         EMP                  BIN$Kp7F8DcYaeLgU4vmqMAJuA==$0 TABLE      USERS      2016-01-31:17:20:02      89966          8

HR         EMP                  BIN$Kp7F8DcdaeLgU4vmqMAJuA==$0 TABLE      USERS      2016-01-31:17:21:52      89968          8

7 rows selected.

SQL> select original_name,object_name,ts_name,droptime

  2  from user_recyclebin where can_undrop='YES';

ORIGINAL_NAME        OBJECT_NAME                    TS_NAME    DROPTIME

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

EMP                  BIN$KCkSs4IN/UXgU4vmqMCqCA==$0 TS02       2015-12-31:10:53:34

EMP                  BIN$KCkSs4II/UXgU4vmqMCqCA==$0 TS02       2015-12-31:10:04:21

SQL> show recyclebin;

ORIGINAL NAME    RECYCLEBIN NAME                OBJECT TYPE  DROP TIME

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

EMP              BIN$KCkSs4IN/UXgU4vmqMCqCA==$0 TABLE        2015-12-31:10:53:34

EMP              BIN$KCkSs4II/UXgU4vmqMCqCA==$0 TABLE        2015-12-31:10:04:21


18、相關習題

(1)You enabled Flashback Data Archive on the INVENTORY table. Which DDL operation is supported on the table after enabling Flashback Data Archive?

A.Drop the table.

B.Partition the table

C.Truncate the table.

D.Add a column to the table.

E.Rename a column in the table.

答案:D

(2)You are working as a DBA on the decision support system. There is a business requirement to track and store all transactions for at least three years for a few tables in the database. Automatic undo management is enabled in the database. Which configuration should you use to accomplish this task?

A.Enable Flashback Data Archive for the tables.

B.Specify undo retention guarantee for the database.

C.Enable supplemental logging for the database.

D.Query V$UNDOSTAT to determine the amount of undo that will be generated and create an undo tablespace for that size.

E.Create Flashback Data Archive on the tablespace on which the tables are stored.

答案:A

(3)You want to track and store all transactional changes to a table over its lifetime. To accomplish

this task, you enabled Flashback Data Archive with the retention of 5 years. After some time, the

business requirement changed and you were asked to change the retention from 5 years to 3

years. To accomplish this, you issued the following command:

ALTER FLASHBACK ARCHIVE fla1 MODIFY RETENTION 3 YEAR;

What is the implication of this command?

A.  The command produces an error because the retention time cannot be reduced.

B.  All historical data is retained but the subsequent flashback data archives are maintained for only three years.

C.  All historical data is purged and the new flashback data archives are maintained for three years.

D.  All historical data older than three years is purged from the flashback archive FLA1.

答案:D

(4)You are working on the APPDB database as a DBA. The database has a default Flashback Data Archive DFLA1 created on it. You issued the following command to drop the Flashback Archive FLA1:

DROP FLASHBACK ARCHIVE fla1;

What is the effect of this command?

A.  The Flashback Archive FLA1 is dropped only if it is empty.

B.  The tablespace having Flashback Archive is dropped.

C.  The Flashback Archive FLA1 is dropped after moving the existing data in it to the default Flashback Archive.

D.  The Flashback Data Archive and historical data are dropped.

答案:D

(5)Which two are the prerequisites to enable Flashback Data Archive? (Choose two.)

A.  Database must be running in archivelog mode.

B.  Automatic undo management must be enabled.

C.  Undo retention guarantee must be enabled.

D.  The tablespace on which the Flashback Data Archive is created must be managed with Automatic Segment Space Management (ASSM).

答案:BD

(6)Exhibit:

png此主題相關圖片如下:
clipboard[20]

View the Exhibit and examine the output.

You executed the following command to enable Flashback Data Archive on the

EXCHANGE_RATE table:

ALTER TABLE exchange_rate FLASHBACK ARCHIVE;

What is the outcome of this command?

A.  The Flashback Archive is created on the same tablespace where the tables are stored.

B.  The Flashback Archive is created on the SYSAUX tablespace.

C.  The command generates an error because no Flashback Archive name is specified and there is no default Flashback Archive.

D.  The table uses the default Flashback Archive.

答案:C

(7)When setting up the Flashback Data Archive, which of these key parameters are required?

(Choose all that apply.)

A.  Tablespace name

B.  Storage quota

C.  Retention

D.  Table name

E.  Create a default archive

答案:AC

(8)To clean up old records that are in a Flashback Data Archive and are past the retention period,

what must the DBA do?

A.  TRUNCATE the archive table.

B.  DROP the Flashback Data Archive.

C.  Nothing; expired rows are automatically removed.

D.  Nothing; expired rows are moved to an archive table.

E.  Delete entries from the archive where the metadata date retained is greater than the retention period.

答案:C

(9)Note the output of the following query;

SQL> SELECT flashback_archieve_name, status FROM dba_flashback_archieve;

FLASHBACK_ARCHIEVE_NAME STATUS

FLA1

You executed the following command to enable Flashback Data Archive on the EXCHANGB_PATE table:

ALTER TABLE exchange_rate FLASHBACK ARCHIEVE;

What is the outcome of this command?

A. The table uses the default Flashback Data Archive.

B. The Flashback Data Archive Is created In the SYSAUX tablespace.

C. The Flashback Data Archive is created in the same tablespace where the tables are stored.

D. The command generates an error because no flashback Data Archive name is specified and there is no default Flashback Data Achieve.

答案:D

(10)You need to maintain a record of all transactions on some tables for at least three years.

Automatic undo management is enabled for the database.

What must you do accomplish this task?

A.  Enable supplemental logging for the database.

B.  Specify undo retention guarantee for the database

C.  Create Flashback Data Archive in the tablespace where the tables are stored.

D.  Create Flashback Data Archive and enable Flashback Data Archive for specific tables.

答案:D

(11)Which are the two prerequisites before setting up Flashback Data Archive? (Choose two.)

A.Flash recovery area must be defined

B.Undo retention guarantee must be enabled.

C.Database must be running in archivelog mode.

D.Automatic undo management must be enabled.

E.The tablespace in which the Flashback Data Archive is created must have automatic segment space Management (ASSM).

答案:DE

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28536251/viewspace-2103682/,如需轉載,請註明出處,否則將追究法律責任。

相關文章