안녕하세요.
이번 포스팅에서는 이전에 설치했던 오라클 12c에 원격으로 토드나 오렌지 등의 툴로 접속 할 수 있도록 리스너를 설정해보도록 하겠습니다.
물론 리눅스에서 sqlqlus를 이용할 순 있지만 사용에 불편함이 있는건 사실이죠?
그래서 저는 개인적으론 토드를 사용하는편인데 클라이언트를 관리자모드로 설치를 했더니 오라클 Developer도 설치가 되어버렸네요.
아무튼, 툴로 원격접속을 가능하도록 설정해보도록 하겠습니다.
[리눅스/DB] 오라클12c 원격접속을 위한 리스너 설정
우선 oracle 계정으로 진행을 하겠습니다.
이전에 저는 공용계정으로 c##doubleh 계정을 생선한 상태입니다.
우선 리스너가 실행중이라면 리스너를 정지해주세요.
명령어 : lsnrctl stop
listener.ora파일을 먼저 수정해보도록 할게요.
해당 파일의 경로는 ~/db/product/12.1.0/dbhome_1/network/admin 아래에 있습니다.
물론 저와 다르게 db디렉토리가 아닌 다른 디렉토리로 설정하신 분들도 계실텐데요.
해당 위치로 찾아가보시면 다양한 .ora파일들이 있을거예요.
그 중 우선 listener.ora 파일을 열어주세요 .
기존에 있던 리스너 내용을 아래와 함께 수정해주세요.
LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 서버IP)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) ) SID_LIST_LISTENER = (SID_LIST= (SID_DESC= (ORACLE_HOME=/home/oracle/db/product/12.1.0/dbhome_1) (SID_NAME=orcl) ) ) ADR_BASE_LISTENER=/home/oracle두번째 수정파일을 tnsnames.ora 입니다.
이 파일은 아마 많이들 보셨을텐데요. 주로 클라이언트 툴을 이용할 때 해당 파일을 호출해서 사용하곤 하죠.
이 파일을 수정해보도록 할게요.
아마 오라클 설치 시 별도 변경을 하지 않으신 분들은 서비스와 SID 명이 동일하실거예요.
자신이 설치하셨을 때 이름 기준으로 해당 파일이 만들어져 있을텐데요. IP등 필수 정보들만 맞게 변경해주세요.
ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 서버IP)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) (SID=orcl) ) )마지막 수정파일은 sqlnet.ora파일입니다.
아마 윗줄은 있으실텐데요, 밑의 BASE 경로를 추가해주세요.
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT) ADR_BASE = /home/oracle이제 리스너를 다시 시작하고 상태를 확인해주세요.
시작 명령어 : lsnrctl start
상태확인 명령어 : lsnrctl status
현재 1521 port는 방화벽 정책에 들어있지 않을거예요.
방화벽 정책에 추가해주세요.
[root@os7:~]# firewall-cmd --zone=public --add-port=1521/tcp --permanent success [root@os7:~]# firewall-cmd --reload success [root@os7:~]# systemctl restart firewalld.service그리고 이제 접속 테스트를 해보시고 정상 접속 되는지 확인하시면 됩니다.
저는 두가지 툴로 모두 테스트했는데 정상 작동 되네요.
이렇게 DB서버에 클라이언트 원격접속 설정까지 완료했습니다!
VirtualBox + CentOS7 + Oracle12c 환경에서 외부 접속을 허용하기 위한 설정
1. 관리의 편함을 위해 sshd 를 설치 합니다.
참고: //avilos.codes/system/linux/centos-ssh-installation/
2. VirtualBox 설정
네트워크 NAT 설정 확인 및 포트 포워딩 설정
참고 :: //hahaite.tistory.com/283
ssh 22, oracle 1521 을 등록합니다.
3. 오라클 외부 접속 설정
참고 :: //kkamagistory.tistory.com/366
리스너 정지후, 파일 3개를 수정합니다.
리스너 정지 lsnrctl stop
수정파일:listener.ora
# listener.ora Network Configuration File: /home/oracle/db/product/12.1.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =
10.0.2.15)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
SID_LIST_LISTENER =
(SID_LIST=
(SID_DESC=
(ORACLE_HOME=/home/oracle/db/product/12.1.0/dbhome_1)
(SID_NAME=orcl)
)
)
ADR_BASE_LISTENER=/home/oracle
수정파일:tnsnames.ora
# tnsnames.ora Network Configuration File: /home/oracle/db/product/12.1.0/dbhome_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.2.15)(PORT = 1521))
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =
10.0.2.15)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
(SID=orcl)
)
)
수정파일:sqlnet.ora
# sqlnet.ora Network Configuration File: /home/oracle/db/product/12.1.0/dbhome_1/network/admin/sqlnet.ora
# Generated by Oracle configuration tools.
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
ADR_BASE = /home/oracle
리스너 다시 시작 : lsnrctl start
리스너 상태 확인 : lsnrctl status
접속 확인 : tnsping 10.0.2.15 10
4. 오라클 1521 포트 방화벽 정책 추가 ( 1번항목 참조 하여 22 대신 1521을 추가 )
5. sqldeveloper 를 다운받아 접속 테스트
저는 taisou 라는 계정을 추가해서 테스트 하였습니다.
환경설정완료!!