본문 바로가기

DB/Oracle

[Oracle] 오라클12c 를 CentOS 7에 설치하기 - 설치

앞의 포스트에서 Oracle 12c를 CentOS 7에 설치하기 위해 선행해야 하는 여러 CentOS의 설정과 계정 생성을 설명했다. 이제 실제 설치 단계로 넘어가자.

 

오라클의 설치는 두가지 방법이 있다.

 

하나는 GUI를 이용한 설치이고 나머지 하나는 GUI가 없는 서버 혹은 원격에서 설치하기 위한 Silent 모드 설치다. 이 포스트에서는 Silent 모드 설치를 설명한다.

 

아래의 작업은 앞의 포스트에서 생성한 oracle 계정으로 ssh 로그인하여 실행한다.

 

설치파일 압축해제 및 리스펀스 파일(.rsp)

 

RedHat과 CentOS 용 오라클은 zip 파일로 압축되어 있다. 이 zip 파일은 다음과 같은 방법으로 압축을 해제할 수 있다. 

 

unzip 명령으로 압축해제

 

오라클 설치파일은 운영체제종류(linux)와 비트수(x64 = 64bit) 그리고 database라는 키워드로 이름이 만들어져 있으며 zip 파일로 만들어져 있다.

 

압축해제는 unzip 명령으로 할 수 있다. gzip 으로는 압축이 풀리지 않는다.

 

oracle 12c 설치 파일 목록

 

압축을 풀면 database 디렉토리가 생성되고 그 아래로 들어가면 다음과 같이 설치명령어인 runInstaller와 부가적으로 필요한 파일과 디렉토리가 보인다.

 

 

여러 디렉토리 중에서 response 디렉토리로 들어가면 오라클의 Silent 모드 설치에 필요한 설정(Response)파일 3개가 들어있다. 오라클 DBMS의 파일설치에 필요한 db_install.rsp파일과 오라클 리스너 설정에 필요한 netca.rsp 파일 그리고 DB인스턴스 생성에 필요한 dbca.rsp 파일이다.

 

위 화면처럼 .rsp 파일 세개를 oracle 홈디렉토리로 복사한다.

 

 

 

 

db_install.rsp 파일 수정 및 Oracle 12c 엔진 설치

 

db_install.rsp 파일은 Oracle 12c DBMS의 엔진 파일을 설치하고 구성하기 위한 설정이다. vi 명령으로 파일을 열고 아래와 같이 적색박스의 내용을 입력한다. oracle 계정의 홈디렉토리에 있는 db_install.rsp 파일을 vi로 열어야 한다.

 

db_install.rsp

 

설치되는 Oracle 12c의 유형과 그룹명과 주요 경로에 대한 설정이다. 적색 상자 이외의 설정은 수정하지 않아도 된다. 수정하지 않으면 기본값을 사용하게 된다.

 

다음은 운영체제의 그룹을 지정하는 설정이다. 역시 적색 상자의 내용과 같이 값을 입력한다.

 

db_install.rsp

 

보안과 관련된 설정이다. My Oracle support credentials를 사용하면 오라클로부터 권장 패치와 플러그인 및 기타 보안요소를 손쉽게 다운로드 하도록 할 수 있다.

 

db_install.rsp

 

db_install.rsp 파일을 수정하고 저장한 뒤 아래와 같이 runinstaller 명령을 이용해 silent 모드로 db_install.rsp 파일에 미리 설정한 값이 oracle 12c를 설치하는데 문제 없는지 테스트를 진행할 수 있다.

 

 

테스트 결과 warning 및 오류가 있는 경우 관련 로그를 보라는 메시지가 나온다. 앞의 포스트에서 설명했든 /etc/hosts 파일의 설정 오류, 커널파라미터 설정오류, swap 공간 부족, oracle 계정의 리소스 사용제한 등 문제가 발견되면 로그파일에 오류의 내용이 기록된다.

 

문제가 없다면 다음과 같이 실제로 runInstaller 명령과 db_install.rsp를 이용해 Oracle 12c의 엔진 및 기타 파일을 설치한다. 물론 silent 모드다. 자바로 만들어진 설치 GUI는 실행되지 않는다.

 

./runInstaller -waitforcompletion -showProgress -silent -responseFile ~/db_install.rsp

 

설치가 진행된다.

 

 

오류 없이 설치가 완료되었다.

 

