Oracle 10g NLS参数

时间:2011-01-19 04:35:21

标签: internationalization oracle10g nls nls-lang

如果在数据库级别设置Oracle 10g NLS参数有任何问题,有人请告诉我们,特别是我所在的国家/地区的NLS_TERRITORY以及将时区设置为UTC。

当时b / c是否会发生冲突,我们的NLS_TERRITORY设置为AMERICA,这是不正确的?

感谢。

2 个答案:

答案 0 :(得分:3)

对于Oracle,您通常必须对NLS参数保持谨慎。文档总是一个好主意: NLS / Globalization stuff

请注意,NLS_TERRITORY参数派生自NLS_LANG。因此,您能够通过更改NLS_LANG来影响NLS_TERRITORY参数。 (在任何情况下都应该同步。)

在您完成后(请仔细阅读),您可能会想“嘿,我们有现有数据,我们是否需要在更改参数后对其进行任何转换?”

  1. 备份!在改变之前 参数。
  2. 是的,您可能需要执行一些数据转换,具体取决于事物的存储方式以及您更改的区域。
  3. 另请注意,使用此数据库的任何客户端软件都应将其NLS_LANG(尤其是其中的字符集部分)设置为与数据库相同 - 否则数据可能被破坏。

答案 1 :(得分:0)

“数据库级别的NLS参数,特别是NLS_TERRITORY”是什么意思?

如果您的意思是显示在NLS_DATABASE_PARAMETERS中的参数,则一旦创建数据库便无法更改这些参数。但是,这些特定参数(NLS_ [NCHAR] _CHARACTERSET除外)仅在CHECK约束中使用,并且需要在数据库的整个生命周期内保持恒定的其他一些表达式(例如VPD)。因此,将NLS_DATABASE_PARAMETERS中的NLS_TERRITORY设置为什么无关紧要。