사용자 도구

사이트 도구


dbms:oracle:install:installoracle10gondebianlinuxlenny

Installation Guide Oracle 10g On Debian 5.0 (lenny) (데비안에 오라클 10g 설치하기)

Purpose

Environment

  • RedHat Linux 인 것처럼 속이는 것이다.
    # echo "Red Hat Enterprise Linux AS release 3 (Taroon Update 5)" > /etc/redhat-release
  • Oracle 설치에 필요한 패키지와 원격에서 X를 실행할 수 있는 패키지를 설치한다.
  • Debian 패키지를 설치해 준다. (etch 버젼기준)
    # apt-get install libdb1-compat g++ pdksh sysstat libc6 libc6-dev libaio1 libstdc++5
    # apt-get install gcc make binutils lesstif2 lesstif2-dev rpm gawk x-window-system-core unzip xterm
  • 심볼릭링크를 만든다.(RedHat 과 Debian 은 기본프로그램의 PATH가 다르기 때문에 링크를 걸어준다.)
    # ln -s /usr/bin/awk /bin/awk
    # ln -s /usr/bin/rpm /bin/rpm
    # ln -s /usr/bin/basename /bin/basename # Suggested by Giuseppe Sacco
    # ln -s /etc /etc/rc.d                  # Required for root.sh
  • sshd를 통해 X 접근이 가능하도록 X11Forwarding을 yes로 변경해 준다. 원격 xserver 를 통해서 설치하는 경우 설정한다.
    $ vi /etc/ssh/sshd_config
    ...
    X11Forwarding yes
    ...
  • Ubuntu Dapper 에서는 다음과 같이 설치한다.
    # sudo apt-get install gcc libaio1 lesstif2 lesstif2-dev make rpm libc6 libstdc++5
  • 우분투에서는 다음도 실행한다.
    # sudo ln -s /lib/libgcc_s.so.1 /lib/libgcc_s.so

Create oracle user

  • dba 그룹이 있는지 확인하고 없으면 생성한다.
    # grep dba /etc/group
    # groupadd dba
  • oracle 계정을 생성한다.
    # useradd -g dba -m -s /bin/bash oracle
    # passwd oracle
    • 우분투에서는 nobody 계정도 생성한다.
      # groupadd nobody

Download Oracle Package

  • oracle 계정으로 로그인한다.
  • 오라클 사이트 http://www.oracle.com/technology/software/products/database/oracle10g/index.html 에 가서 최신버젼을 다운로드 받는다.
    $ mkdir install
    $ cd install
    $ cp /path/from/10201_database_linux32.zip .
  • 디렉토리를 만들고 압축을 해제한다.
    $ unzip 10201_database_linux32.zip
  • 혹시 cpio로 묶여있다면 다음과 같이 해제한다.
    $ cpio -idmv < 10201_database_linux32.cpio

System Parameters

시스템 설정을 반드시 체크하고 설치를 진행하도록 하자.

  • 메모리를 확인한다.(최소 800M 이상 필요하다.)
    $ grep MemTotal /proc/meminfo
    MemTotal:       905400 kB
     
    $ free
                 total       used       free     shared    buffers     cached
    Mem:        905400     868836      36564          0      49592     471520
    -/+ buffers/cache:     347724     557676
    Swap:       489940     441404      48536
  • 스왑영역 확인(1G이상 권장한다.)
    # free
                 total       used       free     shared    buffers     cached
    Mem:        905400     868836      36564          0      49592     471520
    -/+ buffers/cache:     347724     557676
    Swap:       489940     441404      48536
    • 스왑영역이 1G보다 작을 경우에는 다음 명령을 통하여 파일스왑을 만들어준다.
      # dd if=/dev/zero of=swapfile bs=1024 count=1024
      # mkswap swapfile
      # swapon swapfile

