Oracle 12c RAC 구축 Guide (LINUX 7 / RAC 2 Node)


  1. Requirements For Installing Oracle Linux x86-64

    This document describes the installation of Oracle 12c r1 database on Red-Hat Enterprise Linux/Oracle Enterprise Linux 7 (x86).

    1. Hardware Requirements
      1. Physical Memory

        At least 4GB of physical RAM is required. To determine the physical RAM size, enter the following command

# grep MemTotal /proc/meminfo

  1. Swap Space

    The following table describes the relationship between installed RAM and the configured swap space requirement.

RAM

Swap Space

Between 4 GB and 16 GB Equal to the size of RAM
More than 16 GB 16 GB

To determine the size of the configured swap space, enter the following command

# grep MemTotal /proc/meminfo

# grep SwapTotal /proc/meminfo

  1. Disk space Requirement

    1 GB of disk space in the /tmp directory

    •At least 8 GB of space for the Oracle Grid Infrastructure for a cluster home (Grid home). Oracle recommends that you allocate 100 GB to allow additional space for patches.

    •At least 12 GB of space for the Oracle base of the Oracle Grid Infrastructure installation owner (Grid user). The Oracle base includes Oracle Clusterware and Oracle ASM log files.

    •At least 10 GB of additional space in the Oracle base directory of the Grid Infrastructure owner for diagnostic collections generated by Trace File Analyzer (TFA) Collector.

    •For Linux x86-64 platforms, if you intend to install Oracle Database, then allocate 6.4 GB of disk space for the Oracle home (the location for the Oracle Database software binaries)

    To determine the amount of free disk space on the system, enter the following command

# df -h

  1. Kernel Requirements
    1. Version

      The system must be running the following kernel version (or a later version)

      3.10.0-123.el7.x86_64 or later

      To determine whether the required kernel is installed, enter the following command:

# uname –r

# cat /etc/redhat-release

  1. SELinux

    아래의 명령으로 해당 설정파일을 편집합니다.

# vi /etc/selinux/config

아래와 같이 SELINUX 설정을 disabled 로 설정합니다.

SELINUX=disabled

  1. Installing required packages

    아래의 명령을 이용하여 오라클 설치시 필요한 OS 패키지를 설치합니다.

# yum -y install binutils compat-libcap1 gcc gcc-c++ glibc glibc-devel

# yum -y install ksh libaio libaio-devel libgcc libstdc++

# yum -y install libstdc++-devel libXi libXtst make sysstat

# yum -y install unzip

  1. Set the kernel parameters

    아래의 명령으로 Kernel Parameter 설정 파일을 편집합니다

# vi /etc/sysctl.conf

아래의 내용으로 수정합니다.

kernel.shmall = 10523004

kernel.shmmax = 6465333657

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.aio-max-nr = 1048576

fs.file-max = 6815744

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 = 1048576

아래의 명령을 이용하여 변경된 Kernel Parameter 을 적용합니다.

# sysctl -p

  1. Create Oracle user and groups

    아래의 명령을 이용하여 사용자 그룹과 계정을 생성합니다.

# groupadd oinstall

# groupadd dba

# useradd -g oinstall -G dba oracle

# useradd -g oinstall -G dba grid

# passwd oracle

# passwd grid

  1. Create the required directories for Oracle Base and change the ownership

    아래의 명령을 이용하여 oracle 설치 디렉토리를 생성한 후 권한을 부여합니다.

For example

# mkdir -p /oracle

# chown -R oracle:oinstall /oracle

# mkdir -p /grid

# chown -R grid:oinstall /grid

  1. Set the session limits for Oracle user

    Add the following lines to the /etc/security/limits.conf file

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

Add the following line in the /etc/pam.d/login file

session required pam_limits.so

Add the following lines to the /etc/profile.

if [ $USER = “oracle” ]; then

ulimit -u 16384

ulimit -n 65536

fi

  1. Configure the Oracle user’s environment

    oracle 사용자의 환경 변수를 편집합니다.

# vi /oracle/.profile

아래의 내용을 입력합니다.

export TMP=/tmp

export TMPDIR=$TMP

export ORACLE_BASE=/oracle

export ORACLE_HOME=$ORACLE_BASE/12102

export GRID_HOME=/grid/12102

export ORACLE_SID=EBOR1

