oracle11gR2使用exp導出命令時報EXP-00011錯誤的解決建
導讀:1建站知識這篇文章主要介紹了oracle11gR2使用exp導出命令時報EXP-00011錯誤的解決方法,大家參考使用吧seo網(wǎng)站排名優(yōu)化軟件網(wǎng)站seo優(yōu)化診斷工具。
在給客戶培訓的過程中,發(fā)現(xiàn)客戶數(shù)據(jù)庫服務器存在一個奇怪的現(xiàn)象。客戶營銷型網(wǎng)站建設數(shù)據(jù)庫服務器環(huán)境為AIX6+Oracle11gR2,具體現(xiàn)象如下:
執(zhí)行EXP導出時,部分表提示 EXP-00011:表不存在錯誤,但是查詢user_all_tables視圖,此表確實是存在的,并且執(zhí)行select語句也能成功,不過表為空表,查看權限等也沒有問題。后來通過查詢資料,發(fā)現(xiàn)問題是由Deferred Segment Creation參數(shù)引起的。
Deferred Segment Creation,延遲段創(chuàng)建,Oracle11gR2新增參數(shù), 具體用處是當新創(chuàng)建一個可能會有Segment的對象時,如果這個對象中還沒有任何記錄需要消耗一個Extent,那么將不會高端網(wǎng)站建設在創(chuàng)建對象時自動創(chuàng)建Segment,這樣做的好處是在創(chuàng)建對象時大大提高了速度。但是這么一來,因為對象沒有Segment,執(zhí)行EXP導出時,就會報EXP-00011錯誤。
以報錯的表cf_template為例,執(zhí)行以下查詢:
復制代碼 代碼如下:
SQL> show parameter DEFERRED_SEGMENT_CREATION
NAME TYPE 網(wǎng)站建設教程 VALUE
------------------------------------ -------------------- --------------------
deferred_segment_creation boolean TRUE
發(fā)現(xiàn)Deferred Segment Creation已經(jīng)打開,再執(zhí)行:
復制代碼 代碼如下:
SQL> select segment_name from user_segments where segment_name='CF_TEMPLATE';
no rows selected
沒有返回值,數(shù)據(jù)庫確實沒有給CF_TEMPLATE表創(chuàng)建Segment,這就驗證了為什么報錯的都是空表。
解決方法如下:
1. 設置deferred_segment_creation的值為false
此方法只對以后的表有效,之前的表沒有Segment的還是沒有。
2. 創(chuàng)建表的時候聲明立即創(chuàng)建Segment
create table XXX (XXX XXX) SEGMENT CREATION IMMEDIATE;
3.對于已經(jīng)創(chuàng)建但是還沒有Segment的表來說,可以執(zhí)行alter table XXX allocate extent來使其創(chuàng)建出 Segment,當然也可以插入一條數(shù)據(jù),使其創(chuàng)建Segment
相關seo網(wǎng)站排名優(yōu)化軟件網(wǎng)站seo優(yōu)化診斷工具。聲明: 本文由我的SEOUC技術文章主頁發(fā)布于:2023-05-23 ,文章oracle11gR2使用exp導出命令時報EXP-00011錯誤的解決建主要講述時報,命令,oracle11gR2使用exp導出命令時報EX網(wǎng)站建設源碼以及服務器配置搭建相關技術文章。轉(zhuǎn)載請保留鏈接: http://www.bifwcx.com/article/web_5571.html