접속하기에 앞서 Oracle DB는 기본적으로 로컬 접속이다.
따럿 원격 접솔을 위한 설정을 변경해주어야 한다.
cmd를 통해 SQL plus에서 실행하면 된다.
sqlplus sys as sysdba
EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);
혹은 SQL plus에서 아래와 같이 로그인해도 된다.
C:\app\사용자\product\21c\dbhomeXE\network\admin\sample폴더에서
tnsnames.ora와
listener.ora를 수정해야한다.
tnsnames
(ADDRESS=
[ (COMMUNITY=<community_name>) ]
(PROTOCOL=tcp)
(HOST=IP주소)
(PORT=<portnumber (1521 is a standard port used)>)
)
(ADDRESS
[ (COMMUNITY=<community_name>) ]
(PROTOCOL=tcp)
(HOST=IP주소)
(PORT=<portnumber (1521 is a standard port used)>)
)
# LISTENER =
# (ADDRESS_LIST=
# (ADDRESS=(PROTOCOL=tcp)(HOST=IP주소)(PORT=1521))
# (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY)))
간단하게 말하면 tnsname과 listener에 있는 localhost라고 써있는 부분을 자신의 ip주소로 바꾸면 된다(당연하다. 상식적으로 생각하면 localhost라고 써있는걸 보고 다른 컴퓨터가 어떻게 DB를 찾아갈 수 있을까? 를 생각하면 이해가 간다.)
수정후
cmd에서
lsnrctl stop
lsnrctl start
두 문장을 실행해서 lsnctrl을 껐다 켜라(귀찮으면 그냥 컴퓨터 껐다 켜도 될듯)
이러면 일단 오라클 DB에 주소를 표기 해준거라고 생각하면 된다.
이후 본인컴퓨터(서버)를 들어가면 원래 잘되던 서버가 안들어가 질텐데 호스트이름을 수정하지 않아서 그렇다.
원래는 localhost로 적어놔서 localhost로 접속되어지는데 우리가 ip주소로 바꿔버렸기때문에 안되는거다.
그냥 호스트이름을 본인 ip주소로 바꾸면된다.
Name, 사용자이름, 비밀번호, 호스트이름, 서비스이름은 본인에 맞게 입력해야한다.(자신이 만든DB적는것이다.)
--------------------------------------------------------------------------------------
이걸 하는 이유가 데스크탑에서 코딩하다가 노트북에서도 하기위해서인데
이를 위해서는 서버컴의 포트를 열어 줘야한다.
windows defender 방화벽/고급설정
인바운드규칙/ 새규칙
포트선택/프로토콜 및 포트/특정 로컬포트 1521/
서버컴을 이렇게 포트를 열어주고
다른컴에서 잘 접속하면 된다.
Name, 사용자이름, 비밀번호, 호스트이름, 서비스이름은 본인에 맞게 입력해야한다.
'2022 > Oracle' 카테고리의 다른 글
Oracel-SQL VIEW만들기 (0) | 2021.12.29 |
---|---|
Oracle-SQL ROWNUM 작성법 (0) | 2021.12.28 |
Oracle-SQL ROWNUM이 >1일때 왜 출력이 안될까? (0) | 2021.12.28 |
ORACEL-SQL 줄 번호 붙이기 (0) | 2021.12.28 |
Oracle-UPDATE, DLETE, INSERT, SELECT(작성중) (0) | 2021.12.21 |