国产探花免费观看_亚洲丰满少妇自慰呻吟_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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 香河县| 密云县| 阿勒泰市| 县级市| 阿瓦提县| 绥江县| 肃北| 营山县| 双柏县| 宜春市| 古浪县| 苍南县| 洪湖市| 濮阳市| 德令哈市| 渑池县| 盖州市| 马公市| 洱源县| 柘城县| 江都市| 隆尧县| 仪陇县| 南宫市| 喀喇| 云林县| 定远县| 岳池县| 宾阳县| 科技| 阿坝县| 桂平市| 赤壁市| 揭西县| 长武县| 延津县| 郴州市| 新化县| 资源县| 西吉县| 吉木萨尔县|