我在CentOS上安装了一个新的甲骨文CentOS。安装之后,我想提高生产率,并开始导入转储。其中一个转储会导致字符集错误,因此我尝试将系统字符集更改为转储中指定的字符集。
我做了这样的陈述:
UPDATE nls_database_parameters SET parameter='WS....' WHERE parameter=’NLS_CHARACTERSET’;如您所见:我已经在参数列中而不是在value列中编写了字符集的值。我想我只是想了太多的问题,而不是检查我在那里输入什么。查询后,参数"NLS_CHARACTERSET“消失,服务器报告字符集为"(null)”。
我想把"NLS_CHARACTERSET“参数放回到桌子上,但不知道怎么做。如果我想做这样的事
INSERT INTO nls_database_parameters (PARAMETERS, VALUE) VALUES ("NLS_CHARACTERSET", "AL32UTF8");我知道错误:
Fehler bei Befehlszeile:1 Spalte:84
Fehlerbericht:
*Cause: SQL-Fehler: ORA-00984: Spalte hier nicht zulässig
*Action: 00984. 00000 - "column not allowed here"对不起,错误消息是德文,但它包含Oracle错误代码。
你知道我怎样才能解决这个问题吗?
感谢并致以最良好的问候
马可
发布于 2010-05-28 12:43:41
我自己解决了:
如果浏览Oracle数据库的表列表,则有一个名为"PROPS$“的表。我发现我写错的专栏是这样的:
Parameter Value
WE8ISO8859P1, AL32UTF8我用SQLDeveloper将列更新为"NLS_CHARACTERSET“,我的数据库再次运行良好。
表"NLS_DATABASE_PARAMETERS“只是一个过滤多个参数表的视图。我认为我只是无法运行更新的视图和踢出的专栏。我现在要做一些关于如何正确地改变字符集的研究。
感谢您的帮助和建议!
马可
https://serverfault.com/questions/145748
复制相似问题