DBMS의 대명사는 바로 Oracle DBMS다. DBMS는 Database Management System을 의미한다. 무심코 DB와 DBMS를 같은 의미로 사용하지만 두 단어는 분명 다른 존재를 가리킴을 기억하자. DB는 데이터의 집합체를 의미하고 DBMS는 그 DB를 관리해주는 시스템소프트웨어다. 이는 Process와 Processor가 명백하게 다른 것과 비슷하다고 할 수 있다. 


어쨌든... 


Oracle DBMS를 처음 설치해본 것이 언제인지는 정확하게 기억나지 않는다. 다만 13~14년 전 즈음이라는 것만 기억난다. 당시엔 Oracle DBMS가 리눅스에서 거의 사용되지 않았고 오라클 본사에서도 리눅스를 그다지 중요하게 보지 않았으며 지원도 미비할 때라 설치과정에서 발생하는 오류가 무척 많았다. 게다가 해결방법도 인터넷에서 찾기 어려워서 하나하나 해결해가면서 설치했었다. 정말 우여곡절끝에 설치에 성공했던 것으로 기억되고 있다.


하지만 시간이 흐르면서 리눅스가 서버 운영체제로 사용되기에 적합하다고 인정받으면서 오라클도 리눅스를 제대로 지원하기 시작했다. 그리고 요즘엔 설치가 너무도 수월하다. 


하지만 수월해졌다 하더라도 리눅스에 오라클을 설치하는 것은 아직도 비교적 전문가들의 영역으로 여겨지고 있는 실정이다. 



최근 Oracle 12c DBMS를 새로 설치해야할 필요가 생겼고 초심자들을 위해 그 과정을 약간(?)의 설명과 함께 포스팅한다. 


리눅스에 오라클을 설치하기 위한 사전 준비 사항


오라클을 리눅스에 설치하기 위해서 몇가지 준비할 것이 있다. 설치 전 반드시 준수해줘야 한다.


/et/hosts 파일 설정


리눅스 서버를 납품하는 업체의 엔지니어가 하드웨어를 설치하고 리눅스 OS를 설치해 놓은 것을 보면 가관인 경우가 많다. 그 중에서도 아래 처럼 /etc/hosts 파일에 아래의 파일처럼 아무런 설정도 해주지 않고 철수하는 경우가 다반사다.


리눅스 설치 후 기본 hosts 파일리눅스 설치 후 기본 hosts 파일



위의 /etc/hosts 파일을 보고 어떤 설정이 더 필요한지 바로 말할 수 있어야 LINUX나 Unix의 기본 설정에 대해 알고 있다고 말할 수 있다.


이 상태로 Oracle RDBMS을 설치하려 한다면 100% 에러가 발생한다. 왜냐하면 Oracle이 자기가 설치되는 서버의 IP주소를 가져올 수 없기 때문이다. 


오라클은 시스템 함수를 통해 hostname을 조회한 뒤 해당 hostname에 대한 IP주소를 마찬가지로 시스템함수를 통해 요청하는데 외부에서 이 서버를 식별할 수 있는 제대로 된 IP주소를 응답하지 않기 때문이다. 만약 이 서버에 DNS서버가 설정되어 있다면 모르겠지만 대부분의 테스트 서버나 내부망서버들은 DNS 없이 통신하는 경우가 대부분이다. 따라서 /etc/hosts 파일에 서버의 hostname과 실제 IP주소를 설정해줘야 하는데 이 설정이 되어 있지 않기 때문에 오류가 발생하는 것이다.


오라클을 설치려고 한다면 이 서버의 IP 주소와 hostname을 아래와 같이 "제대로" 설정해줘야 한다.


정상적으로 설정된 hosts 파일정상적으로 설정된 hosts 파일


위에서 192.168.210.53 이 실제 서버의 IP다.


이 설정이 되지 않으면 Oracle 설치 시 오류가 발생한다.


컴파일러를 비롯한 필수 시스템 SW 설치


오라클과 같은 시스템SW는 컴파일러를 비롯해 암호화 모듈 등 필수적으로 설치해야 하는 시스템SW가 있을 수 있다. 오라클 설치시에도 다음과 같이 필수적인 시스템SW를 업데이트 및 설치해야 한다. 단, CentOS 7 일 경우만 해당된다. 

아래 서버는 CentOS 7.6 이다. 



만약 귀찮다면 yum update 명령을 통해 전체를 업데이트 해도 되긴한다.


완료되면 다음과 같이 새로 설치되거나 업데이트 된 패키지를 알려준다.




커널파라미터(kernel parameter) 수정


오라클은 관련 프로세스들 간 통신이 무척 많다. 이 속도를 빠르게하기 위해 IPC(Inter-process communication) 자원을 많이 사용한다. 그리고 이 자원에는 Shared Memory, Semaphore 등이 있는데 이런 자원의 설정을 커널파라미터에서 하도록 되어 있다.


