> Hello World !!!

     

@syaku

리눅스 우분투 9 오라클 11g 설치 : Linux Ubuntu Oracle

written by Seok Kyun. Choi. 최석균

오라클 11g 설치 메뉴얼

※ 운영체제 : 리눅스 우분투 9
※ 오라클 사이트 : http://www.oracle.com/
※ 오라클 다운로드 : http://www.oracle.com/technology/software/products/database/oracle11g/111060_linuxsoft.html
※ 오라클 설치가이드 : http://www.oracle.com/pls/db111/homepage
※ 구글번역기 : http://translate.google.com

** 오라클 설치가 가장 어렵네요. ㅜ.ㅜ 여러분들도 신경쓰시고 따라해주시길 바랍니다.

1. 준비사항

-- root 계정으로 터미널에 접속하자.
# su -
암호입력

-- 한글이 깨지거나 언어 오류가 발생할때 아래의 명령어를 실행하면 된다.
# export LANG=C

-- 커널 버전 확인. 버전 2.6.11 이상되어야 설치가 가능하다. 우분투 9 서버에는 문제없이 설치가능하다.
# uname -r

** 오라클을 설치하기 위해 필요한 패키지이다.
binutils-2.17.50.0.6-2.el5
compat-libstdc++-33-3.2.3-61
elfutils-libelf-0.125-3.el5
elfutils-libelf-devel-0.125
glibc-2.5-12
glibc-common-2.5-12
glibc-devel-2.5-12
glibc-headers-2.5-12
gcc-4.1.1-52
gcc-c++-4.1.1-52
libaio-0.3.106
libaio-devel-0.3.106
libgcc-4.1.1-52
libstdc++-4.1.1
libstdc++-devel-4.1.1-52.e15
make-3.81-1.1
sysstat-7.0.0

-- 패키지명은 운영체제마다 약간식 틀리다. 알맞은 패키지를 검색하여 설치해주면 되는 데, 대부분 패키지는 우분투에 설치되어있다.
# apt-get update
# apt-get upgrade

-- 설치가 올바르게 되지 않을 경우 하나하나 설치해주는 것도 좋은 방법이다.
# apt-get install binutils elfutils glibc-2.9-1 gcc libaio1 libaio-dev libgcc1 libstdc++6 libstdc++6-4.3-dev make sysstat lesstif2 lesstif2-dev build-essential rpm libc6 original-awk gawk ksh alien

2. 그룹 및 사용자 생성

-- 그룹 및 사용자 추가
# addgroup dba
# addgroup oinstall
# addgroup nobody
# useradd -m oracle -g oinstall -G dba -s /bin/bash
# useradd -g nobody nobody
# passwd oracle
** 암호를 입력한다.

3. 필요한 디렉토리생성

# mkdir /oracle
# mkdir /oracle/11g
# chown -R oracle:oinstall /oracle
# chmod -R 775 /oracle

4. 커널 파라미터 설정

** 참고사항
오라클서버의 시스템 전역 영역 (SGA : System Global Area) 메모리를 수용하도록 Linux의 Kernel IPC(Interprocess communication) 파라미터를 수정해야 한다.

 파라미터  권장값  설명
 SHMMAX  214748368  한 개의 공유메모리 세그먼트의 최대크기 (바이트 단위, 2GB 의미)
 SHMMIN  1  한 개의 공유메모리 세그먼트의 최소크기 (바이트 단위)
 SHMMNI  100  공유메모리 식별자의 개수
 SHMSEG  4096  한 개의 프로세스에 연결될 수 있는 공유 메모리 세그먼트의 최대값
 SEMMNS  256  시스템 내 세마포어의 개수
 SEMMNI  100  시스템 내 세마포어 set 식별자의 개수.  SEMMNI는 어느 한 순간에
동시 사용될 수 있는 세마포어의 개수를 결정한다.
 SEMMSL  Processes 파라미터 값보다 같거나 크게 설정.  한 개의 세마포어 세트에 존재할 수 있는 세마포어의 최대 개수. 오라클 프로세스의 최대 개수에 10개를 더한 값으로 설정한다.
 SEMOPM  100  Semop call 당 operations의 최대 개수
 SEMVMX  32767  세마포어의 최대값을 결정한다.

++ 제공 : 네이버 지식in

-- 커널 파라미터 확인
# sysctl -a | grep 파라미터명

-- 커널 파라미터 설정. 맨하단에 삽입하자.
# vi /etc/sysctl.conf

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

-- 재부팅을 하고, 적용하기
# /sbin/sysctl -p

-- 사용자계정 쉘 리미트 설정. 맨 하단에 삽입
# vi /etc/security/limits.conf

oracle soft nproc 2047
oracle hard nproc 16383
oracle soft nofile 1023
oracle hard nofile 65535

-- 맨 하단에 삽입
# vi /etc/pam.d/login

session required /lib/security/pam_limits.so
session required pam_limits.so

-- 디렉토리 심볼 링크. 각혼 다른 위치에 존재하기때문에 dpkg -S 패키지명 을 이용하여 위치를 알아보자. 심볼 링크를 잘못걸었을 때는 -sf 옵션을 주면된다.

# ln -s /usr/bin/original-awk /bin/awk
# ln -s /usr/lib/rpm /bin/rpm
# ln -s /lib/libgcc_s.so.1 /lib/libgcc_s.so
# ln -s /usr/bin/basename /bin/basename

posted syaku blog


5. 환경변수 설정

# vi /etc/profile

export ORACLE_OWNER=oracle
export ORACLE_BASE=/oracle
export ORACLE_HOME=/oracle/11g
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin

6. 설치

오라클 설치과정은 GUI 방식이기 때문에 X윈도우가 필요하다. 설치후 재부팅한다. (설치 시간이 꽤 걸림)

