EXP-00056 ORA-1455

   使用EXP導出數據時,到結尾處報exp-OOO56,ORA-01455:轉換列溢出整數數據類型。

   上網查找原因,大部分說是因爲export命令會將表的statistics值轉成整數,當這個值超過2^32-1時,就會報錯,可以查看dba_tables和dba_indexes的num_rows值是否超過了該值。如果超過了手工修改:

   dbms_stats.set_table_stats(<owner>,<table_name>,<statistic_field>=><new lower value>) 

   刪除對應的統計信息 :analyze table <table_name> delete statistics 

                        analyze index <index_name> delete statistics 

   按此查看,發現dba_tables和dba_indexes中num_rows的值沒有太大的,於是決定忽略,按網上辦法,可以exp 命令時加入參數 indexes=n statistics=none就不會報這個錯,嘗試之,仍然報錯。

   此時想是不是有正在執行的存儲過程造成的,查看並殺掉鎖住的進程後重新嘗試,還是報錯。

   最後看到有人說是視圖引起的,檢查一下果然有一個視圖沒有編譯成功。把視圖語句保存下來,刪掉視圖,再次嘗試,果然沒有報錯。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章