다음과 같이 /etc/sysctl.conf 파일에 커널 파라미터를 추가해줘야 한다. 적색 상자내 값이 오라클 DBMS 설치를 위해 추가한 내용이다.


커널파라미터 설정 - /etc/sysctl.conf커널파라미터 설정 - /etc/sysctl.conf


리눅스를 설치하면 이 파일에는 아무런 설정도 없다. 파일만 존재한다. 그 의미는 커널 내부적으로 예약되어 있는 기본값을 사용하라는 의미다. 오라클 설정을 위해서는 위의 설정이 모두 적용되어야 한다. 


하나하나 직접 입력하면서 어떤 내용인지 가볍게 검색을 해보는 것도 좋겠다.


커널파라미터를 수정한 뒤 sysctl -p 명령으로 적용하고 sysctl -a 명령으로 적용 여부를 확인할 수 있다.


swap 공간 확보


모든 운영체제는 디스크에 swap 공간을 사용하도록 되어 있다. 리눅스의 경우 운영체제 설정 시 swap 영역으로 사용하기 위한 스왑(swap) 파티션을 만든다. 이 공간이 최소한 2G Byte 이상되어야 한다.


swap 영역확인 - freeswap 영역확인 - free


Swap 공간의 용량을 확인하기 위해서는 free 명령을 위와 같이 실행하면 된다. Swap: 2097148 로 보이는데 약3G Byte로 오라클을 설치하기에 충분한 공간이다.


만약 이 공간이 부족하다면 설치 도중 오류가 발생할 수 있다. 다음과 같이 Swap 파일을 생성하고 추가해주도록 한다.


o root 계정으로 로그인하여 다음의 절차에 따라 swap 파일을 추가해준다.


# dd if=/dev/zero of=/home/swapfile bs=1024 count=102400

# mkswap /home/swapfile

# swapon /home/swapfile


o 여기까지 수행하면 free 명령에서 추가된 1G Byte 용량이 증가되어 보인다. 

  리부팅했을 때도 계속 swap 공간으로 사용하기 위해서는 다음과 같이 /etc/fstab 파일에 다음의 라인을 추가해주어야 한다.


  /home/swapfile   none    swap    sw    0   0


oracle 계정 및 oinstall, dba 그룹 생성


오라클과 같은 시스템SW는 자신만의 계정과 그룹을 필요로하는 경우가 많다. 즉 오라클이 설치되면 파일의 소유자와 그룹이 오라클 만의 계정과 그룹으로 지정되어야 한다.


이를 위해 다음과 같은 과정으로 oracle 계정과 dba 그룹 그리고 oinstall 그룹을 만들어줘야 한다. 그리고 oracle 계정의 비밀번호도 설정해준다.


oracle 계정 및 그룹 생성oracle 계정 및 그룹 생성



oracle 계정의  리소스 제한 설정


리눅스는 특정 계정이 과도한 리소스를 사용하는 것을 제한하고 있다. 오라클의 경우 이 제한으로 인해 서비스 도중 장애가 발생할 수 있다. 경우에 따라서는 기본적인 제한으로 인해 정상적으로 구동이 안될 수도 있다. 따라서 오라클에서 요구하는 최소갑에 맞춰 이 제한을 해제해주어야 한다.


/etc/security/limits.conf 파일에 다음과 같이 oracle 계정의 제한값을 기본값보다 더 크게 설정해준다.


oracle 계정 limits 설정oracle 계정 limits 설정


Oracle 설치 경로 생성 및 권한 설정

다음과 같이 오라클을 설치할 경로를 생성하고 권한을 설정해준다. 아래에서는 /oracle12 라는 디렉토리에 Oracle 패키지를 설치하려고 한다.



Oracle 계정 profile 설정

마지막으로 oracle 계정의 환경을 설정해주어야 한다.

다음과 같이 환경변수를 오라클 계정의 홈디렉토리에 있는 .bash_profile 에 추가해준다.


oracle 계정의 .bash_profileoracle 계정의 .bash_profile


홈디렉토리는 cd ~oracle 이라는 명령으로 이동할 수 있다. ls -al 이라는 명령으로 보면 .bash_profile 이라는 파일이 보인다. 여기서는 oracle의 설치 경로를 /oracle12 로 지정했는데 적당한 경로를 설치경로로 지정하길 바란다.


여기까지 완료하였다면 이제 Oracle 12c 버전의 설치준비가 완료되었다. 


가능하다면 이쯤에서 한번 서버를 리부팅하고 oracle 계정으로 로그인하여 다음의 작업을 진행하길 바란다.


#oracle12c_install

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기

댓글을 달아 주세요

">