사이드바 영역으로 건너뛰기

CentOS 5.2 에 Oracle 10g R2 Install

작업에 필요해서 오라클을 깔게 되었다.

 

지난주 금요일에 시작해서 오늘에서야 겨우.... 도대체 뭐가 문제인지 알수는 없지만 그동안 괴롭혔던 문제들이 해결되어서 그 과정을 적는다.

 

실패의 시간들

 

1./etc/hosts 에 데이터가 제대로 안들어가 있어서 문제였던 부분들이 있다. 고정IP 가 아니라고 할지라도 오라클 인스톨 할 때는 제대로 입력해주는게 좋은 거같다.

   예) 192.168.1.10     db.myhost.co.kr db

와 같은 형태로

 

2.버전 문제도 있는거 같다. 11g를 깔아볼려고 그 애를 써도 안깔리더니 10gR2는 잘 깔린다. 게다가 http://www.oracle.com 으로 들어가서 모두다운로드 링크타고 들어가서 받아온 10g는 인스톨중에 에러내고 안깔리더니 http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10201linuxsoft.html 에서 받은 10g는 잘 깔렸다. 이건 뭔 경우여...

 

ORA-12154 에러를 만날때마다 내가 뭐를 그렇게 잘 못 설정했나 싶었는데 선택의 문제도 있나 보다.(하지만 내가 세팅 잘못한 어떤 값때문일 확률이 높다. 다른 사람들은 성공한 사람도 많은거 보면..)

 

오라클 설치

 

1.사전 준비

    ㄱ.리눅스 설치

         설치는 centos 5.2 버전으로 했다.

         서버에 설치되어 있는 램은 4G 로 swap 도 4G 를 주어서 포맷했다.(오라클 문서에 보면 메모리가 1~4G 에서는 메모리만큼 swap 을 주도록 적혀져 있는데 그냥 맘편하게 4G 해주는게 warning 안만나고 좋을거 같다.)

         오라클 설치가 xwindow 에서 되기 때문에 설치유형에서 [Server-Gui]를 선택하고 사용자유형에 체크해줘서 설치될 개별 패키지를 선택했다. KDE 를 선택하고 개발용 라이브러리는 모두 선택,서버는 모두 선택안함(리눅스가 좋은 것 중의 하나가 꼭 필요하지 않은 서비스를 보다 쉽게 컨트롤 할 수 있는거다.)

         설치가 끝나고 난 후 kde 상에서 로그인 후에 소프트웨어 업데이트를 통해 업데이트 가능한 모든 패키지를 업데이트 시킨다.

 

    ㄴ.오라클 유저 생성

           groupadd oinstall

          groupadd dba

          useradd -g oinstall -G dba oracle

 

   ㄷ.소프트웨어 압축해제   

           unzip 10210_database_linux32.zip (이건 oracle 유저로 )

 

   ㄹ.필요한 패키지 확인

필요한 패키지는 대충 아래와 같다. 처음 리눅스 설치할 때 어떻게 했느냐에 따라 다르게 나올거고 사실 오라클 설치하다가 보면 문제가 있다고 나오면 그때 설치해도 문제는 없다.

 

yum list 패키지 이름

으로 확인해서 없는 경우에는

yum install 패키지 이름으로 설치했다.

 

setarch-2.0-1.1
glibc-2.5-24.el5_2.2
compat-gcc-34-3.4.6-4
make-3.81-3.el5
compat-libstdc++-33-3.2.3-61
libaio-0.3.106-3.2

libaio-devel.i386 0:0.3.106-3.2
gcc-4.1.2-42.el5

libXp-1.0.0-8.1.el15

libXp-devel.i386 0:1.0.0-8.1.el5

openmotif.i386 0:2.3.0-0.5.el5

compat-db.i386 0:4.2.52-5.1

 

   ㅁ.kernel 파라미터

오라클 설치할 때 확인하는 값은 아래와 같다.

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

각 값들이 이보다 커야 설치에 문제가 없다.

뭐 이것도 사실 설치하다가 메시지 뜨면 그때 설정해도 문제는 없다.

 

각 값이 어떻게 되어 있는지 보려면

/sbin/sysctl -a | grep 파라미터 이름

예)  /sbin/sysctl -a | grep shm

vm.hugetlb_shm_group = 0
kernel.shmmni = 4096
kernel.shmall = 268435456
kernel.shmmax = 4294967295

 

값들을 변경시키려면 /etc/sysctl.conf 를 수정하면 된다.

 

[root@db ~]# vi /etc/sysctl.conf

# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and
# sysctl.conf(5) for more details.

# Controls IP packet forwarding
net.ipv4.ip_forward = 0

# Controls source route verification
net.ipv4.conf.default.rp_filter = 1

# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0

# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core filename
# Useful for debugging multi-threaded applications
kernel.core_uses_pid = 1

# Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1

# Controls the maximum size of a message, in bytes
kernel.msgmnb = 65536

# Controls the default maxmimum size of a mesage queue
kernel.msgmax = 65536

# Controls the maximum shared segment size, in bytes
kernel.shmmax = 4294967295

# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 268435456

 

와 같이 되어 있는 파일의 마지막에 변경하고자 하는 값들을 적어준다.

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

 

여기서 file-max는 문서에 보면 프로세서 * 512 값이라고 되어있다.

 

저장하고 나서

 

[root@db ~]# /sbin/sysctl -p

했을 때 에러나지 않고 저장한 값들이 화면에 죽 뜨면 잘 된거다.

[root@db ~]# /sbin/sysctl -a

 해서 마침

 

 

   ㅂ.oracle directory

[root@db ~]# mkdir -p /u01/app/oracle
[root@db ~]# mkdir -p /u01/tmp
[root@db ~]# chown -R oracle:oinstall /u01/app/
[root@db ~]# chown -R oracle:oinstall /u01/tmp 

 

   ㅅ.oracle shell 환경설정

 

[root@db ~]# vi /etc/pam.d/login

마지막에

session required /lib/security/pam_limits.so

입력해준다.

 

[root@db ~]# vi /etc/security/limits.conf

soft nproc 2047
hard nproc 16384
soft nofile 1024
hard nofile 65536  

 

입력해준다.

 

[root@db ~]# su - oracle
[oracle@db ~]$ vi .bash_profile

 

TMP=/u01/app/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/10gR2; export ORACLE_HOME
ORACLE_SID=hexpo; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH

 

입력해준다.

입력후

[oracle@db ~]$ . .bash_profile 나 [oracle@db ~]$ source .bash_profile 하여 변경내용을 적용시킨다.

 

 

  2. 오라클 설치

 

 

        

진보블로그 공감 버튼트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크