RedHat 8.3에 Oracle 19c 쉽게 설치하기 (feat. preinstall)

Daniel Choi·2023년 11월 5일
1
post-thumbnail

Redhat 8.3에 Oracle 19c를 쉽게 설치해보려고 합니다. (Oracle 18c도 가능합니다)

기본적으로 Oracle을 설치하려면 다음과 같은 복잡한 초기설정이 필요합니다. 😱

  • 필수 RPM 패키지 및 의존 패키지 설치
  • oracle 사용자 계정, oinstalldba 그룹 생성
  • sysctl.conf 설정
  • 리소스 제한 설정 (RAM, swap 등)
  • Kernel 버전에 맞는 파라미터 설정
  • Linux x86_64 and Linux aarch64 인 경우 numa=off 설정

하지만 이 포스트에서는 위의 6가지 내용을 자동으로 진행해주는 preinstall을 활용할 겁니다.

초기설정을 수동으로 하고싶다면 말리지는 않겠습니다. 하지만 끔찍할겁니다.

만약 수동설정을 시도하다가 오셨다면, 새로운 시스템에서 진행할 것을 권장합니다.
기존 설정 때문에 preinstall 과정에서 충돌이 날 수 있습니다.

모든 설정은 root 계정으로 진행합니다.

THP(Transparent Huge Pages) 비활성화

오라클은 성능 이슈로 THP를 비활성화하도록 권장하고 있습니다.

THP를 비활성화는 preinstall에 포함되지 않았으므로 직접 설정해주어야 합니다.

THP 설정 파일 경로

  • RedHat Linux Kernel
cat /sys/kernel/mm/redhat_transparent_hugepage/enabled
  • 그 밖의 Kernel
cat /sys/kernel/mm/transparent_hugepage/enabled

[always] madvise never

(저는 RHEL 8.3이지만 RedHat Kernel이 아니라서 이 경로에 있었습니다)

always가 괄호 [ ]로 감싸져 있어 현재 THP가 활성화된 것을 알 수 있습니다.
never로 설정을 바꿔줍니다.

always madvise [never]

설정이 적용되도록 재부팅해줍니다.

Oracle 초기설정하기 (Preinstall)

다시 root 계정으로 접속합니다.

Preinstall 다운로드

그리고 다음 preinstall RPM 파일을 다운받아줍니다.

curl -o oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm

필수 패키지 설치

바로 설치하면 RHEL 8부터 삭제된 패키지인 compat-libstdc++ and compat-libcap1 이 없어 오류가 날 텐데요, 수동으로 설치해주어야 합니다.

아래 명령어로 설치가 가능합니다.

wget http://mirror.centos.org/centos/7/os/x86_64/Packages/compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/compat-libcap1-1.10-7.el7.x86_64.rpm

yum localinstall compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
yum localinstall compat-libcap1-1.10-7.el7.x86_64.rpm

Preinstall 설치

준비가 끝났으므로 Preinstall 설치를 진행합니다.

yum localinstall oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm

어느정도 시간이 지나면 설정이 완료됩니다.

OS 충돌방지하기

마지막으로 OS 충돌방지 커맨드를 실행해줍니다.

export CV_ASSUME_DISTID=OEL7.6

Oracle 19c 설치하기

preinstall이 무사히 완료되었다면 이제 Oracle 19c를 설치할 차례입니다.

Oracle 19c RPM 패키지 다운로드

RPM 패키지는 오라클 공식 홈페이지에서 다운로드 할 수 있습니다.

wget 또는 curl을 활용해서 oracle-database-ee-19c-1.0-1.x86_64.rpm 이라는 이름으로 다운받아줍니다.

Oracle 19c 설치하기

다운받은 패키지를 설치하면 끝입니다.

yum -y localinstall oracle-database-ee-19c-1.0-1.x86_64.rpm

DB를 설치한 직후에 RAM 사용량이 굉장히 높을 수 있어 재부팅을 권장합니다.

샘플 Database 생성하기

Database 생성

이제 기본 설정파일로 샘플 DB를 만들어보겠습니다.

Container Database (ORCLCDB) 한 개와 Pluggable Database (ORCLPDB1) 한 개가 1521포트에 생성됩니다.

  1. root 계정으로 접속합니다.

  2. 다음 명령어를 실행합니다.

    /etc/init.d/oracledb_ORCLCDB-19c configure

설정은 /etc/sysconfig/oracledb_ORCLCDB-19c.conf 에서 변경할 수 있습니다.

시간이 좀 지나면 아래 출력과 같이 완료됩니다.

Configuring Oracle Database ORCLCDB.
Prepare for db operation
8% complete
Copying database files
31% complete
Creating and starting Oracle instance
32% complete
36% complete
40% complete
43% complete
46% complete
Completing Database Creation
51% complete
54% complete
Creating Pluggable Databases
58% complete
77% complete
Executing Post Configuration Actions
100% complete
Database creation complete. For details check the logfiles at:
 /opt/oracle/cfgtoollogs/dbca/ORCLCDB.
Database Information:
Global Database Name:ORCLCDB
System Identifier(SID):ORCLCDB
Look at the log file "/opt/oracle/cfgtoollogs/dbca/ORCLCDB/ORCLCDB.log" for further details.
 
Database configuration completed successfully. The passwords were auto generated,
you must change them by connecting to the database using 'sqlplus / as sysdba' as the oracle user

Alias 설정 및 SQL *Plus 실행

DB 생성까지 완료됐다면 oracle 계정으로 DB를 실행할 수 있습니다.

su oracle

하지만 아직 Alias 설정이 없어서 SQL *Plus 명령어가 먹히지 않습니다.

[oracle@localhost ~]$ sqlplus startup
bash: sqlplus: command not found

다음 명령어를 실행하여 Alias를 추가할 수 있습니다. (반드시 oracle 계정에서 실행)

echo "export ORACLE_BASE=/opt/oracle/
export ORACLE_HOME=\$ORACLE_BASE/product/19c/dbhome_1
export ORACLE_SID=ORCLCDB
export PATH=\$ORACLE_HOME/bin:\$PATH" >> ~/.bashrc

추가했다면 재접속하거나, bash로 새 세션을 시작합니다.

이제 잘 됩니다!

[oracle@localhost /]$ sqlplus -V

SQL*Plus: Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

이제 sqlplus startup 으로 DB를 시작해줍니다.

[oracle@localhost /]$ sqlplus startup
[oracle@localhost /]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Sun Nov 5 06:48:12 2023
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

끝!


참고자료

(6) Install Oracle 19c on RHEL 8 | LinkedIn

Running RPM Packages to Install Oracle Database

About the Oracle Database Preinstallation RPM

profile
내꺼니꺼

0개의 댓글