溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

從gbk導出的dmp導入到utf8的oracle

發布時間:2020-08-06 17:46:50 來源:ITPUB博客 閱讀:566 作者:laojiangjiji 欄目:關系型數據庫
第一步,導入表結構:
imp userid=xxx/password file yyy.dmp full=y rows=n log=yyy.log
上面語句不會導入數據,只會導入結構,但可能會出現幾個錯誤:
1、表空間不存在,不能創建對象,這個可以建立一個表空間,或者將報錯的腳步修改表空間后重新執行。
2、如果按用戶導出,可以將full=y修改為fromuser=fff touser=xxx再導入。
依據log文件做相應處理。同時日志會顯示相關字符集等信息,來確定字符串長度是否需要修改。

第二步(可選),修改對象表空間
1、生成修改表表空間的語句:
select 'alter table '||table_name||' move tablespace xxx_base;' from user_tables;
2、生成修改索引表空間的語句:
select 'alter index '||index_name||' rebuild tablespace xxx_base;' from user_indexes;

第三步(可選),drop觸發器
生成drop觸發器的語句:
select 'drop trigger '||trigger_name||';' from user_triggers;

第四步,修改表字段字符串類型字段的長度
如果在修改長度的列上建立了函數索引,需要備份索引定義后刪除,然后修改字段長度再重建函數索引。
set heading off
set space 0
set pagesize 0
set trimout on
set trimspool on
set linesize 2500
spool modify_len.sql
select 'alter table '||table_name||' modify ('||column_name||' '||data_type||'('||ceil(data_length*1.5)||'));'
from user_tab_columns where data_type in ('VARCHAR2','CHAR','NCHAR','NVARCHAR2') and table_name not like 'BIN%' and table_name like 'DSJ%';
spool off
@modify_len.sql

第五步,導入數據之前,需要屏蔽所有外鍵
select 'alter table '||t.table_name||' disable constraint '||t.constraint_name||';' from user_constraints t where t.constraint_type='R' order by t.table_name;

第六步,導入數據
imp userid=xxx/password file yyy.dmp full=y data_only=y log=yyy1.log

第七步,導入數據之后,需要啟用所有外鍵
select 'alter table '||t.table_name||' enable constraint '||t.constraint_name||';' from user_constraints t where t.constraint_type='R' order by t.table_name;


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女