현재 맥북에어 m1을 사용중.
이 글을 읽으시는 분은 homebrew , colima , docker로 오라클 DB를 사용하고 계신분이 겪고있는 사람 일 것 이다.
오라클DB를 사용하기 위한 모든 세팅을 마친 후 DBeaver로 SQL문을 실습하는 중 문제를 발견.
SELECT SYSDATE FROM DUAL;
SYSDATE 함수를 실행했더니 현재시간 기준 -9시간 (미국시간) 으로 나오는 것이 아니겠는가..
인터넷 검색으로
ALTER DATABASE SET TIME_ZONE = 'Asia/Seoul';
ALTER SESSION SET TIME_ZONE = 'Asia/Seoul';
다 해봤지만 변경되지 않았음..
이 문제의 해결방법은 docker에 있었다.
m1칩은 docker를 이용해서 오라클DB에 접속하기 때문에 docker의 타임존을 변경을 해주어야 한다.
1. 터미널 실행
2. docker exec -it {컨테이너 ID} /bin/bash
( 참고 : {}은 적지마세요, 컨테이너ID 확인은 터미널에서 docker ps 명령문 실행)
(컨테이너 ID는 개인마다 다르니 참고용으로만 보세요.)
bash로 들어왔으면
3. echo $TZ
4. date
(현재 시간 확인 -- DBeaver에서 SYSDATE로 확인한 시간이 나올것임)
5. export TZ=Asia/Seoul
6. sqlplus system/pass (system계정, system패스워드 - 개인마다 다를 수 있음)
sqlplus를 실행하고 system 계정으로 접속
7. select to_char(sysdate, 'yy-mm-dd hh:mi:ss') from dual;
(SYSDATE 변경된 것 확인)
8. exit (bash로 나옴)
9. sqlplus / as sysdba
10. shutdown immediate
11. startup (시간이 조금 걸림)
마지막까지 해야 재시작하고 SYSDATE가 적용 됩니다.
'DB > 오라클' 카테고리의 다른 글
TRANSACTION(트랜잭션) (0) | 2023.04.14 |
---|---|
CONSTRAINT(제약조건) (0) | 2023.04.14 |