export TNS_ADMIN=$ORACLE_HOME/network/admin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export NLS_LANG=American_America.KO16MSWIN949

export NLS_DATE_FORMAT=’YYYY-MM-DD:HH24:MI:SS’

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$GRID_HOME/bin:.:$PATH

grid 사용자의 환경 변수를 편집합니다.

# vi /grid/.profile

아래의 내용을 입력합니다.

export TMP=/tmp

export TMPDIR=$TMP

export LANG=C

export ORACLE_BASE=/grid/base

export ORACLE_HOME=/grid/12101

export ORACLE_SID=+ASM1

export TNS_ADMIN=$ORACLE_HOME/network/admin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export NLS_LANG=American_America.KO16MSWIN949

export ORA_NLS10=$ORACLE_HOME/nls/data

export NLS_DATE_FORMAT=’YYYY-MM-DD:HH24:MI:SS’

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH:/sbin

  1. SSH Setup

    grid, oracle 사용자 각각의 설치파일 디렉토리에서 아래의 내용을 수행 합니다.

–grid

# ./sshUserSetup.sh –user grid –hosts “node1 node2” – noPromptPassphrase –advanced

— oracle

# ./sshUserSetup.sh –user oracle –hosts “node1 node2” – noPromptPassphrase –advanced

  1. Grid Infrastructure Installation Tasks
    1. Unzip Grid Source

      Oracle 설치파일의 압축을 해제합니다.

# su – grid

$ unzip linuxamd64_12102_grid_1of2.zip

$ unzip linuxamd64_12102_grid_2of2.zip

압축을 해제한 후 설치 디렉토리로 이동합니다.

$ cd grid

  1. Run the Oracle Universal Installer

    아래의 명령을 이용하여 Oracle Universal Installer 를 실행합니다.

$./runInstaller

정상적으로 오라클 인스톨러가 실행되면 아래와 같은 메시지가 출력된 후, 설치 화면이 나타납니다.

Starting Oracle Universal Installer…

Checking Temp space: must be greater than 415 MB. Actual 3976 MB Passed

Checking swap space: must be greater than 150 MB. Actual 3074 MB Passed

Checking monitor: must be configured to display at least 256 colors. Actual 16777216 Passed

Preparing to launch Oracle Universal Installer from /tmp/OraInstall2015-06-08_10-44-02AM. Please wait …

  1. Software Updates


소프트웨어 및 패치 세트(PSU) 및 기타 권장 패치에 대해 갱신을 할 것인가를 결정

기존의 설치 파일이 있으므로 소프트웨어 갱신 건너뛰기 클릭 후 Next를 클릭합니다.

  1. Installation Option


소프트웨어 설치 후 Cluster 구성을 할 것 이므로 Next를 클릭합니다.

  • Install and Configure Oracle Grid Infrastructure for a Cluster : 소프트웨어 설치 후 Cluster 구성까지 진행한다.
  • Install and Configure Oracle Grid Infrastructure for a Standalone Server : 소프트웨어 설치 후 Standalone Server를 구성한다.
  • Upgrade Oracle Grid Infrastructure or Oracle Automatic Storage Management : Grid Infrastructure를 upgrade 하거나 ASM 구성을 진행한다.
  • Install Oracle Grid Infrastructure Software Only : 소프트웨어만 설치한다.
  1. Cluster Type


기존 방식의 일반적인 Cluster로 구성할 것이므로 Next를 클릭합니다.

  • Configure a Standard cluster : 기존 방식의 일반적인 Cluster
  • Configure a Flex cluster : 많은 node의 구성을 할 수 있는 신규 방식의 Cluster
  1. Installtion Type


상세한 설정을 위해 Advanced Installation 선택 후 Next를 클릭 합니다.

  • Typical Installation : 일반적인 설치
  • Advanced Installation : 상세한 설정을 적용한 설치
  1. Product Languages


기본 영어로 되어 있고 한국어를 추가로 넣어 줍니다. 영어,한국어 선택 된 후 Next를

클릭 합니다.

  1. Grid Plug and Play


  • Cluster Name : 클러스터 이름 설정
  • SCAN Name : SCAN 이름 설정
  • SCAN Port : 1521
  • Configure GNS : Grid Name Service 설정
  1. Cluster Node Information



Add 버튼을 클릭하여 두번째 node 정보를 입력 후 Next를 클릭 합니다.

  1. Network Interface Usage


