Oracle/Install & Patch

[RHEL 7.9] ORACLE_11g(11.2.0.4)_Install

beom92 2023. 5. 18.

 

작업 진행 시간

oracle software 설치 54분
netca (리스너 생성) 3분
dbca (db 생성) 53분
patch 20분

 

.bash_profile 작성 내용

#.bash_profile

#Get the aliases and functions

if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

#User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH

export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/product/112/db_1
export ORACLE_PATH=$ORACLE_BASE/common/oracle/sql:.:$ORACLE_HOME/rdbms/admin

export ORACLE_SID=testdb
export NLS_LANG=AMERICAN_AMERICA.KO16MSWIN949

export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin:/oracle/cmd:${ORACLE_HOME}/OPatch
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS10=$ORACLE_HOME/nls/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp
export LANG=C
umask 022
PS1=`hostname`:'$PWD] '
export EDITOR=vi
export DISPLAY=192.168.56.1:0.0

 

설치 파일 압축 해제

/oracle/media

unzip p13390677_112040_Linux-x86-64_1of7.zip

unzip p13390677_112040_Linux-x86-64_2of7.zip

cd /oracle/media/database/

 

 

./runInstaller

 

1. 오라클 엔진 설치

 

이메일을 등록하여 mos 정보를 받을 건지에 대한 옵션 (해제 하면됨).

(등록 안했다고 메시지 창이 나오지만 ‘YES’ 선택).

실제 업무용으로 설치할때에도 등록을 잘 안하는 편이라고 함.

 

 

소프트웨어 업데이트 관련 옵션 선택 (업데이트 스킵하고 넘어감).

 

 

db는 이후에 dbca 로 설치 할 예정이므로, 소프트웨어만 설치.

 

 

싱글 인스턴스로 생성 (RAC 는 다른 자료 참).

 

 

언어 선택 부분 - Korean 추가.

 

 

설치할 옵션 선택 (EE / SE)

EE의 경우 사용하는 옵션에 따라 라이선스 비용이 발생 할 수 있음.

 

 

$ORACLE_HOME / $ORACLE_BASE 디렉토리 경로 지정.

.bash_profile 을 사전에 설정하였다면 설정한 내용이 default 값으로 나오게 됨.

 

 

oraInventory 디렉토리 경로 설정

* oraInventory 란
Oracle Software 제품에 관한 정보와 Server에 설치 되어 있는 Oracle_Home의 정보를 가지고 있는 일종의 Repository(Directory) 이며, 하나의 서버에 여러 Oracle Software 가 설치 될 때 구분하기 위하여 사용되기도 함.

. 한번더 확인하는 메시지창 나오므로 확인하면 됨

 

 

시스템 권한을 그룹으로 관리하기 위한 설정.

 

 

설치 직전 필요한 설정이 준비되어 있는지 사전 확인.

간단하게 3가지로 구분이 가능하며,

1. Fixable 가능

    상단의 'Fix&Check Again' 을 선택하여 설치를 중단하지 않고 처리가 가능함.

새로운 root 세션으로 접근하여 해당 스크립트를 수행하여 적용.

2. Fixable 불가능 / 별도로 준비가 필요

    설치를 중단하고 필요한 RPM 이나 시스템 설정을 수정하고 설치를 다시 진행.

3. Fixable 불가능 / 설치 및 운영에 상관없음

    대체로 Bug 나 설치되는 환경에 따라 다를 수 있으며, 상단의 'Ignore All' 을 선택하고 다음 진행.

 

* rpm 설치
rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
rpm -ivh libaio-devel-0.3.109-13.el7.x86_64.rpm
(기존의 rpm 을 업데이트 할 경우 -Uvh 를 사용하면 됨)

 

* Linux 7 버전에서 오라클 11g (11.2.0.4) 버전 설치시 해당 패키지가 없다고 나오는게 버그로 확인됨

Missing pdksh-5.2.14 package during Oracle database 11.2.0.4 install on Oracle Linux 7 (Doc ID 1962046.1)

elfutils-libelf-devel-0.97  /  pdksh-5.2.14

따라서 설치 안하고 넘어가도 문제 없음.

 

 

 

summary 확인 (앞서 지정했던 설정에 대한 요약본)

 

 

Oracle Software 설치 진행

 

 

* 리눅스 7.x 버전에서 oracle11g(11.2.0.4) 엔진을 설치할때 고정적인 에러창 발생 해결사항

1. $ORACLE_HOME/sysman/lib/ins_emagent.mk 의 경로를 편집기(vi)로 열어본다.

2. ins_emagent.mk 내부에서 $(MK_EMAGENT_NMECTL) 를 찾는다.
    :/MK_EMAGENT_NMECTL

3. $(MK_EMAGENT_NMECTL) 에 $(MK_EMAGENT_NMECTL) -lnnz11 을 추가 하여 수정한다.

4. GUI로 돌아가서 Retry를 눌러서 정상적으로 진행한다.

 

 

root 계정으로 적용이 필요한 스크립트를 돌려준뒤, OK 클릭

/oracle/oraInventory/orainstRoot.sh

/oracle/product/112/db_1/root.sh

 

 

Oracle Software 설치 완료

 

 

 

 


 

 

 

2. 리스너 생성 (netca)

 

$> netca

리스너를 새로 구성하기 위해 'Listener configuration' 선택.

 

 

'add' 선택.

 

 

리스너 이름 선택.

리스너를 여러개 구성 할 경우 구분하기 편한 이름으로 설정.

 

 

리스너 구성 선택

 

 

사용 할 port 지정

 

 

추가로 더 생성 할 리스너가 있을 경우, 'Yes' 선택.

 

 

 

리스너 생성 완료

 

 

 


 

 

3. DATABASE 생성 dbca (DataBase Configuration Assistant)

 

$> dbca

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DB 에 설치할 Components 선택.

용도 및 설치 여부에 따라 라이선스 비용이 발생 할 수 있음.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

db 접근 확인

sqlplus ' / as sysdba’

SQL> select instance_name, status from v$instance;

 

 

cmd 접근(리스너)

sqlplus system/oracle@192.168.56.110:1521/testdb

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

댓글