oracle 11g新增了乙個引數:deferred_segment_creation,含義是段延遲建立,預設是true。當deferred_segment_creation=true時,新建立的表在未插入資料前,資料庫不會立即為此表分配segment,也就是說不占用資料空間,只有在向此表中插入資料後才真正分配空間。
這樣雖可以節省少量的空間,但也會造成其他問題。當使用exp命令進行資料庫匯出時,未分配空間的表是不會匯出的,如此造成了資料庫的不完整,給資料庫的遷移帶來麻煩。
解決未分配空間的表不匯出的問題可採取如下方法:
解決辦法 :
1 設定deferred_segment_creation 引數為false後,無論是空表還是非空表,都分配segment。
使用命令sqlplus / as sysdba登入。
在sqlplus中,執行如下命令:
sql>alter system set deferred_segment_creation=false;
檢視:
sql>show parameter deferred_segment_creation;
該值設定後只對後面新增的表產生作用,對之前建立的空表不起作用。
注意並且要重新啟動資料庫
,讓引數生效
2、如果想匯出已經建立的表,則可以對空表分配空間
select 'alter table '||table_name||' allocate extent;' from user_tables;
執行以上sql語句輸出的結果,執行完畢,則表已更改。
此時執行exp命令,即可把包括空表在內的所有表,正常匯出。
還原資料庫 oracle 11g
1.需要檔案 2.需要知道表空間 nnc data01 和臨時表空間 nnc index01 和資料庫使用者 nc63train 3.開始,第一步,建立兩個表空間 開啟sql plus,連線資料庫,執行語句 4.第二步,建立資料庫使用者 createuser nc63train identified...
解除安裝Oracle 11g資料庫
完全解除安裝oracle11g步驟 1 開始 設定 控制面板 管理工具 服務 停止所有 oracle 服務。2 開始 程式 oracle orahome81 oracle installation products universal installer,單擊 解除安裝產品 全部展開 選中除 ora...
Oracle11 g資料庫過期
公司使用的oracle11 g 32位 資料庫出現有效期過期問題,解決此問題可以使用下面的方法 1 查詢密碼有效期system登入 sql select from dba profiles where profile default and resource name password life t...