■ client 환경에서의 오라클 접속
1. 간단한 연결 방식(Easy Connect)
- 기본적으로 활성화
- client 측에 구성이 필요 없다.
- TCP/IP 만 지원한다.
2. 로컬 이름 지정 방식
- client 측에 이름 분석(names resolution) 필요
- 모든 oracle net 프로토콜 지원
#) client용 network 파일 위치
$ORACLE_HOME/network/admin/tnsnames.ora
#) window 상에서의 파일 위치
C:\oraclexe\app\oracle\product\11.2.0\server -> ORACLE_HOME
C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN\tnsnames.ora-> 메모장으로 오픈
#) 메모장 오픈 -> 추가 및 변경
ora11g =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.108)(PORT = 1522))
(CONNECT_DATA =
(SERVICE_NAME = ora11g)
)
)
#) SQL Developer sys 접속
1) 포트 1522 변경 후 테스트
2) 접속환경 기본 -> TNS 변경
3) 네트워크 별치(E) : ora11g
3) 테스트 -> 상태: 성공
4) 접속
SELECT * FROM v$instance;
■ Database Link
- 데이터베이스 링크란 다른 데이터 베이스의 객체에 액세스할 수 있도록 하는 데이터베이스 객체이다.
1. client XE DB 에 tnsnames.ora 내용 추가
#1) client용 network 파일
$ORACLE_HOME/network/admin/tnsnames.ora
#2) 메모장 오픈 -> 추가 및 변경
ora11g =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.108)(PORT = 1522))
(CONNECT_DATA =
(SERVICE_NAME = ora11g)
)
)
2. XE DB에서 remote ora11g로 접속
#1) cmd 창 접속
- xe 에 있는 hr 유저에서 시스템 권한 확인
C:\Users\ITWILL>sqlplus hr/hr@ora11g
또는
SQL> conn hr/hr@ora11g
Connected.
3. XE 환경 hr 계정
SQL> select * from session_privs;
PRIVILEGE
-----------------------------
...
CREATE DATABASE LINK
...
4. XE 에 있는 hr 에 데이터베이스 링크를 생성
<XE 버전, hr session>
#) DB link 생성
CREATE DATABASE LINK ora11g_hr
CONNECT TO hr IDENTIFIED BY hr
USING 'org11g';
#) 생성 확인
SELECT * FROM user_db_links;
#) XE 버전
SELECT * FROM departments;
#) ora11g_hr 버전
SELECT * FROM departments@ora11g_hr;
#) insa01 계정 DB link 생성 후 hr 계정에서 진행
CREATE DATABASE LINK ora11g_insa01
CONNECT TO hr IDENTIFIED BY oracle
USING 'org11g';
#) 생성 확인
SELECT * FROM user_db_links;
#) ora11g_hr 버전
SELECT * FROM dept@ora11g_insa01;
select e.employee_id, e.last_name, d.department_name
from employees e, dept@ora11g_insa01 d
where e.department_id = d.department_id
and e.jod_id = 'AD_VP';
tip) database link 생성 후 select 에서 수행이 되지 않는다면?
sql문을 일일이 작성해야 할 것.
5. DB link 삭제
drop database link ora11g_insa01;
6. XE dba 로 접속해서 public database link 생성
SQL> sqlplus / as sysdba
#) 생성
create public database link orallg_insa01
connect to insa01 IDENTIFIED by oracle
using 'ora11g';
#) 생성 확인
select * from dba_db_links;
7. xe 버전에서 hr session 접속
select * from all_db_links;
#) 실행되는지 Join문으로 확인
select e.employee_id, e.last_name, d.department_name
from employees e, dept@ora11g_insa01 d
where e.department_id = d.department_id
and e.job_id = 'AD_VP';
8. XE dba 로 접속해서 public synonym 생성
- synonym : 동의어를 생성해주는 명령
기본식 : create (public / or replace) synonym 변경될 이름 for 변경할 이름(객체);
#) 테이블명 짧게 생성
create public synonym ora11g_dept for dept@ora11g_insa01;
#) 생성 확인
select * from dba_synonyms where synonym_name = 'ORA11G_DEPT';
9. XE 버전 hr 접속 synonym 확인
select * from all_synonyms where synonym_name = 'ORA11G_DEPT';
#) 확인
select e.employee_id, e.last_name, d.department_name
from employees e, ora11g_dept d
where e.department_id = d.department_id
and e.job_id = 'AD_VP';
10. XE dba 접속 public 삭제
drop public synonym ora11g_dept;
drop public database link ora11g_insa01;
'Data Base > Linux' 카테고리의 다른 글
240105 Architecture _ server 구성 (0) | 2024.01.05 |
---|---|
240105 Oracle DB Linux _ Static Service 등록 (0) | 2024.01.05 |
240104 Oracle DB Linux _ PORT 변경 방법 (0) | 2024.01.04 |
240104 Oracle DB Linux_Oracle Network (2) | 2024.01.04 |
240104 Oralce DB Linux _ SQL LOADER (0) | 2024.01.04 |