OCP考試第19題

19. A PL/SQL procedure queries only those columns of a redefined(重定義) table that were unchanged by the online table redefinition. What happens to the PL/SQL procedure after the online table redefinition?

表的重定義之後選取的字段會發生什麼變化?

A. It remains valid.

B. It becomes invalid for all options of online table redefinition but automatically gets revalidated the next time it is used.

C. It becomes invalid for all options of online table redefinition and is automatically recompiled during online redefinition of the table.

D. It becomes invalid only if the storage parameters have been modified and it automatically gets revalidated the next time it is used.

 

知識點:

Oracle 支持在線重定義表,也就是說我們可以在修改表結構(DDL)的同時進行相關的DQL、DML操作,使得前端的DML根本感覺不到表結構實際上已經發生了變化,對於用戶而言是完全透明的。

其實質是Oracle使用了智能物化視圖及物化視圖日誌的方式。在對象結構重組期間,表現爲一個本地對象的複製,重組期間發生的任何變化都會被刷新到最新。

在線表重定義可以達到以下的目的:
1).修改表或集羣的存儲參數。
2).移動表或集羣到不同的表空間。
3).增加,修改或者DROP表或集羣的一個或多個字段。
4).改變分區結構。
5).改變單一表分區的物理屬性,包括一定它到相同用戶的不同表空間下。
6).改變物化視圖日誌的物理屬性或者Oracle Streams高級隊列隊列表。
7).添加並行查詢支持。
8).重建表或者集羣減少碎片,在很多情況下,在線段shrink是減少碎片更容易的方法。
9).將普通錶轉換爲IOT,或者將IOT轉換爲普通表。
10).轉換一個相關表到表的對象字段,或者反向轉換。
11).轉換一個對象表到相關的表或者表的對象字段,或者反向轉換。
在線重定義表的步驟

1.選擇重定義方法:by key或者by rowid

2.驗證表是否能被在線重定義。 CAN_REDEF_TABLE

3.創建一個空的中間表 : 目標表(重定義之後的結構)的中間表

4.rowid啓動行遷移功能。

5.大表啓用會話並行功能。

ALTER SESSION FORCE PARALLEL DML PARALLEL degree-of-parallelism;
ALTER SESSION FORCE PARALLEL QUERY PARALLEL degree-of-parallelism;

6.開始在線重定義過程:

表在被重新定義的整個過程中,查詢和DML操作仍然是可執行的。
如果START_REDEF_TABLE以爲某種原因失敗,必須調用ABORT_REDEF_TABLE過程,否則接下來重新定義表將失敗。

7.拷貝依賴的對象:

使用COPY_TABLE_DEPENDENTS過程自動創建中間表的依賴對象;

可以手動創建中間表的依賴對象,並且註冊它們。

8.同步被重定義的表到臨時表

(調用過程sync_interim_table,此步可選)

9.完成在線重定義過程。

FINISH_REDEF_TABLE

10.處理M_ROW$$字段:

使用rowid在線重定義,COMPATIBLE初始化參數設置爲10.1.0或者更低

ALTER TABLE table_name set UNUSED(M_ROW$$);

COMPATIBLE初始化參數爲10.2.0或者更高

ALTER TABLE ... DROP UNUSED COLUMNS語句DROP該字段

11.DROP中間表。

 

 

參考

http://blog.itpub.net/23135684/viewspace-1765128/

http://blog.sina.com.cn/s/blog_61cd89f60102ed7p.html

https://blog.csdn.net/leshami/article/details/11760417

 

答案 A

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章