데이터베이스 - 데이터베이스 서버 원격 접속

데이터베이스 원격 접속

실제로 우리가 데이터베이스를 실무에서 사용할 때는 데이터베이스를 컴퓨터에 저장하기 보다는 원격으로 접근한다. 따라서 네트워크 연결을 하는 법을 알아야 한다. 그리고 이 때 id를 공유하면서 동시에 작업할 수 있다.

이제 데이터베이스 원격 접속을 연습해보도록 하겠다. 데이터베이스 서버와 클라이언트 부분 나눠서 살펴보자.


데이터베이스 서버


우리가 처음에 데이터베이스 서버를 실행한 뒤 클라이언트에서 데이터베이스에 접속했듯이 원격 접속을 위해서는 접속할 준비를 해주어야 한다.

따라서 네트워크를 보통 listener(클라이언트가 요청하는 지 듣고 있다..)라고 말하고, 클라이언트는 준비된 네트워크를 찾아간다.

먼저 데이터베이스 서버가 실행되었는지 확인하자. 이를 위해서 다음의 경로로 접근한다.

탐색기 > 내컴퓨터 보안(오른쪽 버튼) > 서비스 및 응용 프로그램 > 서비스


여기서 처음에 오라클 데이터베이스 서버가 실행되고 있는지를 확인했던 적이 있을 것이다. 이번엔 네트워크 기능을 수행할 수 있는지를 보겠다. OracleOraDB12H~ 파일의 상태가 시작되었는지를 확인하자. 시작됨이라면 우리는 네트워크를 사용하여 데이터베이스 서버에 접근이 가능하다.


클라이언트


서버가 실행되어 있다는 것을 확인했다. 다음은 클라이언트 부분을 살펴보겠다. 먼저 오라클 데이터베이스가 깔린 곳으로 이동 하고, 다음의 경로로 접근하자.

C > app > kitcoop > product > 12.0.0 >  dbhome_1 > network > admin

해당 경로에 접근하면, 다음과 같은 형태로 구성되어 있을 것이다. 여기서 우리가 사용할 부분은 tnsnames.ora라는 네트워크 관련 파일이다.

해당 파일의 속성에 들어가서 보안 탭을 들어간다.


여기서 편집 탭을 누르자.


그럼 다음처럼 권한 설정을 할 수 있는 창이 나타난다. 여기서 Authenticated Users 사용자에게 모든 권한을 허용하고 적용한다.

이제 해당 파일을 메모장으로 실행시켜보자.


이제 해당 파일 안에 원격 접속을 위해 내용을 입력할 것이다.



sqlplus 클라이언트 통해서 접속
  • tnsnames.org : 원격 컴퓨터에 대한 설정 사항을 저장(ip, port, sid 세 가지가 필요 + 사용자 id와 암호)
  • remote라는 항목을 tnsnames.org 파일 아래 추가한다(메모장을 열어서). 이 때 접근할 컴퓨터의 ip, port, sid를 설정한다. 이 경우에는 ip값만 다르기 때문에 다른 값은 건들 필요는 없고, ORCL에서 host 값만 변경하면 된다.


tnsname.org 내부에 remote를 입력하고 저장하였으면, 접속을 위한 준비는 끝이났다. 이제 접속해보도록 하자.

우리가 오라클 데이터베이스를 설치하였을 때 sid를 orcl로 설정해주었었다. 따라서 지금까지 데이터베이스에 접근할 때 orcl에 대해 scott으로 접근하였었다(물론 로컬에서 접속할 때는 orcl을 입력하진 않았다).


이제 remote에 대해서도  클라이언트에서 접속이 제대로 이루어지고 있는지를 확인하겠다.

마찬가지로 cmd 창에서 sqlplus scott@remote 라고 입력한다. sqlplus를 remote에 대해서 scott 계정으로 접근한다는 의미인듯 하다. 그리고 비밀번호는 tiger를 입력하면 된다.


이제 제대로 접속이 이루어졌고, 이제까지 다루었던 것처럼 sql문을 사용할 수 있게 되었다.


우리가 앞서서 오라클에서 제공하는 클라이언트는 3가지가 있다고 했었다. sql developer 역시 클라이언트이다. 따라서 이를 통해서도 원격 데이터베이스 서버 접속이 가능하다.



접속 이름은 아무거나 설정 가능하다.
접속 유형 : TNS
네트워크 별칭: REMOTE
사용자: scott, 비밀번호: tiger



다음처럼 localhost 외에 remote라는 접속이 생겼다. 이를 통해서 원격으로 데이터베이스에 연결할 수 있다.

댓글

이 블로그의 인기 게시물

데이터베이스 PL/SQL - 배열과 테이블

데이터베이스 PL/SQL 변수선언

데이터베이스 PL/SQL 제어문 - 반복문