W rzeczywistości są tu 3 strefy czasowe, a nie 2
- strefa czasowa sesji/klienta
- Wyświetlane w SESSIONTIMEZONE
- To jest strefa czasowa CURRENT_DATE, LOCALTIMESTAMP i CURRENT_TIMESTAMP. Różnica między tymi 3 jest typem zwracanym, zwracają odpowiednio DATE, TIMESTAMP i TIMESTAMP WITH TIME STREFA)
- Strefa czasowa bazy danych
- Pokazane w DBTIMEZONE
- To jest strefa czasowa używana do wewnętrznego przechowywania wartości TIMESTAMP Z LOKALNĄ STREFĄ CZASOWĄ. Zwróć uwagę, że wartości są konwertowane do/z strefy czasowej sesji podczas wstawiania/wybierania, więc w rzeczywistości nie jest to tak ważne, jak się wydaje
- To NIE jest strefa czasowa SYSDATE/SYSTIMESTAMP
- Strefa czasowa systemu operacyjnego bazy danych
- W systemie Unix bazuje na zmiennej TZ podczas uruchamiania Oracle
- To jest strefa czasowa SYSDATE i SYSTIMESTAMP
W pierwszym przykładzie widzę, że sesja TZ to UTC-6, baza danych TZ to UTC, a strefa czasowa systemu operacyjnego bazy danych to UTC-6.
W twoim drugim przykładzie widzę, że sesja TZ to UTC-6, baza danych TZ to UTC+2, a strefa czasowa systemu operacyjnego bazy danych to UTC+1.