Linux/기타

centos 6 에 oracle 10g 10.2.0.1 설치 및 10.2.0.5 patch 작업 - 1

미나리나물 2017. 6. 13. 22:36

0. 이 글의 설치 사양

RAM : 4G
OS : CentOS 6.7 x64 minimal 설치 후 CentOS 6.9 x64 로 update
먼저 CentOS는 minimal 설치 후 GUI 설치만 진행 되었고, oracle의 설치는 oracle 계정의 홈 디렉터리(/home/oracle)에 설치 한다.

아래에서 "#" 은 root 사용자로 로그인 후 실행 하는 것이고, "$" 은 oracle 사용자로 로그인 후 실행 하는 것이다.


** CentOS 6의 지원 종료로 인해서 기본 yum Repository를 삭제하고 미러 사이트로 Repository를 재 설정해야 한다.

# rm /etc/yum.repos.d/CentOS*.repo
# vi /etcyum.repo.d/CentOS.repo

[base]
name=CentOS-$releasever - Base
baseurl=https://vault.centos.org/centos/$releasever/os/$basearch/
#baseurl=http://ftp.daumkakao.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

[updates]
name=CentOS-$releasever - Updates
baseurl=https://vault.centos.org/centos/$releasever/updates/$basearch/
#baseurl=http://ftp.daumkakao.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

[extras]
name=CentOS-$releasever - Extras
baseurl=https://vault.centos.org/centos/$releasever/extras/$basearch/
#baseurl=http://ftp.daumkakao.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

[centosplus]
name=CentOS-$releasever - Plus
baseurl=https://vault.centos.org/centos/$releasever/centosplus/$basearch/
#baseurl=http://ftp.daumkakao.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

[contrib]
name=CentOS-$releasever - Contrib
baseurl=https://vault.centos.org/centos/$releasever/contrib/$basearch/
#baseurl=http://ftp.daumkakao.com/centos/$releasever/contrib/$basearch/
gpgchek=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

# yum clean all

 

1. 환경 변수 설정

# vi /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=호스트명    (사용할 호스트명 확인 - 여기를 수정 했다면 재부팅 해야 함)


# vi /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.0.100    호스트명    (추가)


# vi /etc/sysconfig/i18n

LANG="ko_KR.UTF-8"
SYSFONT="en_US.UTF-8:en_US:en:ko_KR.eucKR:ko_KR:ko"    (추가)


# cp /etc/redhat-release /etc/redhat-release.bak
# vi /etc/redhat-release

redhat-4    (수정 - CentOS release 6.9 (Final) 이렇게 되어 있는걸 지우고 쓴다. 오라클이 CentOS를 인식하지 못하기 때문이다)


# cp /etc/sysctl.conf /etc/sysctl.conf.bak
# vi /etc/sysctl.conf

kernel.shmall=4294967296
kernel.shmmax=68719476736
kernel.shmmni=4096
kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144        (내용 중 없거나 다른 부분 수정)

# /sbin/sysctl -p    (커널 매개변수 변경점 적용)

 

# cp /etc/security/limits.conf /etc/security/limits.conf.bak
# vi /etc/security/limits.conf

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536    (4줄 추가 - 반드시 "# End of file" 윗줄에 기재 할 것)


# cp /etc/pam.d/login /etc/pam.d/login.bak
# vi /etc/pam.d/login

session    required     /lib64/security/pam_limits.so
session    required     pam_limits.so    (2 줄 추가)


# cp /etc/selinux/config /etc/selinux/config.bak
# vi /etc/selinux/config

SELINUX=disabled    (변경)


# reboot    (반드시 재부팅 1회 실행)

 

2. 필수 패키지 설치

# yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf \
elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers \
ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 \
libstdc++-devel make sysstat libXp.i686 libXt.x86_64 libXtst.x86_64 libXt.i686 libXtst.i686

 

3. 오라클 계정 및 그룹 생성

# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle
# passwd oracle

Changing password for user oracle.
New password: [oracle 유저가 사용할 비밀번호]
Retype new password: [oracle 유저가 사용할 비밀번호]
passwd: all authentication tokens updated successfully.

# chown -R oracle.dba /home/oracle
# chmod -R 755 /home/oracle
# id oracle     (오라클 그룹 확인)

# vi /etc/sudoers
oracle        ALL=(ALL)               ALL             (root 아래 추가)

 

4. 오라클 계정 환경 변수 설정

# su - oracle
$ vi .bash_profile        (아래 모든 내용 붙여 넣어야 함)

TMP=/tmp
TMPDIR=$TMP
ORACLE_HOSTNAME=[1에서 지정한 호스트명];
ORACLE_BASE=/home/oracle
ORACLE_HOME=$ORACLE_BASE
ORACLE_HOME_LISTNER=$ORACLE_HOME/bin/lsnrctl
ORACLE_SID=orcl
PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
NLS_LANG=American_america.KO16KSC5601
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
LD_LIBRARY=$LD_LIBRARY:.:$ORACLE_HOME/lib
LANG=C

export TMP TMPDIR ORACLE_HOSTNAME ORACLE_BASE ORACLE_HOME ORACLE_HOME_LISTNER ORACLE_SID PATH NLS_LANG LD_LIBRARY_PATH LD_LIBRARY LANG

if [ $USER = "oracle" ]; then
        if [ $SHELL = "/bin/ksh" ]; then
                ulimit -p 16384
                ulimit -n 65536
        else
                ulimit -u 16384 -n 65536
        fi
fi

 

5. 오라클 파일 압축 해제

* 적당한 위치에 파일을 다운받고 압축을 풀어준다. 여기서는 "/home/oracle/setup-file" 에서 다운 받았다고 가정하고 작업 한다.

# cd /home/oracle/setup-file
# gunzip 10201_database_linux_x86_64.cpio.gz

# cpio -idmv < 10201_database_linux_x86_64.cpio

 

** 여기까지는 consol로 작업해도 된다. 하지만 다음 작업부터는 GUI 환경에서 실행 시켜줘야 한다.
   따라서 GUI와 함께 vpn 또는 xrdp를 설치 하여 접속한다. 이 글에서는 해당 프로그램이 설치되어 있다고 가정하고 진행한다.
   GUI에서는 oracle 계정으로 로그인 해 들어간다.

 

6. 오라클 설치 프로그램 구동

   (아래 내용은 반드시 GUI에서 실행 - 물론 response 파일을 사용하면 GUI가 아닌 환경에서 설치 할 수도 있다.)

(이하 명령들은 GUI의 터미널에서 실행)

$ export LANG=c   (이 명령을 생략하면 설정과정의 문자가 다 깨져 나온다)
$ xhost +              (터미널에서 GUI 실행 시 권한 확인. 아랫줄 문구가 나와야 정상)

access control disabled, clients can connect from any host

$ cd ./setup-file/database/
$ ./runInstaller

Starting Oracle Universal Installer...

Checking installer requirements...

Checking operating system version: must be redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2
                                      Passed

All installer requirements met.

Preparing to launch Oracle Universal Installer from /tmp/OraInstall2017-06-13_10-32-30PM. Please wait ...[oracle@oracle 10201_database_linux_x86_64]$ Warning: Cannot convert string "-b&h-lucida-medium-r-normal-sans-*-140-*-*-p-*-iso8859-1" to type FontStruct

 

이제 여기서 부터 GUI로 설치 한다.