Oracle Database 12c를 CentOS 7에 설치하는 단계별 가이드

요약
요약: 이 가이드는 CentOS 7 x86-64 환경에 Oracle Database 12c를 단계별로 설치하고 기본 테스트( sqlplus, Enterprise Manager )까지 수행하는 방법을 설명합니다. 사전 요구사항, 시스템 준비, GUI 설치, 설치 실행, 루트 스크립트 실행, 접속/검증, 장애 시 대처와 보안 권장사항을 포함합니다.
중요: 실습 환경에서 먼저 진행하고, 운영 서버에 적용할 때는 백업과 변경 관리 절차를 따르세요.
한눈에 보는 설치 요약
- 대상 운영체제: CentOS 7 x86-64
- Oracle 버전: 12c (12.1.0.x) Standard/SE2 설치 절차
- 주요 검토 항목: 커널 파라미터, 사용자/그룹, 파일 시스템 권한, GUI(ssh -X) 접근
주요 키워드 (검색 의도)
- primary intent: CentOS 7에 Oracle 12c 설치
- 관련 변형: Oracle 12c 설치 가이드, Oracle Database CentOS 설치, Oracle 12c 설치 단계, Oracle 설치 트러블슈팅
전제 조건
- CentOS 7 64비트
- 메모리: 최소 1GB (권장: 2GB 이상 — 실제 운영은 더 많은 메모리 필요)
- 루트 권한
- Oracle 설치 파일(Oracle 계정으로 다운로드 필요)
참고: 운영 환경에서는 메모리, 디스크 I/O, 네트워크 포트(예: 5500) 접근성 등을 사전에 검토하세요.
권장 사용자/역할
- 시스템 관리자: 커널/패키지/네트워크 설정
- 데이터베이스 관리자(DBA): Oracle 설치/데이터베이스 구성/백업
- 보안 관리자: 포트/사용자/권한 검토
1단계 — 필수 패키지 설치
Oracle은 여러 런타임 라이브러리와 개발 툴을 필요로 합니다. CentOS 저장소에서 yum으로 설치합니다.
설치 명령(루트로 실행):
yum install -y binutils.x86_64 compat-libcap1.x86_64 gcc.x86_64 gcc-c++.x86_64 glibc.i686 glibc.x86_64 \
glibc-devel.i686 glibc-devel.x86_64 ksh compat-libstdc++-33 libaio.i686 libaio.x86_64 libaio-devel.i686 libaio-devel.x86_64 \
libgcc.i686 libgcc.x86_64 libstdc++.i686 libstdc++.x86_64 libstdc++-devel.i686 libstdc++-devel.x86_64 libXi.i686 libXi.x86_64 \
libXtst.i686 libXtst.x86_64 make.x86_64 sysstat.x86_64
설치가 완료되면 yum 로그 및 설치 결과를 확인하세요.
2단계 — 사용자 및 시스템 구성
Oracle은 루트로 동작하지 않으므로 전용 사용자와 그룹을 생성합니다.
그룹 및 사용자 생성:
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
# 암호를 입력하세요
커널 파라미터 설정
vim /etc/sysctl.conf
파일에 다음을 붙여넣기 합니다:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
변경 사항 적용:
sysctl -p
sysctl -a
limits 설정 (oracle 사용자에 대한 프로세스/파일 디스크립터 제한):
vim /etc/security/limits.conf
다음 내용을 추가:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
설정 저장 후 로그아웃/재로그인으로 적용을 확인하세요.
3단계 — 데스크톱(X Window) 구성
Oracle 설치 프로그램은 GUI를 사용합니다. 서버에 X Window System을 설치하고 ssh -X로 X 포워딩하여 GUI를 실행합니다.
yum groupinstall -y "X Window System"
설치가 끝나면 다른 터미널에서 oracle 사용자로 X 포워딩 접속하여 간단한 GUI 앱(예: xclock 또는 설치 프로그램)을 실행해 보세요.
ssh -X oracle@<서버_IP>
4단계 — Oracle Database 다운로드 및 준비
Oracle 웹사이트에서 계정으로 로그인 후 Linux용 설치 파일을 다운로드합니다. 실습 예시는 다음과 같습니다.
cd ~/oracle/
ll
압축 해제 도구 설치:
yum -y install zip unzip
압축 해제(원본 파일명은 Oracle에서 받은 파일명과 일치해야 함):
unzip linuxamd64_12102_database_se2_1of2.zip -d /stage/
unzip linuxamd64_12102_database_se2_2of2.zip -d /stage/
소유권 및 디렉터리 생성:
chown -R oracle:oinstall /stage/
mkdir -p /u01 /u02
권한 설정:
chown -R oracle:oinstall /u01 /u02
chmod -R 775 /u01 /u02
chmod g+s /u01 /u02
설치 파일과 데이터 파일 디렉터리(/u01, /u02)가 준비되었습니다.
5단계 — Oracle Database 12c 설치
루트 또는 oracle 사용자로 X 포워딩 연결 후 설치 디렉터리로 이동하여 인스톨러를 실행합니다.
ssh -X oracle@<서버_IP>
cd /stage/database/
./runInstaller
설치 프로그램이 서버 검사를 수행합니다. 모든 체크가 통과되었는지 확인합니다.
설치 GUI에서는 다음과 같이 진행합니다:
- 보안 업데이트 화면에서 Next 클릭
- Installation Options: Create and configure a database 선택
- System Class: Desktop Class 선택
Typical Installation 설정 예시 (설치 화면에서 값 입력)
- Oracle base: /u01/app/oracle
- Software location: /u01/app/oracle/product/12.1.0/dbhome_1
- Database file location: /u02
- OSDBA 그룹: dba
- Global database name: (직접 입력)
- Administrative password: (직접 입력)
- Create as Container database: 체크 해제
Inventory 디렉터리 설정:
- Inventory Directory: /u01/app/oraInventory
- oraInventory Group Name: oinstall
설치 시작(Install)을 누르고 진행 상황을 모니터링합니다.
설치 중 루트 권한으로 실행해야 하는 스크립트가 안내됩니다. 새로운 터미널을 열어 루트로 실행하세요.
ssh root@<서버_IP>
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/12.1.0/dbhome_1/root.sh
스크립트 실행 결과를 확인하고 설치 GUI로 돌아가 계속 진행합니다.
DBCA(Database Configuration Assistant)가 자동으로 데이터베이스를 생성하고 구성합니다. 완료될 때까지 기다리세요.
완료 후 OK 및 Close를 클릭하여 설치를 마무리합니다.
6단계 — 설치 검증 및 기본 테스트
서버에 접속하여 oracle 사용자로 전환하고 환경 변수를 설정합니다.
ssh oracle@<서버_IP>
# 비밀번호 입력
su - oracle
export ORACLE_SID=orcl
export ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1/
export PATH=$PATH:$ORACLE_HOME/bin
sqlplus로 접속하여 SYSDBA 권한으로 데이터베이스에 접속합니다.
sqlplus / as sysdba
초기 사용자 비밀번호 변경(권장):
alter user sys identified by yourpassword;
웹 기반 Enterprise Manager 접속: 브라우저에서 https://<서버_IP>:5500/em/ 로 접속
- 사용자: system 또는 sys
- 패스워드: 설치 중 설정한 Administrative Password
로그인 후 대시보드에서 데이터베이스 상태를 확인합니다.
설치 및 기본 검증이 완료되었습니다.
문제 발생 시 점검 및 해결 가이드
일반적인 실패 원인과 해결책
- 권한 문제: 디렉터리 소유권과 권한이 oracle:oinstall인지 확인하세요 (chown, chmod).
- 커널 파라미터 미설정: /etc/sysctl.conf 값 적용 여부 확인(sysctl -p).
- limits 미설정: /etc/security/limits.conf에 값이 있는지 확인하고 oracle로 재로그인.
- X 포워딩 문제: 클라이언트에서 X 서버(예: XQuartz, Xming)가 실행 중인지 확인하고 ssh -X 사용.
- 설치 체크 실패: 설치 GUI의 상세 로그(installActions
.log)를 확인하여 누락된 패키지를 설치.
로그 위치와 확인 포인트
- 인스톨러 로그: /u01/app/oraInventory/logs
- DBCA 로그: $ORACLE_BASE/cfgtoollogs/dbca
- 리스너/Alert 로그: $ORACLE_BASE/diag/rdbms/
/trace
보안 권고 및 하드닝
- 설치 후 기본 계정(sys, system)의 비밀번호를 즉시 강화하세요.
- 포트 5500(EM)과 리스너 포트(기본 1521)는 방화벽에서 접근 제어를 설정하세요.
- 불필요한 디렉터리 권한을 제거하고 sudo/루트 액세스를 최소화하세요.
- 운영 환경에서는 데이터 파일을 별도 디스크(I/O 분리)에 배치하고 백업 정책을 수립하세요.
대안 및 확장 방법
- GUI 설치 대신 Silent(응답 파일) 설치: 자동화된 배포용으로 유용함. 응답 파일(template)을 만들어 unattended 설치 가능.
- 컨테이너화: 개발/테스트 환경에서는 Docker 이미지를 사용하는 것이 설치 편의성 측면에서 유리.
- Oracle의 최신 버전(예: 19c)이 필요하면 버전별 호환성, 패키지 요구사항, 설치 경로가 달라질 수 있음. 마이그레이션 계획 필요.
역할별 체크리스트
- 시스템 관리자
- 커널 파라미터, limits 적용 확인
- 필요한 패키지 설치 및 OS 버전 확인
- DBA
- ORACLE_HOME/ORACLE_BASE 경로 확인
- 데이터베이스 생성 옵션(캐릭터셋, 컨테이너 여부) 결정
- 백업 및 복구 테스트
- 보안 관리자
- 계정 비밀번호 정책 적용
- 포트 접근 제어 및 암호화 설정
수락 기준
- sqlplus로 / as sysdba 접속 성공
- Enterprise Manager에 접속하여 인스턴스 상태 확인 가능
- 설정한 데이터베이스의 데이터 파일이 /u02에 생성되어 있음
- 루트 스크립트(orainstRoot.sh, root.sh) 성공 실행 로그 보유
테스트 케이스(최소 목록)
- 로그인: oracle 사용자로 로그인 후 ORACLE_SID로 데이터베이스 시작/정지 테스트
- SQL 실행: 간단한 SELECT 1 FROM DUAL 쿼리 실행
- EM 접속: 포트 5500에 HTTPS로 접속하여 대시보드 표시 확인
- 권한: oracle 소유 파일의 권한 및 오너 확인
마이그레이션 및 호환성 팁
- CentOS 7 기반일 경우 Oracle 12c는 일반적으로 호환되지만, 최신 커널이나 패키지 차이로 문제가 생길 수 있음.
- Oracle의 공식 호환성 문서를 항상 확인하세요(특히 glibc, gcc 버전 관련).
- 운영으로 전환 전 스냅샷 또는 전체 백업을 준비하세요.
간단 용어집
- ORACLE_HOME: Oracle 소프트웨어가 설치된 디렉터리
- ORACLE_SID: 데이터베이스 인스턴스 식별자
- DBCA: Database Configuration Assistant, 데이터베이스 생성 도구
- EM: Enterprise Manager, 웹 기반 관리 콘솔
자주 묻는 질문(간단)
- Q: 설치 중 “missing packages” 메시지가 뜹니다. 어떻게 하나요?
- A: 인스톨러 로그를 확인해 누락된 rpm을 설치하고 검사 항목을 다시 실행하세요.
요약 및 다음 단계
- 이 가이드로 CentOS 7에 Oracle 12c를 설치하고 기본 검증까지 완료할 수 있습니다. 운영 환경으로 전환할 때는 추가적인 성능 튜닝, 백업 정책, 고가용성(데이터 가드, RAC 등) 설계를 권장합니다.
참고 자료
이미지 설명
- 모든 이미지의 원본 경로는 변경하지 않았습니다. 각 이미지는 설치 화면, 인스톨러 로그 및 EM 대시보드 스크린샷을 보여줍니다.
끝.