改变语言 (代码页面) 数据库 Oracle

我们有两个数据库 Oracle, 谁配置为:

SQL> SELECT USERENV ('language') FROM DUAL;

USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.AL32UTF8

我们的其余实例配置如下:

SQL> SELECT USERENV ('language') FROM DUAL;

USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.WE8ISO8859P1

从一个数据库传输到另一个数据库时,这会创建各种问题。 是否可以根据其他“非标准”数据库转换两个“非标准”数据库。 如果是这样,怎么样?
已邀请:

卫东

赞同来自:

嗯,第一组字符 - 这是 Unicode, 基本上支持所有语言。 第二 («P1») - 西欧 ASCII, 支持英语和一些额外的西方角色。

所以,

您的数据是什么语言? 您需要支持哪些语言?

你想转换 UNICODE db 在 ASCII db 或相反亦然?

转型从 WE8 ... P1 在 Unicode 可以通过导出轻松执行 (安装 NLS_LANG 在 WE8..P1), 创建新的空数据库和导入 (再次安装 NLS_LANG 在 WE8..P1). 但是,转化B. Unicode 具有一些副作用,特别是关于任何列的限制 varchar2 - 如果它是 varchar2 (20), 这通常是手段 20 字节,所以在使用时 Unicode 20 字节可能包含较少 (不是英文) 符号。 . 因此,为了避免截断数据,某些列可能必须增加 ... 所有详细信息在这里:

http://download.oracle.com/doc ... g.htm
转型从 UTF8 在 WE8..P1 - 这再次出口 NLS_LANG = WE8 ... P1 (现在,您将丢失未显示的所有字符 P1 ASCII, 例如,阿拉伯语,中文等), 创造空 We8 .. 数据库 P1 并使用进口数据 NLS_LANG = WE8ISO8859P1.

要回复问题请先登录注册