주제 |
m1 mac 에서 docker 를 통해 oracle 접속하기
개요 |
1) Homebrew 설치 (관련 글 : https://db-master.tistory.com/5)
2) Colima, Docker 설치
3) Oracle 서버 띄우기
4) DBeaver 설치
5) DBeaver 에서 접속하기
6) 참고 : Colima 로 Oracle 다시 띄우기 위한 설정
7) (중요!) 종료 후 재연결할 시엔 아래의 명령어로 하면 안 된다. (관련 글 : https://db-master.tistory.com/6 )
문제 |
기존에 맥북 인텔을 사용하면서 도커를 띄워 오라클을 연결한 적이 있었다. 그때는 GUI 로 도커를 띄우고, 오라클 접속을 시도했을 때, 도커 내부 터미널에서는 sqlplus 가 접속이 되었으나 외부 = 내 맥 환경에서의 터미널 및 DataGrip 에서는 접속이 안 되었다. 그 당시에는 리스너가 떠있는지 확인하는 등 오라클 접속 시 필요한 거의 대부분의 경우의 수를 확인했으나, 포트포워딩을 해주지 않아서 생긴 문제였기에, 몇 번이나 포트포워딩을 재확인하며 시도했으나 실패했다.
더 알아보니 m1 mac은 아키텍쳐가 달라서 Colima 를 이용해서 띄워야한다고 한다.
이미지를 x86_64 환경으로 변형해서 띄워주어야 하기 때문에, 도커 GUI 환경보다 CLI 환경이 더 편하게 느껴져 CLI 로 환경을 구축하는 방법을 기록한다.
(이후에 CLI로 컨테이너 띄운 후 DBeaver 에서 접속 성공하였으나, 도커 데스크탑에서의 시도는 실패하였다.)
해결 |
1) Homebrew 설치
관련 글 : [IT Etc] - [mac] homebrew 설치 및 확인 방법
2) Colima, Docker 설치
1. brew 로 colima 설치
brew install colima
2. 도커 설치 확인
(데스크탑 버전이 설치되어 있다면 docker 명령어가 들을 것이다.)
docker version
위 명령어가 잘 듣는다면 다음 단계로
안 된다면 도커 엔진 설치
brew install docker
3. Colima 를 x86_64 환경으로 띄우기
colima start --memory 4 --arch x86_64
3) Oracle 서버 띄우기
1. Oracle 서버 띄우기
docker run --restart unless-stopped --name oracle -e ORACLE_PASSWORD=oracle -p 1521:1521 -d gvenzl/oracle-xe
PASSWORD=oracle 부분에서 oracle 이라 적은 부분은 임의로 넣은 패스워드이므로 원하는 패스워드 입력
추가로 --name 옆의 oracle 또한 컨테이너명을 임의로 설정한 것이다.
2. 로그 확인
docker logs -f oracle
oracle 은 컨테이너명 (설정한 컨테이너명으로 명령어 입력)
결과 > Database mounted 및 DATABASE IS READY TO USE! 가 출력
4) DBeaver 설치
기존에서는 회사에서 공유해준 회사계정이 있었기 때문에 DataGrip 을 사용했으나, 무료 DB 접속 툴로 자주 애용되는 DBeaver 를 설치하여 진행하였다.
5) DBeaver 에서 접속하기
1. 접속 정보
- Host : localhost
- Database : SID 으로 바꾼 후 입력란에 XE 입력
- Port : 1521
- Username : system (as sysdba)
- Password : oracle
2. 새 SQL 시트에서 간단히 테스트
select 'test' as TEST from DUAL
6) 참고 : Colima 로 Oracle 다시 띄우기 위한 설정
# docker ps -a 로 컨테이너 ID 확인 : 종료된 컨테이너 목록까지 조회
docker start {CONTAINER_ID}
docker run --restart unless-stopped --name oracle -e ORACLE_PASSWORD=oracle -p 1521:1521 -d oracle
# 이후 띄울 때는 docker start oracle 만 입력해주면 된다.
7) (중요!) 종료 후 재연결할 시엔 아래의 명령어로 하면 안 된다.
'Server > Oracle' 카테고리의 다른 글
[oracle] 계정 생성 후 접속시 logon denied : privileges 에러 해결 (0) | 2023.08.23 |
---|---|
[m1 mac][ORA-00959] 도커 오라클에서 테이블스페이스 생성 및 사용자 생성 오류 - 오라클 세션 설정 후 오류 해결 (0) | 2023.08.23 |
[m1 mac] docker 에서 oracle 내부로 접속하여 .dat 파일 삭제하기 (0) | 2023.08.23 |
Oracle 테이블스페이스부터 계정 권한 추가까지 (0) | 2023.08.23 |
[Mac M1] 종료 후 재실행 시 Docker 로 Oracle 다시 접속하기 (0) | 2023.08.19 |