상세 컨텐츠

본문 제목

오라클 환경을 위한 Linux 설정

os/linux

by 티아라시그니처 2011. 8. 11. 11:18

본문




예전에 비싼투자해서 배운 오라클

지금은 쓸모없다...






root 계정으로 로그인 후, terminal 환경에서 아래의 과정을 수행합니다.

Kernel 버젼 확인
- 요구사항: 2.6.9-5.EL 및 이 후의 업데이트 버젼

# uname -r
2.6.9-67.0.0.0.1.ELsmp

LINUX 필수 패키지 확인(OS software Check)
- 요구사항: 아래와 동일하거나 그 이후의 버전
- 패키지가 설치되어 있지 않은 경우에는
각 시디의 media/RedHat/RPMS 폴더에서 검색하여 찾은 후,
rpm -Uvh 명령어를 이용하여 설치해야 합니다.
- 패키지를 선택적으로 설치한 경우, 아래의 것들이 설치안됨
- libaio-0.3.96-3
- openmotif21-2.1.30-11.RHEL4.2 (Required to install Oracle Demos)
- oracleasm-support package version 2.0.0.1 or higher to use ASMLib.
- oracle JDBC/OCI Drivers(Sun JDK 1.4.2_08 with JNDI extension
(installed by Oracle))

# rpm -q binutils compat-db compat-libstdc++-296 compat-libstdc++-33 \
control-center gcc gcc-c++ glibc glibc-common glibc-devel \
gnome-libs libaio libgcc libstdc++ libstdc++-devel make \
pdksh setarch sysstat xorg-x11-deprecated-libs \
openmotif openmotif21 xorg-x11 xorg-x11-devel oracleasm

binutils-2.15.92.0.2-24
compat-db-4.1.25-9
compat-libstdc++-296-2.96-132.7.2
compat-libstdc++-33-3.2.3-47.3
control-center-2.8.0-12.rhel4.5
gcc-3.4.6-9.0.1
gcc-c++-3.4.6-9.0.1
glibc-2.3.4-2.39
glibc-common-2.3.4-2.39
glibc-devel-2.3.4-2.39
gnome-libs-1.4.1.2.90-44.2
package libaio is not installed <--(Disk3/Enterprise/RPMS/)
libgcc-3.4.6-9.0.1
libstdc++-3.4.6-9.0.1
libstdc++-devel-3.4.6-9.0.1
make-3.80-6.EL4
pdksh-5.2.14-30.6
setarch-1.6-1
sysstat-5.0.5-16.rhel4
xorg-x11-deprecated-libs-6.8.2-1.EL.33.0.1
openmotif-2.2.3-10.1.el4
package openmotif21 is not installed <--(Disk3/Enterprise/RPMS/)
xorg-x11-6.8.2-1.EL.33.0.1
xorg-x11-devel-6.8.2-1.EL.33.0.1
package oracleasm is not installed <--(Disk4/Enterprise/RPMS/)

미설치된 패키지 추가 설치

# rpm -Uvh libaio-0.3.105-2.i386.rpm
warning: libaio-0.3.105-2.i386.rpm: V3 DSA signature: NOKEY, key ID b38a8516
Preparing... ########################################### [100%]
1:libaio ########################################### [100%]

# rpm -Uvh openmotif21-2.1.30-11.RHEL4.6.i386.rpm
warning: openmotif21-2.1.30-11.RHEL4.6.i386.rpm: V3 DSA signature: NOKEY, key ID b38a8516
Preparing... ########################################### [100%]
1:openmotif21 ########################################### [100%]


(참고) oracleasm은 추후에 설치토록합니다.

시스템 요구사항의 확인 (Hardware Check)
- 최소 메모리 요구사항 : 1GB
- swap 공간 요구사항 : 1.5GB 이상
swap 공간은 2GB 이하 메모리를 장착한 시스템의 경우 메모리 용량의 2배로,
2GB를 넘는 메모리를 장착한 시스템의 경우 메모리 용량의 1~2배 사이의
용량으로 설정되어야 합니다.
- Disk 요구 사항 :
- 10g 소프트웨어 : 2.5 GB
- 데이터베이스 : 1.2 GB
- /tmp 디렉토리 : 최소한 400 MB의 여유 공간

# grep MemTotal /proc/meminfo
MemTotal: 1034564 kB

# grep SwapTotal /proc/meminfo
SwapTotal: 2048276 kB

# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 20G 2.7G 17G 15% /
none 506M 0 506M 0% /dev/shm

위의 예에서는 /tmp 디렉토리가 별도 파일시스템에 구현되어 있지 않고,
root 파일시스템에 포함되어 있습니다.

Linux 커널 매개변수의 설정

(1) /etc/sysctl.conf 파일 편집

# vi /etc/sysctl.conf <-- [i]키를 누른 후, INSERT 모드에서 제일 하단에 아래의 내용을 복사하여 붙여 넣기 합니다.

# For Oracle
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144

<-- 편집 후, Esc 키를 여러번 누른 다음, :wq! 입력 후 vi 편집기를 종료 합니다.

(참고)
Oracle Database 10g 가 요구하는 커널 매개변수 설정은 위와 같습니다.
이 수치는 최소값을 의미하며, 시스템이 위에 명시된 것보다
높은 수치로 설정되어 있는 경우에는 변경하지 마시기 바랍니다.

(2) 변경내용의 적용

# /sbin/sysctl -p


net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144

(3) /etc/security/limits.conf 파일 편집

# vi /etc/security/limits.conf <-- [i]키를 누른 후 INSERT 모드에서 제일 하단에 아래의 내용을 복사하여 붙여 넣기 합니다.

# For Oracle
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
<-- 편집 후, Esc 키를 여러번 누른 다음, :wq! 입력 후 vi 편집기를 종료 합니다.

(4) /etc/pam.d/login 파일 편집

# vi /etc/pam.d/login <-- [i]키를 누른 후 INSERT 모드에서 제일 하단에 아래의 내용을 복사하여 붙여 넣기 합니다.

# For Oracle
session required pam_limits.so
<-- 편집 후, Esc 키를 여러번 누른 다음, :wq! 입력 후 vi 편집기를 종료 합니다.


(5) oracle 계정에 대한 파일의 크기 및 갯수 제한을 위한 ulimit 값을 수정하기 위해서 /etc/profile 파일에 아래 내용을 추가

# vi /etc/profile

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

Oracle S/W의 설치 및 Database 관리에 사용할 Linux OS 그룹(oinstall 과 dba)생성

# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba

Oracle S/W의 설치 및 Database 관리에 사용할 Linux OS 계정(oracle) 생성
# /usr/sbin/useradd -m -g oinstall -G dba oracle
# id oracle
uid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba)

oracle 계정의 password 지정

# passwd oracle
Changing password for user oracle.
New UNIX password: <-- oracle 입력
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password: <-- oracle 입력
passwd: all authentication tokens updated successfully.

디렉토리의 생성 및 소유권과 작업권한 변경 (OFA 준수)

# mkdir -p /stage
# mkdir -p /u01/app/oracle/oradata
#
# chown -R oracle:oinstall /u01/app/oracle /stage <-- 소유권 부여
# chmod -R 775 /u01/app/oracle /stage <-- 작업권한 변경

oracle 계정을 위한 환경 변수 설정(oracle 계정에서 아래 명령을 실행합니다.)

(1) /home/oracle/.bash_profile 파일 편집

# su - oracle
$
$ vi /home/oracle/.bash_profile <-- [i]키를 누른 후 INSERT 모드에서 제일 하단에 아래의 내용을 복사하여 붙여 넣기 합니다.

# For ORACLE SW and DB Server
umask 022
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
TNS_ADMIN=/u01/app/oracle/product/10.2.0/db_1/network/admin
ORACLE_SID=orcl
PATH=$PATH:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
PATH=$ORACLE_HOME/bin:$PATH

LD_LIBRARY_PATH=/usr/lib:/usr/X11R6/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/jdk/jre/lib/i386
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/jdk/jre/lib/i386/server
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/rdbms/lib:$ORACLE_HOME/lib
JAVA_HOME=$ORACLE_HOME/jdk

EDITOR=vi

export ORACLE_BASE ORACLE_HOME TNS_ADMIN ORACLE_SID
export PATH LD_LIBRARY_PATH JAVA_HOME EDITOR

##NLS_LANG=KOREAN_KOREA.KO16MSWIN949;export NLS_LANG

<-- 편집 후, Esc 키를 여러번 누른 다음, :wq! 입력 후 vi 편집기를 종료 합니다.

(2) 변경사항 적용

$ source .bash_profile






관련글 더보기

댓글 영역