Network Interface를 어떻게 구성할 것인지 정보를 맵핑합니다.

  1. Storage Option


ASM 구성을 위하여 Use Stand ASM for storage 를 선택합니다.

  • Use Standard ASM for storage : 일반적인 ASM 사용
  • Use Oracle Flex ASM for storage : Flex cluster 구성 시 ASM 사용
  • Configure as ASM Client Cluster : ASM을 다른 서버에서 구성할 시 선택
  • Use Shared File System : Cluster File System 사용
  1. Create ASM Disk Group


ASM Disk group으로 생성할 disk를 지정합니다.

  1. ASM Password


ASM instance 관리 계정의 패스워드를 설정합니다.

  1. Failure Isolation


IPMI란 시스템 온도, 팬 속도, 하드웨어 이벤트를 콘솔을 통해 볼 수 있게 해주는 원격 서버 관리 표준이 구현된 통합 솔루션입니다.

하지만 하드웨어에서 지원해야 하고, 관리 포인트의 증가로 구성하지 않습니다.

  1. Operating System Groups


ASM 관리 그룹을 설정합니다.

  1. Installation Location


Oracle base와 Software location을 설정합니다.

  1. Root script execution configuration


software installation 후 수행해야 하는 script를 자동으로 수행할 것인지 결정합니다.

  1. Prerequisite Checks


installation에 필요한 prerequisite를 체크합니다.

  1. Summary


  1. Install Product


  1. Execute Configuration Scripts


installation 후 각 node에서 위의 스크립트를 수행 한 후 OK 버튼을 클릭합니다.

  1. Oracle Software Installation Tasks
    1. Unzip Oracle Source

      Oracle 설치파일의 압축을 해제합니다.

# su – oracle

$ unzip linuxamd64_12102_database_1of2.zip

$ unzip linuxamd64_12102_database_2of2.zip

압축을 해제한 후 설치 디렉토리로 이동합니다.

$ cd database

  1. Run the Oracle Universal Installer

    아래의 명령을 이용하여 Oracle Universal Installer 를 실행합니다.

$./runInstaller

정상적으로 오라클 인스톨러가 실행되면 아래와 같은 메시지가 출력된 후, 설치 화면이 나타납니다.

Starting Oracle Universal Installer…

Checking Temp space: must be greater than 415 MB. Actual 3976 MB Passed

Checking swap space: must be greater than 150 MB. Actual 3074 MB Passed

Checking monitor: must be configured to display at least 256 colors. Actual 16777216 Passed

Preparing to launch Oracle Universal Installer from /tmp/OraInstall2015-06-08_10-44-02AM. Please wait …

.

  1. Configure Secutiry Updates


소프트웨어 및 패치 세트(PSU) 및 기타 권장 패치에 대해 갱신을 할 것인가를 결정

기존의 설치 파일이 있으므로 소프트웨어 갱신 건너뛰기 클릭 후 Next를 클릭합니다.

  1. Installation Option


소프트웨어만 설치를 할 것이므로 데이터베이스 소프트웨어만 설치를 선택 후 Next를 클릭

합니다.

  • Create and configure a database : 소프트웨어 설치 후 데이터베이스 까지 생성한다.
  • Install database software only : 소프트웨어만 설치한다.
  • Upgrade an existing database : 데이터베이스를 업그레이드 한다.
  1. Grid Installation Options


Oracle RAC database 설치를 선택 후 Next를 클릭 합니다.

  • Single instance database installation : 단일 인스턴스 설치
  • Oracle Real Application Clusters database Installation : RAC설치 시 사용
  • Oracle RAC One Node database installation : RAC의 한 Node만 설치 시 사용
  1. Nodes Selection


Oracle RAC database 구성에 사용될 node를 선택합니다..

  1. Product Languages


기본 영어로 되어 있고 한국어를 추가로 넣어 줍니다. 영어,한국어 선택 된 후 Next를

클릭 합니다.

  1. Database Edition


Enterprise Edition 선택 후 Next를 클릭 합니다.

  1. Installation Location


Oracle base와 Software location을 설정합니다.

  1. Operating System Groups


Database Engine 관리 그룹을 설정합니다.

  1. Prerequisite Checks


installation에 필요한 prerequisite를 체크합니다.

  1. Summary


  1. Install Product


  1. Execute Configuration Scripts


