OS: linux 7.5 DBMS: oracle 19.3 |
[목차여기]
- 리스너에 time zone을 설정하면 해당 리스너로 접속하는 세션은 설정한 시간대로 적용
- 리스너별 시간대를 다르게 설정하는것도 가능(리스너 여러개 사용)
- sysdate, systimestamp 값을 통해 확인 가능
참고: oracle alert.log 시간대(time zone) 기준은 무엇인가
참고: oracle 오브젝트 생성시간은 어떤 시간대(time zone)
리스너 TZ 설정
listener.ora 파일에 (ENVS='TZ=UTC') 구문 추가하여
해당 리스너를 통해 접속하는 세션들은 UTC 타임존을 사용하도록 설정합니다
[ora19ent@svr ~]$ cat /ora19ent/product/network/admin/listener.ora
# listener.ora Network Configuration File: /ora19ent/product/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = svr)(PORT = 1522)))
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(ORACLE_HOME = /ora19ent/product)
(SID_NAME = ent19)
(ENVS='TZ=UTC')
)
)
리스너 재기동 후 설정확인
ENVS='TZ=UTC,ORACLE_HOME=/ora19ent/product,ORACLE_SID=ent19')
이 부분을 통해 잘 적용된 것을 확인가능합니다
[ora19ent@svr ~]$ lsnrctl
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 16-FEB-2024 16:23:22
Copyright (c) 1991, 2019, Oracle. All rights reserved.
Welcome to LSNRCTL, type "help" for information.
LSNRCTL> set displaymode verbose
Service display mode is VERBOSE
LSNRCTL> services
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=svr)(PORT=1522)))
Services Summary...
Service "ent19" has 1 instance(s).
Instance "ent19", status UNKNOWN, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:4 refused:0
LOCAL SERVER
(ADDRESS=(PROTOCOL=beq)(PROGRAM=/ora19ent/product/bin/oracle)(ENVS='TZ=UTC,ORACLE_HOME=/ora19ent/product,ORACLE_SID=ent19')(ARGV0=oracleent19)(ARGS='(LOCAL=NO)'))
The command completed successfully
LSNRCTL> exit
리스너 통하여 접속
세션 시간대는 KST이지만 sysdate 값은 UTC로 보이는 것 확인됩니다
[ora19ent@svr ~]$ sqlplus system/oracle@ent19
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SELECT dbtimezone, sessiontimezone, sysdate, current_date FROM dual ;
DBTIME SESSIONTIMEZONE SYSDATE CURRENT_DATE
------ ----------------------------------- ------------------- -------------------
+00:00 +09:00 2024/02/16 07:16:36 2024/02/16 16:16:36
리스너 통하지 않고 local 접속
리스너를 통하지 않고 접속 시 OS의 기본값인 KST 시간대로 적용된것을 확인 할 수 있습니다
[ora19ent@svr ~]$ ss
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SELECT dbtimezone, sessiontimezone, sysdate, current_date FROM dual ;
DBTIME SESSIONTIMEZONE SYSDATE CURRENT_DATE
------ ----------------------------------- ------------------- -------------------
+00:00 +09:00 2024/02/16 16:10:37 2024/02/16 16:10:37
'DBMS > ORACLE' 카테고리의 다른 글
[oracle] 아카이브 진행 중인 로그 삭제 시 에러, ora-16014, ora-19508, ora-16038 (0) | 2024.03.15 |
---|---|
[oracle] 스케줄러(dbms_scheduler) 실행 시간대(time zone) (0) | 2024.02.22 |
[oracle] alert.log 시간대(time zone) 기준은 무엇인가 (0) | 2024.02.18 |
[oracle] 오브젝트 생성시간은 어떤 시간대(time zone) (0) | 2024.02.17 |
[oracle] 테이블 LOB Object 이름 지정 (0) | 2024.02.08 |
댓글