Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Windows 10中安装Oracle 11.2后如何更改字符集?_Windows_Oracle - Fatal编程技术网

在Windows 10中安装Oracle 11.2后如何更改字符集?

在Windows 10中安装Oracle 11.2后如何更改字符集?,windows,oracle,Windows,Oracle,我已经在Windows10Pro中安装了Oracle 11.2.0.1.0,用于测试和学习。 NLS\u字符集是WE8MSWIN1252,但我需要它是AL32UTF8。 在Windows 10中安装Oracle 11.2后,如何更改字符集?sqlplus sys作为sysdba 密码 立即关闭 启动限制 更改数据库字符集内部\u使用AL32UTF8 ALTER数据库字符集AL32UTF8 立即关闭 启动 退出我强烈推荐Unicode数据库迁移助手(DMU)工具。它是一个GUI工具,一步一步地完成

我已经在Windows10Pro中安装了Oracle 11.2.0.1.0,用于测试和学习。
NLS\u字符集
WE8MSWIN1252
,但我需要它是
AL32UTF8
。 在Windows 10中安装Oracle 11.2后,如何更改字符集?

sqlplus sys作为sysdba

密码

立即关闭

启动限制

更改数据库字符集内部\u使用AL32UTF8

ALTER数据库字符集AL32UTF8

立即关闭

启动


退出

我强烈推荐Unicode数据库迁移助手(DMU)工具。它是一个GUI工具,一步一步地完成所有扫描、建议和转换。它过去是一种手动方法,使用CSSCAN和CSALTER,但这些方法已被弃用。您可以从Oracle网站下载DMU。

如果您刚刚创建了数据库,请将其删除,然后使用所需的字符集创建一个新的数据库

如果您的数据库中有数据,那么进行此更改是危险的,正如已经发生的那样 在@sandman中指出

使用
Sqlplus
作为
SYS
连接并执行以下操作:

ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER DATABASE CHARACTER SET INTERNAL_USE AL32UTF8;
ALTER SYSTEM DISABLE RESTRICTED SESSION;
之后,您可以使用下面的查询检查它是否有效:

SELECT value
FROM nls_database_parameters
WHERE parameter = 'NLS_CHARACTERSET';

+1如果可能的话,我推荐这种方法。一开始听起来很极端,但更改字符集可能会导致一些奇怪的错误。命令
ALTER DATABASE character SET…
从Oracle 10R1开始就不受支持,您可能会破坏数据库。但是,如果旧字符集是
US7ASCII
,则此方法可能会异常有效。