• 자신의 OS 정보 확인
[root@localhost ~]$ hostnamectl
   Static hostname: localhost
	...
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-1160.el7.x86_64
      Architecture: x86-64

 

  • 하단 링크 연결하여 오라클 클라이언트 버전에 맞춰 Basic 과 Sqlplus 의 RPM 파일을 다운로드 한다.

https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html

 

★ 여기서 주의 ★

내가 연결하려는 원격 Oracle 버전을 확인하자!

해당 버전에 맞는 클라이언트 버전을 설치해줘야 한다.!!

 

  • root 계정으로 rpm 파일을 설치한다. (basic 먼저 설치한 후, sqlplus 설치한다.)
$ yum install -y oracle-instantclient-basic-10.2.0.5-1.x86_64.rpm
$ yum install -y oracle-instantclient-sqlplus-10.2.0.5-1.x86_64.rpm

 

ERROR: Failed dependences: libaio is needed by oracle_instantclient10.2.0.5.-1.x86_64

에러 경우 의존성 라이브러리 파일이 없어서 발생하는 것이므로 아래 라이브러리 설치하면 된다.

$ yum install -y libaio

 

  • ORACLE_HOME, TNS_ADMIN 환경변수를 위한 설정파일을 추가한다.
$ vi /etc/profile.d/oracle.sh

export ORACLE_HOME=/usr/lib/oracle/10.2.0.5/client64
export TNS_ADMIN=/usr/lib/oracle/10.2.0.5/client64/bin

  • .bash_profile 하단에 ORACLE_HOME, TNS_ADMIN, PATH 설정 추가 후 .bash_profile 을 적용한다.
vi ~/.bash_profile

export ORACLE_HOME=/usr/lib/oracle/10.2.0.5/client64
export TNS_ADMIN=/usr/lib/oracle/10.2.0.5/client64/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH
export NLS_LANG=KOREAN_KOREA.AL32UTF8

설정 후, 바로 적용을 위해 source 명령어를 사용한다.

$ source ~/.bash_profile

정상적으로 적용된 것을 확인하려면 env 명령어를 사용해보자.

$ env
  • oracle instant client 에서 oracle server 로 접속하기 위해서 tnsnames.ora 를 설정한다. 
    TNS(Transparent Network Substrate) 는 오라클에서 사용하는 네트워크 기술이다.
    Client/Server 또는 Server/Server 간에도 Data 전송을 가능하게 해주는 기술이다.

    ★ tnsnames.ora 파일은 오라클 클라이언트 측에서 오라클 서버로 접속할 때 필요한 프로토콜 및 포트번호, 서버주소, 인스턴스 등을 설정해주는 파일이다.
    ★tnsnames.ora 파일은 우리가 TNS_ADMIN 경로로 잡아둔 곳 아래에 위치해 있어야 한다.
    나는 TNS_ADMIN  경로를 /usr/lib/oracle/10.2.0.5/client64/bin 으로 잡았기에, 해당 폴더 아래에 tnsnames.ora 파일을 두었다.
더보기

원하는 TNS 이름(별명) = 

   (DESCRIPTION = 

      (ADDRESS_LIST = 

          (ADDRESS = (PROTOCOL = TCP)(HOST = 아이피주소)(PORT = 1521)

 

예제)

ORA_DB(별명)=
  (DESCRIPTION =
    (ADDRESS = 
      (PROTOCOL = TCP)
      (HOST = 아이피주소)
      (PORT = 1521)
     )

    (CONNECT_DATA =
      (SID = 접속할 SID)
    )
  )

  • oracle client 에서 oracle server 로 sqlplus 명령어로 접속해보자!! (root 계정으로 접속해야 한다!!)
$ sqlplus id/passwd@별명

 

★ 여기서 주의 ★

아래와 같은 에러를 마주쳤다면, 내가 연결하려는 원격 Oracle 버전을 확인하자!

해당 버전에 맞는 클라이언트 버전을 설치해줘야 한다.!!

 

: 내가 연결하려는 오라클 DB 버전이 10 버전대였는데, 서버에 붙으려서 클라이언트 버전은 그보다 높은 12버전이라 발생한 문제였다.

 

 

출처 

https://gomu92.tistory.com/72

https://bangu4.tistory.com/13

 

'리눅스&네트워크' 카테고리의 다른 글

[운영체제] 프로세스와 스레드  (0) 2022.12.11
마운트  (0) 2022.07.20

+ Recent posts