그런데 아래쪽에 보면 두개의 스크립트를 root 권한으로 실행하라는 메시지가 표시되어 있다. 

 

ssh로 새로운 접속창을 열고 root 계정으로 로그인한 뒤 아래처럼 두개의 스크립트를 실행한다.

 

 

Oracle 12c의 엔파일 설치와 엔진구성이 완료되었다.

 

이 스크립트 두개는 반드시 root 계정에서 실행하여야 한다. 그리고 다음단계부터는 다시 oracle 계정에서 실행하여야 한다.

 

netca.rsp 수정 및 Oracle listener 구성 

netca.rsp 에는 Oracle의 리스너 설정을 위한 값들이 들어있다. 특별히 설정할 것은 없지만 netca를 이용하여 오라클 리스너를 구성하지 않으면 수동으로 설정하였을 때 PDB가 서비스에 보이지 않을 수 있다.

 

다음과 같이 oracle 계정의 홈디렉토리에 있는 netca.rsp를 수정한다. 한곳만 수정하면 된다.

 

 

위와 같이 명시적으로 SHOW_GUI 옵션을 false로 해준다.

 

그리고 netca 명령으로 다음과 같이 실행한다.

 

export DISPLAY=ip_address:display_number

 

netca /silent/responsefile ~/netca.rsp

netca 명령으로 listener 구성

 

오라클 리스너 설정이 완료되었다. lsnrctl status 명령으로 상태를 체크해볼 수 있다.

 

DB생성 및 DB초기 구성 

 

DB의 엔진설치와 구성 그리고 리스너 구성이 완료되었으면 이젠 실제 DB를 생성할 차례다. DB를 생성하고 DB에 접속할 DBMS의 관리자계정계정 그리고 관리자계정의 비밀번호와 DB의 언어셋 등을 설정하게 된다.

 

Silent 모드로 설치할 때 필요한 설정들은 oracle 홈디렉토리에 위치한 dbca.rsp 파일에 설정한다. 다음과 같이 수정하여야 한다. DB초기생성답게 설정값이 조금 많다.

 

데이터베이스의 이름과 인스턴스 ID 등 데이터베이스를 식별하기 위한 설정이다.

 

 

PDB와 관련된 설정이다. 마지막에 PDB관리자 비밀번호도 입력하라고 한다. 일단 PASSWORD라고 입력했다. 나중에 변경하도록 한다.

 

 

oracle DB의 관리자 계정인 sys의 비밀번호와 system의 비밀번호를 묻는다. 일단 기본값으로 PASSWORD라고 입력했다.

 

 

DB의 파일 스토리지 타입을 지정한다. 기본값이 FS로 한다.

 

 

DB의 캐릭터셋이다. 한글은 2바이트 유니코드를 써야 하므로 AL32UTF8로 지정했다.

 

 

오라클 리스너의 이름을 입력한다. 일단 LISTENER라는 리스너 하나만 설정했다.

 

DB의 특징을 입력한다. 

 

 

모두 입력을 마쳤다면 dbca 명령으로 아래와 같이 DB를 생성한다.

 

dbca -silent -createDatabase -responseFile ~/dbca.rsp

 

중간에 sys 및 system, pdbadmin 비밀번호가 오라클의 기본 비밀번호 규칙에 어긋난다고 경고가 뜬다. 나중에 수정이 가능하므로 일단 무시하고 넘어간다.

 

DB생성에는 시간이 조금 걸린다. 기다리자.

 

 

조금 오래 걸린다. 인내심을 갖고 기다린다.

 

 

드디어 완료되었다.

 

이 상태에서 Oracle을 구동하면 초기 셋업 시 실행된 오라클 인스턴스가 제대로 종료되지 않아 수동으로 구동하는 인스턴스가 DB를 배타적으로 잠글 수 없어 오류가 발생하였다.

 

그리고 수동으로도 DB를 생성하고 초기화하던 인스턴스를 종료시킬 수 없었다.

 

이때 가장 좋은 방법은 리부팅이다.

 

리부팅 및 DB 구동 

 

root 계정에서 서버를 리부팅하고 다시 oracle 계정으로 접속하여 DB에 접속한다. 그리고 다음과 같이 sqlplus 명령을 이용해 DB에 접속하고 DB를 startup 한다.

 

 

정상적으로 데이터베이스가 마운트되고 오픈되었다. (정삭적으로 구동된 것이다.)