在Windows 10中安装Oracle 11.2后如何更改字符集?
我已经在Windows10Pro中安装了Oracle 11.2.0.1.0,用于测试和学习。在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工具,一步一步地完成
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
,则此方法可能会异常有效。