1

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

会不会有任何冲突 b/c 作为那一刻,我们的 NLS_TERRITORY 设置为 AMERICA 是不正确的?

谢谢。

4

2 回答 2

3

对于 Oracle,您通常必须谨慎使用 NLS 参数。文档总是一个好主意: NLS / 全球化的东西

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

看完之后(请务必阅读),您可能会想“嘿,我们有现有数据,更改参数后是否需要对其执行任何转换?”

  1. 备份!更改参数之前。
  2. 是的,您可能必须执行一些数据转换,具体取决于事物的存储方式以及您更改的区域。

还要记住,任何使用此数据库的客户端软件都应将其 NLS_LANG(尤其是它的字符集部分)设置为与数据库相同 - 否则数据可能会被破坏。

于 2011-01-21T19:59:48.077 回答
0

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

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

于 2019-04-10T21:49:29.067 回答