Параметры Oracle 10g NLS

Не могли бы люди сообщить мне, если есть какие-либо проблемы с настройкой параметров Oracle 10g NLS на уровне базы данных, в частности, NLS_TERRITORY для страны, в которой я нахожусь вместе с установкой часового пояса в формате UTC.

Будут ли какие-либо конфликты b/c, поскольку в данный момент наш NLS_TERRITORY установлен на AMERICA, что неверно?

Благодарю.

1 ответ

Решение

С Oracle вы должны быть осторожны с параметрами NLS в целом. Документация всегда хорошая идея: NLS / Глобализация

Обратите внимание, что параметр NLS_TERRITORY является производным от NLS_LANG. Таким образом, вы должны иметь возможность влиять на параметр NLS_TERRITORY, изменяя NLS_LANG. (Это должно быть синхронизировано в любом случае.)

После того, как вы пройдете через это (пожалуйста, прочитайте его), вы, вероятно, подумаете: "Эй, у нас есть существующие данные, нам нужно будет выполнить какие-либо преобразования для них после изменения параметра?"

  1. Возьмите резервную копию! ПЕРЕД ИЗМЕНЕНИЕМ ПАРАМЕТРА. ПОЖАЛУЙСТА
  2. И да, вам, возможно, придется выполнить какое-то преобразование данных, в зависимости от того, как вещи были сохранены, и на какую территорию вы переходите.

Также имейте в виду, что любое клиентское программное обеспечение, которое использует эту базу данных, должно иметь свой NLS_LANG (особенно его часть набора символов) таким же, как база данных - в противном случае данные могут быть искажены.

Что вы имеете в виду под "параметрами NLS на уровне базы данных, в частности NLS_TERRITORY"?

Если вы имеете в виду параметры, отображаемые в NLS_DATABASE_PARAMETERS, то их нельзя изменить после создания базы данных. Однако эти конкретные параметры (кроме NLS_[NCHAR]_CHARACTERSET) используются только в ограничениях CHECK и некоторых других выражениях, которые должны оставаться постоянными на протяжении всей жизни базы данных (например, VPD). Следовательно, редко имеет значение, на что установлено значение NLS_TERRITORY в NLS_DATABASE_PARAMETERS.

Другие вопросы по тегам