oracle怎么轉換字符集

oracle中,可以利用“ALTER DATABASE”字符集語句來轉換字符集,語法格式為“ALTER DATABASE [db_name] CHARACTER SET new_character_set;”。

oracle怎么轉換字符集

本教程操作環境:Windows7系統、Oracle 11g版、Dell G3電腦。

Oracle-字符集轉換

字符集是按照一定的字符編碼方案,對一組特定的符號,分別賦予不同數值編碼的集合。

? ? 日常使用時,服務端與客戶端字符集需一致。

--服務端 select * from nls_database_parameters; --客戶端 SELECT USERENV('LANGUAGE') FROM DUAL;

? ? 數據庫字符集調整最常用的是ALTER命令和完全的導出和導入兩種。

? ? 第一種,ALTER DATABASE字符集語句是遷移字符集的最快方法,但只能在特殊情況下使用。

ALTER DATABASE字符集語句不執行任何數據轉換,因此,當且僅當新字符集是當前字符集的嚴格超集時,才可以使用它。

--ALTER DATABASE字符集語句的語法如下,db_name為可選項: ALTER DATABASE [db_name] CHARACTER SET new_character_set;

? ? 第二種

數據泵(EXPDP/IMPDP)方式代價較高,耗時且占用資源多,并且需要在遷移時對數據進行掃描,確認在遷移時是否會發生數據截斷和字符集轉換錯誤。

? ??數據庫字符集遷移有兩個階段:數據掃描和數據轉換。

? ? 在更改數據庫字符集之前,使用字符集掃描工具確定在更改數據庫字符集之前所需的工作量。

? ? 使用數據泵導入導出腳本示例,腳本需在數據庫服務器執行:

--查看管理員目錄 確認導出文件位置路徑  SELECT * FROM dba_directories; --expdp導出 帶有條件 expdp 用戶/密碼@服務名  directory=DATA_PUMP_DIR dumpfile=數據文件文件名.dmp logfile=日志文件文件名.log tables=導出表名 query='" where lsh in (select lsh from table_1 where code !='1' and flag='1')"' CONTENT選項可選導出結構或數據 導出格式默認為.dmp--impdp導入 導入時重命名 存在表則增加數據 主鍵重復數據忽略 導入時也可以限定導入時所屬表空間 impdp 用戶/密碼@服務名  directory=DATA_PUMP_DIR dumpfile=數據文件文件名.dmp REMAP_TABLE =導出用戶名.導出表名:導入表名 TABLE_EXISTS_ACTION=append data_options=skip_constraint_errors

推薦教程:《Oracle教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊14 分享