2014-10-03 73 views
1

每當我在模式中創建對象時,段的所有者不是對象所有者。請看下面:爲什麼對象所有者也不是Oracle中的細分所有者?

1* select count(*) from dba_objects where owner='ERIC' 
SQL>/

    COUNT(*) 
---------- 
     4 

而且從DBA_SEGMENTS:

1* select count(*) from dba_segments where owner='ERIC' 
SQL>/

    COUNT(*) 
---------- 
     0 
+0

你確定你的對象實際上有段嗎? (延遲段創建是現在的默認設置。) – Mat 2014-10-03 04:12:20

+0

我沒有確認。該對象是一張桌子,我使用了默認設置。 – 2014-10-03 04:13:14

+0

感謝您的回答,馬特。我剛剛發現這是11g的新功能。 – 2014-10-03 04:14:55

回答

4

在11g中的默認行爲是使用deferred segment creation。這意味着當您創建表時,Oracle在插入第一行之前不會創建段。當您安裝第三方應用程序時,這會非常有用,該應用程序具有許多將始終爲空的表(通常是因爲您尚未授權或實施這些表支持的任何模塊) - 它可以防止浪費大量空間在空白段。

相關問題