国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

oracle11gR2使用exp導出命令時報EXP-00011錯誤的解決方法

2024-08-29 13:57:50
字體:
來源:轉載
供稿:網友

在給客戶培訓的過程中,發現客戶數據庫服務器存在一個奇怪的現象。客戶數據庫服務器環境為AIX6+Oracle11gR2,具體現象如下:

執行EXP導出時,部分表提示 EXP-00011:表不存在錯誤,但是查詢user_all_tables視圖,此表確實是存在的,并且執行select語句也能成功,不過表為空表,查看權限等也沒有問題。后來通過查詢資料,發現問題是由Deferred Segment Creation參數引起的。

Deferred Segment Creation,延遲段創建,Oracle11gR2新增參數, 具體用處是當新創建一個可能會有Segment的對象時,如果這個對象中還沒有任何記錄需要消耗一個Extent,那么將不會在創建對象時自動創建Segment,這樣做的好處是在創建對象時大大提高了速度。但是這么一來,因為對象沒有Segment,執行EXP導出時,就會報EXP-00011錯誤。

以報錯的表cf_template為例,執行以下查詢:

復制代碼 代碼如下:


SQL> show parameter DEFERRED_SEGMENT_CREATION

 

NAME                                 TYPE                 VALUE

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

deferred_segment_creation            boolean              TRUE

發現Deferred Segment Creation已經打開,再執行:

復制代碼 代碼如下:


SQL> select segment_name from user_segments where segment_name='CF_TEMPLATE';

no rows selected

沒有返回值,數據庫確實沒有給CF_TEMPLATE表創建Segment,這就驗證了為什么報錯的都是空表。

解決方法如下:

1.  設置deferred_segment_creation的值為false

此方法只對以后的表有效,之前的表沒有Segment的還是沒有。

2.  創建表的時候聲明立即創建Segment

create table XXX (XXX  XXX) SEGMENT CREATION IMMEDIATE;

3.對于已經創建但是還沒有Segment的表來說,可以執行alter table XXX allocate extent來使其創建出     Segment,當然也可以插入一條數據,使其創建Segment

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 密云县| 巴东县| 柘荣县| 桦南县| 成安县| 邯郸市| 定结县| 黄陵县| 山阴县| 资兴市| 南和县| 理塘县| 三穗县| 施甸县| 正安县| 淅川县| 汉川市| 伊吾县| 甘德县| 涟水县| 思南县| 醴陵市| 北流市| 石家庄市| 禄丰县| 盐城市| 神农架林区| 宣威市| 泰州市| 章丘市| 汉中市| 山阳县| 日喀则市| 子洲县| 茶陵县| 阿拉善右旗| 翁源县| 哈巴河县| 中方县| 白朗县| 施甸县|