ホームページ >データベース >Oracle >Oracleで文字セットを変換する方法

Oracleで文字セットを変換する方法

青灯夜游
青灯夜游オリジナル
2022-01-07 16:06:374427ブラウズ

Oracle では、「ALTER DATABASE」文字セット ステートメントを使用して文字セットを変換できます。構文形式は「ALTER DATABASE [db_name] CHARACTER SET new_character_set;」です。

Oracleで文字セットを変換する方法

このチュートリアルの動作環境: Windows 7 システム、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;

2 番目の

データ ポンプ (EXPDP/IMPDP) 方法は、より高価で時間がかかり、多くのリソースを消費し、データをスキャンする必要があります。移行中に、データの切り捨てエラーと文字セット変換エラーが発生するかどうかを確認します。

データベース キャラクタ セットの移行には、データ スキャンとデータ変換の 2 つの段階があります。

データベース キャラクタ セットを変更する前に、キャラクタ セット スキャン ツールを使用して、データベース キャラクタ セットを変更する前に必要な作業量を判断します。

データ ポンプを使用してスクリプトの例をインポートおよびエクスポートします。スクリプトはデータベース サーバーで実行する必要があります:

--查看管理员目录 确认导出文件位置路径 
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 Tutorial"

以上がOracleで文字セットを変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。