installation 후 각 node에서 위의 스크립트를 수행 한 후 OK 버튼을 클릭합니다.

  1. Finish


  1. Database Configuration Assistant
    1. Database Operation


Operation 선택 화면입니다.

Create a Database를 선택 후 Next를
클릭합니다.

  1. Creation Mode


상세한 설정을 위해 Advanced Mode 선택 후 Next를 클릭 합니다.

  • Create a database with default configuration : 간단한 설정을 통한 일반적인 설치
  • Advanced Mode : 상세한 설정을 적용한 설치
  1. Database Template


데이터베이스 템플릿 선택 화면입니다.

데이터베이스 환경을 따로 설정 할 것이므로 사용자 정의 데이터베이스를 선택 한 후 Next를 클릭합니다.

  1. Database Identification


도메인내에 유일한 전역 데이타베이스 명과 시스템내의 다른 인스턴스와 구별되는

Oracle 시스템 식별자(SID)를 입력합니다.

SID는 최대 12글자까지 입력이 가능하나 실제 Database에는 8글자까지만 가능합니다.

  1. Database Placement


RAC 구성에서 사용되는 Node를 선택합니다.

  1. Management Option


EM 및 자동 유지 관리 작업 선택 화면입니다.

EM 구성을 할 것인가를 결정, Enterprise Manager부분은 전부 클릭 해제, 자동 유지 관리 작업은 평일 오후 10:00 ~ 오전 02:00 및 주말 내내 유지 관리 작업을 자동으로 oracle에서 관리 합니다.

해당 시간대에 CPU사용률이 증가 할 수 있습니다.

  1. Database Credentials


SYS와 SYSTEM 계정 패스워드를 설정합니다.

  1. Storage Locations


ASM 선택 후 disk group을 설정합니다.

  1. Database Options


Database에서 사용할 구성요소를 선택합니다.

JVM을 사용 안 할 시는 체크를 해제 해서 설치를 한다. 추후에 설치가 가능 하지만 Database를 shutdown후 설치를 해야 하기 때문에 미리 설치를 해 놓을 수 도 있습니다.

  1. Initialization Parameters – Memory


  • Typical Settings : 총 메모리 크기 또는 Percentage를 설정합니다.
  • Custom Settings : SGA 및 PGA 크기를 명시합니다.
  1. Initialization Parameters – Sizing


  • Block Size : I/O 를 위한 최소 저장 영역을 설정(OLTP: 8192)
  • Process: 데이터베이스에 동시에 접속될 수 있는 최대 user session를 지정한다. (기본 150)
  1. Initialization Parameters – Character Set


Database에서 사용 되는 언어 타입을 지정 Character Set 과 N-Character Set 을 지정 합니다.

  1. Creation Options


Customize Storage Locations 옵션을 선택하여 Storage 설정을 합니다.

  1. Creation Options – Customize Storage


Tablespace 및 Datafile 설정을 합니다.

  1. Prerequisite Checks


DB 생성에 필요한 prerequisite를 체크합니다.

  1. Summary


  1. Progress Page


  1. Finish


  1. Post-Installation Tasks
    1. CRS가 정상적으로 작동하는지 TEST 한다.

# /grid/12101/bin/crsctl stop crs

# /grid/12101/bin/crsctl start crs

  1. CRS의 리소스가 정상인지 확인 한다.

# su – grid

$ crs_stat res –t

$ crsctl stat res –t

  1. ORACLE이 정상적으로 기동하는지 TEST한다.

    Sqlplus “/as sysdba”로 접속 shutdown, startup 명령을 실행하여 Database가 정상적으로 기동하는지 확인한다.

  2. LISTENER가 정상 작동하는지 확인한다.

# su – grid

$ lsnrctl stop Listener

$ lsnrctl start Listener

$ lsnrctl status Listener

  1. Pro*C Test

    Pro*c를 사용한다면 $ORACLE_HOME/precomp/demo 디렉토리가 있는지 확인하고 Sample을 이용하여 compile test를 한다.

    Ex) make –f demo_proc.mk sample1

    위의 명령을 수행한 결과로 sample1.c sample1.o sample1 파일이 생기는지 확인한다.

  2. client connect test.

# su – oracle

$ sqlplus system/oracle@RYUDB12


Comments

comments

haisins

오라클 DBA 박용석 입니다. haisins@gmail.com 으로 문의 주세요.

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다