Kernel Parameters

  • 현재 커널 파라매터값을 확인한다.
    # sysctl -a | grep -E '(sem|shm|file-max|ip_local_port_range)'
    net.ipv4.ip_local_port_range = 1024     65000
    kernel.sem = 250        32000   100     128
    kernel.shmmni = 4096
    kernel.shmall = 2097152
    kernel.shmmax = 2147483648
    fs.file-max = 65536
  • 커널 값을 수정하려면 /etc/sysctl.conf 파일을 편집기(vi 등)로 아래의 내용을 추가한다.
    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
    • 수정 후 바로 적용하려면 sysctl -p 명령을 주면 바로 적용된다.
  • /etc/security/limits.conf 에 limit 설정을 한다.
    # for oracle 10g
    *               soft    nproc   2047
    *               hard    nproc   16384
    *               soft    nofile  1024
    *               hard    nofile  65536
  • /etc/pam.d/login/etc/pam.d/su 에 다음 라인이 활성화되어 있는지 확인한다. - 기본적으로 설정되어 있다.
    session    required     pam_limits.so
  • /etc/profile 에 다음 내용을 추가한다.
    # for Oracle 10g
    if [ $USER = "oracle" ]; then
          if [ $SHELL = "/bin/ksh" ]; then
                ulimit -p 16384
                ulimit -n 65536
          else
                ulimit -u 16384 -n 65536
          fi
    fi

Shell environment

오라클 Bash 환경설정을 한다.

  • ~/.bash_profile~/.bashrc 에 아래의 내용을 설치한 경로에 맞추어서 추가한다.
    #
    # Oracle Environment
    #
    export ORACLE_BASE=/home/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/10g
    export ORACLE_SID=SOAF
    export PATH=$PATH:$ORACLE_HOME/bin
    # export NLS_LANG=KOREAN_KOREA.KO16MSWIN949
    # export NLS_LANG=KOREAN_KOREA.KO16KSC5601
    export SHLIB_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/jlib:/usr/lib
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/jdbc/lib
    export CLASSPATH=$ORACLE_HOME/lib/classgen.jar:$ORACLE_HOME/jdbc/lib:
     
    umask 022

Oracle Installation

원격서버 로그인

cygwin 를 이용한 간편 X 로그인방법

  1. Cgywin-XXWin Server 를 실행한다.
  2. ssh 를 이용하여 원격접속을 시도한다.
     $ ssh -X oracle@10.1.1.200 
  3. 원격서버에서 xclock 등이 실행되는지 확인해 본다.

일반적인 X 로그인방법

  1. XManager, cygwin 등의 툴이나 Linux에서 xhost를 이용하여 oracle 계정으로 로그인 한다.
    $ id
    uid=1017(oracle) gid=107(dba) groups=107(dba)
  2. 우선 Local PC의 X Server에서 xhost 를 실행한다.
    # xhost + 원격서버주소
  3. 해당 원격서버에 ssh 로 접속한 후, DISPLAY 환경변수를 설정한다.
  4. ssh 로 연결할 때, -X 옵션을 주면 DISPLAY 환경변수를 설정하지 않아도 된다. ^^
    # ssh 아이디@원격서버주소
    # export DISPLAY=로컬PC주소:0.0
  5. xclock 등으로 X 프로그램이 잘 실행되는지 테스트해본다.
    # xclock

설치시작

  1. runInstaller 을 실행한다.
    $ export LANG=C
    $ cd install/database
    $ ./runInstaller
  2. Oracle Installation GUI가 뜨고 그 후 과정은 오라클 설치문서대로 진행하면 된다.

FAQ

  1. 설치도중 rpm 에러가 2줄 나는 경우는 무시해도 상관없다.
  2. DB 생성시 라이브러리 에러가 발생해도 'continue'를 눌러 진행한다.
  3. ins_rdbms.mk 에러가 발생했을 경우, DB를 모두 내린 후 재컴파일 해준다.
    $ lsnrctl stop
    $ sqlplus "/as sysdba"
    SQL> shutdown immediate;
    $ cd $ORACLE_HOME/lib/
    $ make -f ins_rdbms.mk
  4. DB 생성시 TNS lost connect 에러가 발생하였을 경우, dbca로 DB를 수동생성해준다.
     $ dbca 
  5. 설치 후 EM 에 접속하려면 웹브라우저에서 http://아이피주소:1158/em 를 입력한다.
dbms/oracle/install/installoracle10gondebianlinuxlenny.txt · 마지막으로 수정됨: 2009/09/10 14:58 저자 starlits