반응형

Oracle Client 를 처음으로 설치해보았다.

요즘에는 Oracle이 없어지는 추세이긴 하나, 그래도 DB 공부를 위하여 설치하였다. 

 

우선 Oracle Client가 왜 필요한지부터 알아 보았다.

Oracle Client 가 필요한 이유는 DB 서버에 접근하기 위함이다.

보통은 AP서버 (Application 서버) 와 DB서버(DBMS가 설치되어있는 서버) 가 분리되어 있기 때문에 서로 연결하기 위해서는 이 Oracle Client 가 필요하다. (큰 회사일수록 AP 서버와 DB 서버는 분리되어있었다.)

필요한 이유와 DB의 구조에 대해서는 아주 잘 정리되어있는 글을 첨부한다.

 

참고 : https://loosie.tistory.com/506

 

DB 동작과정을 이해해보자 (애플리케이션과 DB 커넥션)

DB 동작과정 살펴보기 이 글은 오라클 기준으로 작성하였다. 애플리케이션에서 오라클로의 커넥션 과정의 이해가 필요한 이유는 애플리케이션에서 접속하는 것을 최적화하는 것만으로도 DB의

loosie.tistory.com

따라서 Oracle Client가 필요하고 대부분은 linux 를 사용할 것이기 때문에 OS는 linux 용으로 설치하였다. 

필자의 Oracle 버전은 12.2 버전이였다. 

버전확인을 위한 명령어를 아래에 적는다.

select * from v$version

버전 확인이 끝났다면 해당 버전의 Oracle Client 를 설치한다.

12.2 버전이였으므로 12.2 버전에 해당하는 Oracle Client를 다운받았다.

Oracle Client 버전이 DB 버전보다 낮은건 호환이 잘 될테지만, Oracle Client 버전이 더 높다면 호환이 잘 안될 가능성이 높다. 따라서 버전은 그냥 맞춘다고 외우면 될 것 같다.

rpm 파일로 받아도 된다. rpm으로 받을 경우 rpm 작업으로 설치가 가능하다. 

그러나 필자는 root 로 설치를 하지 않고 경로도 default 값으로 셋팅을 하지 않기 위하여 .zip 파일로 받았다.

다운을 받은 항목은 다음과 같다.

  • instantclient-basic-linux.x64-12.2.0.1.0.zip
  • instantclient-sqlplus-linux.x64-12.2.0.1.0.zip
  • instantclient-sdk-linux.x64-12.2.0.1.0.zip
  • instantclient-precomp-linux.x64-12.2.0.1.0.zip

precomp 를 제외하고 3개만 있어도 괜찮다.

필자가 precomp를 다운받은 이유는 소스를 빌드하기 위함이다.

당연한 얘기지만 Proc 로 개발이된 소스들은 *.h 파일들이 존재해야 빌드가 가능하다. 따라서 precomp 파일도 필요하다.

따라서 설치해놓는 것이 좋다.

 

이제 Ap서버 (Application 서버) 에 해당 *.zip 파일들을 모두 배포한다. (Filezilla , Winscp 등으로 배포)

설치할 계정으로 접속하여 zip 파일을 모두 푼다.

위와같이 나오게 된다. 

이제 실행할 계정의 .bash_profile 에 환경변수를 물려준다. ( 로그인 시 계속 환경변수가 적용되어야 함으로 .bash_profile 에 적용 )

export ORACLE_HOME=/home/dbms/instantclient_12_2
export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH
export NLS_LANG=KOREAN_KOREA.AL32UTF8

적용이 완료되었다면 이제 마지막 단계이다.

tnsnames.ora 를 생성하여 설정하여준다.

tnsnames.ora 는 연결할 DB 서버의 정보들을 넣는 것이다. (ip, port, sid) 

"DBNAME" =
	(DESCRIPTION = 
   		(ADDRESS = (PROTOCOL = TCP) (HOST = "X.X.X.X") (PORT = "port번호"))
		(CONNECT_DATA =
			(SERVER = DEDICATED)
			(SERVICE_NAME = "sid")
		)
	)

"" 가 있는 부분들을 전부 기입하여 넣으면 된다. ("" 는 지우면된다)

이 tnsnames.ora는 아무곳에다 넣어도 된다. 왜냐하면 TNS_ADMIN 이라는 환경변수를 만들어서 넣어줄거라서 명시하면 해주면 된다.

필자는 tnsnames.ora 파일을 생성 후 /home/dbms에 놓았다.

이제 .bash_profile에 맨 밑부분에 아래 항목을 추가해 준다.

export TNS_ADMIN=/home/dbms

이제 .bash_profile 을 다시 물린다. 

# 1번 방법
cd ~; source .bash_profile
# 2번 방법
cd ~; . .bash_profile
# 3번 방법
# 재기동한다.

안될 경우 .bash_profile 이 홈디렉토리 밑에 없는 것이니 위치 잘 이동하길 바란다.

이후 sqlplus 를 실행하면 잘 작동 될 것이다.

sqlplus 계정/password@sid이름

위와 같이 접속해서 접속이 잘 되는지 확인하면 된다.

반응형

+ Recent posts