oracle 클라이언트에서 서버접속하기 ...
오라클 클라이언트에서 서버로 접속하는 방법
자료제공 : shop-wiz.com[숍위즈 - 폰돌]
oracle 10g 를 기본으로 설명
프로그램 > Oracle-OraDb10g_home1 > Configuration adn Migration Tools > Net Manager 선택
[ 주의 : 오라클 버전마다 틀립니다 ]
“서비스 이름 지정” 을 추가.
네트 서비스 이름이란 서버쪽의 어떤 연결을 클라이언트에서 사용하기 위한 별칭이라고 생각하면 됨.
자기가 사용하고 싶은대로 이름을 선택하면 됨.
Toad 같은 관리프로그램이나 기타 프로그램에서 오라클의 접속들을 구분하는 이름이 됨
서버와 클라이언트가 데이터를 주고 받는 네트워크 프로토콜을 선택해야 함
보통 TCP/IP 프로토콜을 사용, 특수한 목적이 있을때는 다른 프로토콜을 선택하면 됨.
TCP/IP 프로토콜은 기본적으로 1521 번 포트를 사용해서 데이터를 주고 받음.
호스트명 : 서버의 IP Address 또는 도메인명을 입력함.
포트번호 : 기본값 1521, 방화벽을 지나가면서 포트번호가 바뀌거나 서버에서 다른 포트를 사용하는 경우에는 적절한 값을 입력
접속할 오라클 데이터베이스의 SID 를 입력함. 모를 경우에는 관리자에게 문의하여 알아내야 함.
접속이 정상적으로 되는지 테스트를 할 수 있음.
테스트 버튼을 눌러서 테스트 시작
테스트 버튼을 누르면 scott / tiger 로 테스트함.
다른 아이디로 테스트를 하고 싶을때는 “로그인 변경..” 버튼을 선택한 후 사용자명과 암호를 변경한 후 다시 시도.
ORA-12560: TNS:프로토콜 어댑터 오류
set ORACLE_SID=~~
◈ 리스너(Listener)란?
- 오라클 리스너는 네트워크를 이용하여 클라이언트에서 오라클 서버로 연결하기 위한
오라클 네트워크 관리자 입니다.
- 오라클에서 네트워크를 통한 연결은 모두 리스너가 담당하며 리스너와 연결되기
위해서는 클라이언트에 오라클 NET8이 설치되어 있고 이를 통해 오라클 서비스명이라는 것을
만들어 접속해야 합니다.
- 오라클 서버에서 리스너를 시작시켜줘야 클라이언트들이 접속할 수 있습니다.
- lsnrctl명령어로 리스너를 관리 할 수 있습니다.
-- 리스너 시작하기 C:>lsnrctl LSNRCTL for 32-bit Windows: Version 8.1.6.0.0 - Production on 01-MAY-2002 23:34:57 (c) Copyright 1998, 1999, Oracle Corporation. All rights reserved. LSNRCTL에 오신 것을 환영합니다. 정보를 보시려면 "help" 를 입력하십시오. -- start를 입력하면 리스너가 시작됩니다. LSNRCTL>start |
-- 리스너 관련 명령어들
시작시 : LSNRCTL> start
멈출 때 : LSNRCTL> stop
재시작시 : LSNRCTL> reload
서비스 상태보기 : LSNRCTL> status
명령어 보기 : LSNRCTL> help
오라클 서버/클라이언트간의 네트워크 설정을 하기위해서는 서버에서는 listener.ora파일을 그리고
클라이언트에서는 tnsnames.ora파일을 설정해 주어야 합니다. ◈ listener.ora - 오라클 서버에서 클라이언트의 요청을 듣고, 클라이언트와의 통신을 환경을 설정하는 파일입니다. - 오라클 서버에 존재하며, 오라클 클라이언트에서 서버로 접속할 때 필요한 프로토콜 및 포트정보등을 설정하는 파일 입니다. - 프로토콜은 주로 TCP/IP가 많이 사용됩니다. ◈ tnsnames.ora - 오라클 Client측에서 오라클 서버로 접속할때 필요한 프로토콜 및 포트번호, 서버주소, 인스턴스등을 설정해주는 파일로서 클라이언트에 위치 합니다. * 참고 - listener.ora와 tnsnames.ora파일의 위치는 ORACLE_HOME/network/ADMIN/에 존재 합니다. - linstener.ora와 tnsnames.ora는 둘다 오라클 설치시 Net8 configuration 작업을 해주면 생성이 됩니다. 참고 사이트 |
프로그램 -> Oracle - OracleHome92 -> Configuration and Migration Tools -> Net Configuration Assistant
를 실행 시킵니다.
1. Net Configuration Assistant 시작 화면
Net Configuration Assistant를 시작하면 나오는 화면에서 "로컬네트 서비스 이름 구성"을 선택하고서 "다음" 버튼을 클릭 합니다.
2. 네트워크 서비스 이름 관리 화면
"추가" 버튼을 클릭해서 새로운 서비스를 생성 합니다.
"수정"은 기존의 서비스를 수정하고, "삭제"를 누르면 서비스가 삭제 됩니다.
3. 데이터베이스 버전 지정
액세스할 오라클 데이터베이스 또는 서비스의 버전을 지정 합니다. 오라클 서버의 버전을 선택해야 합니다.
4. 서비스 이름 지정
Oracle9i 데이터베이스 또는 서비스에 서비스 이름을 입력해야 합니다.
Oracle9i 데이터베이스의 서비스 이름은 일반적으로 전역 데이터베이스명입니다
오라클 서버에 init<<SID>>.ora파일에 지정되어 있는 SERVICE_NAMES 파라미터의 값을 입력하면 됩니다.
* 참고 : 일반적으로 오라클을 설치할 때 db_name, instance_name, service_names을 같게 합니다. 오라클 서버의 init<<SID>>.ora파일을 열어서 확인해 보시기 바랍니다.
5. 프로토콜 선택화면
네트워크상에서 데이터베이스와 통신할 때는 네트워크 프로토콜이 사용됩니다.
액세스할 데이터베이스에 사용되는 프로토콜을 선택 합니다. .
보통 TCP/IP를 많이 사용 합니다. "TCP"를 선택하고 다음 으로 진행 합니다.
6. TCP/IP 프로토콜 입력 화면
오라클 서버의 IP주소를 입력 하고, 서버의 listener.ora파일에 지정한 포트번호를 입력합니다.
호스트 이름은 오라클 서버의 listener.ora파일에 지정한 HOST명과 일치해야 합니다.
7. 네트워크 접속 테스트
오라클 서버와의 네트워크 접속을 테스트 할 것 인지 선택 합니다.
"예"를 선택하고 "다음"으로 진행 합니다.
8. 네트워크 접속 테스트 표시내용
오라클 서버와의 접속에서 성공했는지 상세내용을 보여줍니다.
- 여기서 에러가 발생할 경우 로그인 변경을 클릭해서 오라클 서버에 존재하는 유저로
테스트를 한번더 해 보세요
- 그래도 에러가 발생하면 오라클 서버의 HOST, PORT, SID가 이전 단계에서 입력한
값들과 일치 하는지 확인해 보세요
9. 테스트 서비스 이름 지정
네트워크 접속 테스트 까지 에러가 발생하지 않으면 앞으로 오라클 서버에 접속할 때 사용하게될
서비스 예명을 입력 합니다.
아래와 같이 TestDB로 입력할 경우 오라클 서버에 접속하기 위해서는
SQLPLUS scothttps://t1.daumcdn.net/cfile/blog/TestDB
이렇게 비밀번호 뒤에 @기호와 이번단계에서 입력한 서비스명을 입력하면 됩니다.
10. 다른 네트워크 서비스 구성
다른 네트워크 서비스 관리를 계속 할 것인지 확인 하는화면이 나옵니다.
"아니오"를 선택하고 "다음"으로 진행 합니다.
11. 네트워크 서비스 구성 완료
네트워크 서비스 생성이 성공적으로 이루어 졌습니다.
"다음" 버튼을 누르고 "완료" 버튼을 클릭해서 창을 닫습니다.
SQLPLUS를 실행 시켜서 오라클 서버에 접속해 보세요.
C:>SQLPLUS scothttps://t1.daumcdn.net/cfile/blog/TestDB
접속시 에러가 발생할 경우에는 다시 한번 Net8 Configuration Asistant를 실행시켜서
설정 사항들을 확인해 보세요
Net8 Configuration Asistant설정 완료후 tnsnames.ora파일을 열어 봅니다. 아래와 같은 TESTDB라는 서비스가 새로 생성된 것을 알 수 있습니다. 위의 과정과 같이 Net8 Configuration Assistant을 실행해서 서비스를 생성 할 수도 있고, 아니면 직접 tnsnames.ora파일을 에디터로 편집해서도 생성 할 수 있습니다.
TESTDB = -->SQLPLUS에 접속 할 때 사용되는 서비스명 ex)SQLPLUS scothttps://t1.daumcdn.net/cfile/blog/TESTDB
(DESCRIPTION =
(ADDRESS_LIST = -->HOST : 오라클 서버의 IP 주소
(ADDRESS = (PROTOCOL = TCP)(HOST = 211.175.39.30)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oracle) --> 오라클 서버에 SERVICE_NAME
)
)