## 2009년 10월 23일 내용추가
우분투 데스크톱과 서버의 차이는 GUI 이다. 즉, 그래픽모드를 지원하느냐와 지원하지 않고 텍스트만 지원하는 냐의 차이라는 것이다. 운영체제의 선택을 본인이 해야할 것 같다.

-- 데스크탑 설치
# apt-get install ubuntu-desktop

-- 내려받은 오라클을 압축해제한다. 그리고 오라클 계정의 권한있는 적당한 곳에 옮긴다.
# mkdir /home/oracle
# mv ./linux_11gR1_database_1013.zip /home/oracle
# unzip linux_11gR1_database_1013.zip
# chown -R oracle:oinstall ./database

-- 호스트 설정
# sudo -i
# xhost +
# su - oracle
# export DISPLAY=:0.0

-- 설치 시작 명령어와 함께 터미널에 보여지는 문구는 3개의 Pass 메세지를 출력해야 한다.
# ./database/runInstaller

** 이제부터 GUI 설치화면이 출력된다. 아래의 캡쳐 시나리오는 각 서버환경에 따라 다를수있다.



환경변수에 잡았던것과 똑같이해준다.



해당 폴더를 생성할 수 없기에 경고를 출력하고 있다.



오라클 폴더 아래 oraInventory 경로를 잡아준다. 그리고 dba 그룹을 설정하자.



테스트로 이미 여러번 설치 취소를 했더니... 이미 폴더가 존재한다는 경고메세지 같다.



오라클의 설치환경을 체크하는 화면이다. Warning 이나 Not executed 가 출력되면, User Verified 로 체크하여 처리하자.



오라클 관리담당자 등록부분인것 같다. 생략한다.









먼가 실패했다는 데... 이해불가 일단 생략...



오라클 계정 암호를 관리한다.



SYS 와 SYSTEM 의 암호를 설정한다.



SCOTT 계정 락을 풀어준다. 그리고 암호를 설정하자.



명령어를 실행하라는 것 같은데... 터미널을 열어 root 계정으로 접속한다.

# su -
# /oracle/oraInventory/orainstRoot.sh
# /oracle/11g/root.sh

-- /usr/local/bin 경로 물어볼경우 /usr/bin 입력하자.



이건 위 작업을 생략하고, OK 버튼을 클릭해서 발생한 경고이다.



반가운 메세지... 완료!!!

6. 오라클 서비스 시작하기

-- 오라클 계정으로 접속
# su - oracle

-- 리스너 시작. 오라클 계정으로 접속후 다음 명령어를 수행하자.
# lsnrctl start

-- 오라클 시작
# sqlplus /nolog
SQL> connect orcl as sysdba
SQL> startup

-- 오라클 종료
SQL> shut

7. 오라클 서비스 자동 시작

-- 오라클 자동시작. 맨 하단의 메세지에서 N을 Y로 변경한다.
# vi /etc/oratab
orcl:/oracle/11g:Y

-- 서비스 생성
# vi /etc/init.d/oracle

#!/bin/bash
ORA_HOME="/oracle/11g"
ORA_OWNER="oracle"
 
if [ ! -f $ORA_HOME/bin/dbstart -o ! -d $ORA_HOME ]
then
        echo "Oracle Startup: failed"
        exit 1
fi
 
case "$1" in
start)
        echo -n "Oracle Start: "
        su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start"
        su - $ORA_OWNER -c $ORA_HOME/bin/dbstart
        touch /var/lock/subsys/oracle
        echo "OK"
        ;;
stop)
        echo -n "ORACLE Shutdown: "
        su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop"
        su - $ORA_OWNER -c $ORA_HOME/bin/dbshut
        rm -f /var/lock/subsys/oracle
        echo "OK"
        ;;
restart)
        $0 stop
        $0 start
        ;;
*)
        echo "Usage: $0 start|stop|restart"
        exit 1
esac
exit 0

# cd /etc/init.d
# chmod 755 oracle

-- 서비스 등록
# chkconfig -add oracle
# chkconfig -level 3 oracle on

-- 서비스 시작 및 종료
# /etc/init.d/oracle [start|stop|restart] 

** 사용에 문제는 없지만, 경고가 출력된다... ;;; 해결중...

Oracle Start:
LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 23-JUN-2009 21:08:14

Copyright (c) 1991, 2007, Oracle.  All rights reserved.

TNS-01106: Listener using listener name LISTENER has already been started
/oracle/11g/bin/dbstart: 96: cannot create /oracle/11g/listener.log: Permission denied
/oracle/11g/bin/dbstart: 96: cannot create /oracle/11g/listener.log: Permission denied

Processing Database instance "orcl": log file /oracle/11g/startup.log
touch: cannot touch `/var/lock/subsys/oracle': No such file or directory
OK

8. 부록: X윈도우 설치 후 Text 모드 (터미널) 로 부팅하기.

-- X윈도우 터미널에서 root 계정으로 다음 명령어를 수행한다.
# export LANG=C
# update-rc.d -f gdm remove

-- 다시 X윈도우로 부팅하려면
# update-rc.d -f gdm defaults

** 단축키
콘솔모드 전환 : Ctrl + Alt + F1
X윈도우 전환 : Alt + F7
사용자 전환 : Alt + F1 ~ F6

P.S. 구글 번역기로 오라클 메뉴얼을 번역하면서까지 그리고 다른 분들의 좋은 포스트도 분석하면서 겨우 설치가 완료되었습니다. 몇일간 준비한 만큼 많은 도움되었으면 하구요... 틀린건 운영체제뿐인데, 전 아직 정리가 안됩니다. ;;; 

 

http://syaku.tistory.com