oracle資料庫導庫問題

2021-10-02 02:31:31 字數 1853 閱讀 1876

一、dmp導庫過程中,資料量小的表匯入成功,到資料量大的表時開始報錯。發現原庫的表空間是users,匯入新庫後預設表空間是users,根據錯誤提示檢視新庫的的表空間users空間不大。採取源庫、新庫的表空間更換。

imp-00058: 遇到 oracle 錯誤 1653

ora-01653: 表 zrzyk.hy_dp_c 無法通過 1024 (在表空間 users 中) 擴充套件

imp-00028: 上乙個表的部分匯入已回退: 回退 2198322 行

. . 正在匯入表                     "hy_dp_c_1"

imp-00058: 遇到 oracle 錯誤 1653

ora-01653: 表 zrzyk.hy_dp_c_1 無法通過 128 (在表空間 users 中) 擴充套件

imp-00028: 上乙個表的部分匯入已回退: 回退 31171 行

. . 正在匯入表                      "hy_dqs_c"

imp-00058: 遇到 oracle 錯誤 1653

ora-01653: 表 zrzyk.hy_dqs_c 無法通過 128 (在表空間 users 中) 擴充套件

imp-00028: 上乙個表的部分匯入已回退: 回退 25021 行

. . 正在匯入表                    "hy_dqs_c_1"

imp-00058: 遇到 oracle 錯誤 1653

ora-01653: 表 zrzyk.hy_dqs_c_1 無法通過 128 (在表空間 users 中) 擴充套件

imp-00028: 上乙個表的部分匯入已回退: 回退 21201 行

imp-00009: 匯出檔案異常結束

二、新庫源庫更換表空間具體應用以下方式。

1、檢視表當前所屬表空間

select table_name,tablespace_name from user_tables  -- where table_name='test' --可以加上條件

比如我們看到我的庫里有兩個表表空間是users,而非我們自建的fccms

這時候我們就可以修改表空間為users的兩個表所屬的表空間

2、確認需要修改的批量組裝成修改sql語句

select 'alter table '||table_name||' move tablespace fccms;' from user_tables where tablespace_name = 'users'

得到如下結果

現在我們賦值查詢結果,貼上至命令框進行執行

3、執行表空間修改

4、檢視修改結果

成功!修改表索引同上

select 'alter index '|| index_name ||' rebuild tablespace fccms;' from user_indexes;

ps:這裡需要注意test2表裡包含的clob欄位,針對clob、blob欄位需單獨做修改處理 

alter table test2 move tablespace users lob(col_lob1,col_lob2) store as(tablespace fccms);

三、源庫新庫都將表移到新的表空間後(最好新庫和源庫表空間一樣,這樣省去很多麻煩,尤其資料量大時),在進行資料導庫。原問題解決。

將EXCEL導到oracle資料庫

將excel導到oracle 資料庫,我目前了解到一種途徑是 1 將excel另存為csv檔案 2 在pl sql developer裡將csv檔案內容導進oracle 展開說下步驟2 1 開啟pl sql developer,登入資料庫 2 工具 文字匯入器 3 在文字匯入器裡開啟csv檔案 注意...

資料庫互導

1 sqlserver與access互導 方法一 用sql語句 匯出到access insert into openrowset microsoft.jet.oledb.4.0 x a.mdb admin a表 select from 資料庫名.b表 匯入access insert into b表 ...

centos postgresql資料庫匯入匯出

匯入整個資料庫 psql u postgres 使用者名稱 資料庫名 預設時同使用者名稱 data dum.sql 匯出整個資料庫 pg dump h localhost u postgres 使用者名稱 資料庫名 預設時同使用者名稱 data dum.sql 匯出某個表 pg dump h loc...