日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

oracle11g 数据库导出报“ EXP-00003: 未找到段 (0,0) 的存储定义”错误的解决方案

發布時間:2023/12/20 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle11g 数据库导出报“ EXP-00003: 未找到段 (0,0) 的存储定义”错误的解决方案 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文鏈接:http://edmzkj.blog.51cto.com/9115753/1433814

導出oracle11.2.0.2的服務器的數據時,報“EXP-00003: 未找到段 (0,0) 的存儲定義”錯誤。初步分析是由于數據表是空表導致該問題。

Oracle 11G在用EXPORT導出時,空表不能導出。
  11GR2中有個新特性,當表無數據時,不分配segment,以節省空間
  

解決方法:

一、 insert一行,再rollback就產生segment了。
  該方法是在在空表中插入數據,再刪除,則產生segment。導出時則可導出空表。
  
二、 設置deferred_segment_creation 參數
該參數值默認是TRUE,當改為FALSE時,無論是空表還是非空表,都分配segment。修改SQL語句:

alter system setdeferred_segment_creation=false scope=both;

  需注意的是:該值設置后對以前導入的空表不產生作用,仍不能導出,只能對后面新增的表產生作用。如需導出之前的空表,只能用第一種方法。
  
三、 用以下這句查找空表

select'alter table '||table_name||' allocate extent;' from user_tables wherenum_rows=0;

  把查詢結果導出,執行導出的語句,強行修改segment值,然后再導出即可導出空表
  
可以通過以下方式生成數據庫更新的sql語句:
在pl/sql的命令窗口中執行

set heading off;set echo off;set feedback off;set termout on;spool C:\alterTableSql.sql;Select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;spool off;

自動將空表更新sql生成到C盤根目錄的alterTableSql.sql文件中。然后執行該sql文件更新數據庫。

Select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;

也可以換成:

Select 'alter table '||table_name||' allocate extent;' from user_tables where segment_created= 'NO' ;

總結

以上是生活随笔為你收集整理的oracle11g 数据库导出报“ EXP-00003: 未找到段 (0,0) 的存储定义”错误的解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。