標籤:提高 地方 資料匯入 off 使用命令 oracl 密碼 port 串連
公司以前都是用dmp操作資料匯入匯出,最近從別的地方人家給是sql檔案資料庫檔案,不得不學習一下如何匯入大檔案的sql,好應對各種突發情況。
1、首先得會使用sqlplus串連遠端資料庫
sqlplus 使用者名稱/密碼@遠端資料庫ip:連接埠/執行個體名
2、串連成功之後使用命令
sql>@E:\areadata.sql;sql>@/opt/oracle/area.sql;
有時候中文會出現亂碼問題,或者報錯。例如:
ERROR:ORA-01756: quoted string not properly terminated
此時,需要排查資料庫伺服器的字元集和client的字元集
1.排查資料庫伺服器字元集:
sql>select userenv(‘language‘) from dual;---AMERICAN_AMERICA.ZHS16GBK【此處的字元集是這個】
2.排查client字元集
在windows平台下,就是註冊表裡面相應OracleHome的NLS_LANG。還可以在dos視窗裡面自己設定,比如:
set nls_lang=AMERICAN_AMERICA.ZHS16GBK
在linux下,修改bash_profile檔案
$ vi .bash_profileNLS_LANG=‘AMERICAN_AMERICA.ZHS16GBK‘; export NLS_LANG
這個也可能跟sql檔案有關,大家可以試試設定client字元集,多試兩個應該就可以了。
另外有些檔案裡面可能會出現一些空格之類的字元,到了sqlplus裡面就會變成?,例如下面的等待輸入,往往會影響匯入的時間:
sql>Enter value for nbsp;
所以需要在執行sql>@E:\areadata.sql時先設定一下關閉替代變數功能
sql>set difine off;
這樣子就不會出現匯入時等待的情況了,大大提高了匯入檔案的效率。
oracle匯入sql檔案