如果在数据库级别设置Oracle 10g NLS参数有任何问题,有人请告诉我们,特别是我所在的国家/地区的NLS_TERRITORY以及将时区设置为UTC。
当时b / c是否会发生冲突,我们的NLS_TERRITORY设置为AMERICA,这是不正确的?
感谢。
答案 0 :(得分:3)
对于Oracle,您通常必须对NLS参数保持谨慎。文档总是一个好主意: NLS / Globalization stuff
请注意,NLS_TERRITORY参数派生自NLS_LANG。因此,您应能够通过更改NLS_LANG来影响NLS_TERRITORY参数。 (在任何情况下都应该同步。)
在您完成后(请仔细阅读),您可能会想“嘿,我们有现有数据,我们是否需要在更改参数后对其进行任何转换?”
另请注意,使用此数据库的任何客户端软件都应将其NLS_LANG(尤其是其中的字符集部分)设置为与数据库相同 - 否则数据可能被破坏。
答案 1 :(得分:0)
“数据库级别的NLS参数,特别是NLS_TERRITORY”是什么意思?
如果您的意思是显示在NLS_DATABASE_PARAMETERS中的参数,则一旦创建数据库便无法更改这些参数。但是,这些特定参数(NLS_ [NCHAR] _CHARACTERSET除外)仅在CHECK约束中使用,并且需要在数据库的整个生命周期内保持恒定的其他一些表达式(例如VPD)。因此,将NLS_DATABASE_PARAMETERS中的NLS_TERRITORY设置为什么无关紧要。