다른 DBMS에도 존재하지만 PostgreSQL에서 종종 필요한 부분들은 DBLINK로, 다른 종류의 DBMS와 연결을 통해
원하는 정보를 가져오는 것이다.
이번 글에서는 Docker로 Oracle DBMS 컨테이너를 생성, PostgreSQL에서 oracle_fdw를 설치, 외부 테이블을 만들어
조회하는 것을 2개의 글로 나누어 구성해 볼 것이다.
첫번째 글은 Oracle DBMS 12버전을 docker 컨테이너로 올리는 부분이다.
두번째 글에서는 postgreSQL 12버전에서 oracle_fdw 확장 프로그램을 설치하여 Oracle에 있는 테이블을 조회하는 것을 다뤄보겠다.
Docker 환경에서 Oracle 사용하기
-
Migrator나 DBLINK 등의 연결방식의 환경 테스트가 필요한 경우에 유용할듯
-
Migration Test 진행할 때에 개인적으로 사용 가능할듯.
-
oracle docker 이용을 위해서는 최소 30기가 정도의 디스크 공간이 필요하다.
docker image pull을 위한 작업들
- Docker Hub에서 login 후 진행해야 한다
- https://hub.docker.com/_/oracle-database-enterprise-edition (2020.03)
- 접속하여 Proceed to checkout 버튼 클릭 후 정보 입력
- 사용하고자 하는 Docker 환경에 터미널 연결
- docker login 명령어로 docker hub 아이디/암호 입력
- docker pull store/oracle/database-enterprise:12.2.0.1 명령으로 image 다운로드
Oracle Docker Container 실행
-
oracle.env 파일 생성(유저,암호 등 설정파일)
TZ=Asia/Seoul ORACLE_SID=ORCL ORACLE_PDB=MYORCL ORACLE_PWD=oracle ORACLE_CHARACTERSET=UTF8
-
env 파일 load 하는 방식으로 컨테이너 생성.
docker run -d --name sean_ora12c --env-file ./oracle.env -p 1521:1521 -it store/oracle/database-enterprise:12.2.0.1 ## volume 사용시 ##docker run -d --name sean_ora12c --env-file ./oracle.env -p 1521:1521 -it -name sean_ora12c -v /root/:/ORCL store/oracle/database-enterprise:12.1.0.1 ## slim 버전 ##docker run -d --env-file ./oracle.env -p 1521:1521 -it -name sean_ora12c -v /root/:/ORCL store/oracle/database-enterprise:12.2.0.1-slim ## 컨테이너 내려갔을때 올리기 docker start sean_ora12c # 별도 작업 필요없음
-
docker logs -f sean_ora12c 명령어로 진행상황 확인
The command completed successfully DONE! Remove password info Docker DB configuration is complete ! configDB.sh is done at 297 sec Done ! The database is ready for use .
User 생성 및 권한 설정
- 도커 환경에서 exec로 컨테이너 접근
$ docker exec -it sean_ora12c bash -c "source /home/oracle/.bashrc; sqlplus sys/Oradoc_db1@ORCLCDB as sysdba"
- 유저 생성 및 암호 설정, 권한 설정
alter session set "_ORACLE_SCRIPT"=true;
## 유저 oracle, 암호 orapass
create user oracle identified by orapass;
grant connect, resource, dba to oracle;
- sysdba로 접근 후 DB, SID 확인
docker exec -it sean_ora12c bash -c "source /home/oracle/.bashrc; sqlplus sys/Oradoc_db1@ORCLCDB as sysdba"
SELECT NAME, DB_UNIQUE_NAME FROM v$database;
SELECT instance FROM v$thread;
DBeaver Oracle 접속
- 필요한 드라이버 다운로드 후 DBeaver에 위치 등록.

- 접속 정보 입력 후 접속 테스트(SID = ORCLCDB, 아이디, 암호는 위에서 생성한 대로)

https://hub.docker.com/u/dosroad/content/sub-79223df5-6a1f-4c40-a3b2-96d36ff84172
http://1004lucifer.blogspot.com/2019/11/docker-oracle-12c-oracle.html
oracle xe 18c 설치
'PostgreSQL' 카테고리의 다른 글
bloat postgresql check query (0) | 2021.07.18 |
---|---|
PostgreSQL에 oracle_fdw 설정하기- 2/2 (0) | 2021.01.20 |
PostgreSQL 13(1편 Index size) (0) | 2020.09.27 |
PostgreSQL Toast에 관한 정리 (0) | 2020.09.26 |