powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / небольшой вопрос по dbtimezone
4 сообщений из 4, страница 1 из 1
небольшой вопрос по dbtimezone
    #39388415
Мурзик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, уважаемые форумчане.

Помогите пожалуйста решить вопрос с dbtimezone.
Работаю с Oracle 12.1.0.2.0

В настоящее время эта
Код: plaintext
dbtimezone
совпадает с
Код: plaintext
timezone OC (Linux RedHat 72)
:

Команда
Код: plaintext
ls -al /etc/localtime
возвращает помимо всего прочего:
Код: plaintext
 ../usr/share/zoneinfo/America/New_York

Переменная
Код: plaintext
ORA_SDTZ
не установлена:
командаавтор echo $ORA_SDTZ не возвращает ничего видимого

Запрос на сервере (подключился через 22-й порт)
Код: plaintext
1.
2.
    select systimestamp s, localtimestamp l, current_timestamp c
    from dual
возвращает -
Код: plaintext
1.
2.
3.
20-JAN-17 05.11.32.826650 AM -05:00
20-JAN-17 05.11.32.826653 AM
20-JAN-17 05.11.32.826653 AM -05:00
Для проверки этого оффсета сделал запрос
Код: plaintext
SELECT TZ_OFFSET('America/New_York') f FROM DUAL

результат -
Код: plaintext
 -05:00


но запрос
Код: plaintext
1.
2.
 SELECT PROPERTY_NAME, property_value
        FROM DATABASE_PROPERTIES
        where property_name like '%ZONE%'

Показывает
Код: plaintext
00:00

Аналогичный результат показывает запрос
Код: plaintext
  select dbtimezone from dual;

Я так понимаю это потому, что при создании базы я не указал
Код: plaintext
timezone
и он взял ее из ОС.

Вопрос такой - если я задам
Код: plaintext
timezone = UTC
(т.е. тоже
Код: plaintext
00:00
)

Код: plaintext
alter database set time_zone='UTC';

Как я смогу понять, что она задана явно, а не взята из ОС?

Заранее спасибо.
...
Рейтинг: 0 / 0
небольшой вопрос по dbtimezone
    #39388445
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты путаешь таймзону БД (она у тебя 00:00 и поменять ее непросто) и таймзону сессии (sessiontimezone) -- она как раз берется из ОСб переменной ORA_SDTZ или можно выставить через ALTER SESSION
...
Рейтинг: 0 / 0
небольшой вопрос по dbtimezone
    #39388587
Мурзик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав Любомудров,
спасибо за ответ на мой вопрос.

А если все-таки dbtimezone будет = 'UTC', например, задали при создании базы.
Как я определю по оффсету, что она = UTC, а не взята из таймзоны ОС?

Как я понял там может быть два вида 00:00
1. из UTC-таймЗоны
2. если не указать ничего при создании базы данных и oracle будет брать эту инфу из ОС

Как отличить первый 00:00 от второго?
...
Рейтинг: 0 / 0
небольшой вопрос по dbtimezone
    #39388595
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще раз: dbtimezone -- это фиксированная штука которая задается только при создании БД и больше, как правило, не меняется
Основная ее функция -- это как будут храниться данные TIMESTAMP WITH LOCAL TIME ZONE, т.е. при хранении данные этого типа приводятся ко времени DBTIMEZONE и хранятся без таймзоны вообще.
А вот отображается все в SESSIONTIMEZONE
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / небольшой вопрос по dbtimezone
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]