Ubuntu 12.04 64bit 에 오라클 11g R2 설치
1. 웬만하면 오라클설치가 지원되는 Linux 배포판을 사용하는게 정신건강에 좋다.
2. 절대 Production System으로서 Ubuntu/Oracle 콤보를 사용하지 말길 바란다.
자 확실히 했다면 이제 오라클 설치를 해보자.
================================================================================
1. 사전 작업들
================================================================================
- 우분투 12.04 64bit 설치(모든 종류의 우분투계열 12.04 64bit 에 적용가능하다.)
- 오라클홈페이지에서 Linux 64비트용 Oracle 받기
================================================================================
2. 우분투 설정 변경
================================================================================
- Oracle 설치에 필요한 그룹 및 oracle 계정 생성
1: sudo groupadd oinstall
2: sudo groupadd dba
3: sudo mkdir -p /opt/oracle
4: sudo useradd -g oinstall -G dba -d /opt/oracle -s /bin/bash oracle
5: sudo passwd oracle
6: sudo chown -R oracle:oinstall /opt/oracle
7: sudo echo "oracle ALL=(ALL) ALL" >> /etc/sudoers
- 커널 파라미터 변경
/etc/sysctl.conf 의 맨 아래 부분에 다음의 내용을 추가한다.
1: #
2: # Oracle 11g
3: #
4: kernel.sem = 250 32000 100 128
5: kernel.shmall = 2097152
6: kernel.shmmni = 4096
7: # Replace kernel.shmmax with the half of your memory in bytes
8: # if lower than 4Go minus 1
9: # 1073741824 is 1 GigaBytes
10: kernel.shmmax=1073741824
11:
12: # Try sysctl -a | grep ip_local_port_range to get real values
13: net.ipv4.ip_local_port_range = 9000 65500
14:
15: net.core.rmem_default = 262144
16: net.core.rmem_max = 4194304
17: net.core.wmem_default = 262144
18: net.core.wmem_max = 1048576
19:
20: # Max value allowed, should be set to avoid IO errors
21: fs.aio-max-nr = 1048576
22: # 512 * PROCESSES / what really means processes ?
23: fs.file-max = 6815744
24:
25: # To allow dba to allocate hugetlbfs pages
26: # 1001 is your oinstall group, id. grep oinstall /etc/group will give this value
27: vm.hugetlb_shm_group = 1001
여기서 주의할 점은 아까 추가한 oinstall 그룹의 그룹아이디가 1001 이 아닌 경우에 vm.hugetlb_shm_group의 값을 해당 그룹아이디로 수정 해 주어야 한다.
수정이 되었으면 아래의 명령을 실행하여 시스템에 반영한다.
1: sudo sysctl -p
이제 oracle 계정의 제한들을 수정한다.
/etc/security/limits.conf 맨 아래에 다음과 같은 내용을 추가한다.
1: # Oracle
2: oracle soft nproc 2047
3: oracle hard nproc 16384
4: oracle soft nofile 1024
5: oracle hard nofile 65536
6: oracle soft stack 10240
/etc/pam.d/login 파일에 아래와 같은 내용이 포함되어 있는지 확인한다. 없으면 추가한다.
1: session required pam_limits.so
1: if [ $USER = "oracle" ]; then
2: if [ $SHELL = "/bin/ksh" ]; then
3: ulimit -p 16384
4: ulimit -n 65536
5: else
6: ulimit -u 16384 -n 65536
7: fi
8: fi
================================================================================
3. 필요 패키지 추가
================================================================================
아래 명령을 실행하여 패키지들을 최신의 상태로 만든다.
1: sudo apt-get update
2: sudo apt-get dist-upgrade
아래 명령을 실행하여 필요한 패키지들을 설치 한다.
1: sudo apt-get install alien autoconf automake autotools-dev binutils bzip2 doxygen elfutils expat gawk gcc gcc-multilib g++-multilib ia32-libs ksh less lesstif2 lesstif2-dev lib32z1 libaio1 libaio-dev libc6-dev libc6-dev-i386 libc6-i386 libelf-dev libltdl-dev libmotif4 libodbcinstq4-1 libodbcinstq4-1:i386 libpth-dev libpthread-stubs0 libpthread-stubs0-dev libstdc++5 lsb-cxx make openssh-server pdksh rlwrap rpm sysstat unixodbc unixodbc-dev unzip x11-utils zlibc build-essential
아래 명령들을 실행하여 필요 패키지를 설치한다.
1: mkdir /tmp/libstdc++5
2: cd /tmp/libstdc++5
3: wget http://old-releases.ubuntu.com/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-17ubuntu1_i386.deb
4: wget http://old-releases.ubuntu.com/ubuntu/pool/universe/g/gcc-3.3/libstdc++5-3.3-pic_3.3.6-8ubuntu1_amd64.deb
5: sudo dpkg --force-architecture -i libstdc++5_3.3.6-17ubuntu1_i386.deb
6: sudo mv /usr/lib/libstdc++.so.5* /usr/lib32/
7: sudo dpkg -i libstdc++5-3.3-pic_3.3.6-8ubuntu1_amd64.deb
Oracle을 설치하려면 XWindow가 필요하기 때문에 Ubuntu Server의 경우 아래의 명령을 실행하여 gnome을 설치한다.
1: sudo apt-get install ubuntu-desktop
모두 설치되었으면 재부팅을 한다.
================================================================================
4. 설치시 오류에 대한 대비
================================================================================
아래의 명령들을 실행해 준다.
1: sudo ln -s /usr/lib/x86_64-linux-gnu /usr/lib64
2: sudo ln -sf /bin/bash /bin/sh
3: sudo ln -s /usr/bin/awk /bin/awk
4: sudo ln -s /usr/bin/rpm /bin/rpm
5: sudo ln -s /usr/bin/basename /bin/basename
6: sudo ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib64/.
1: su - oracle
2: cd
3: touch oraerr.sh
4: chmod +x oraerr.sh
1: sed -i 's/^\(\s*\$(MK_EMAGENT_NMECTL)\)\s*$/\1 -lnnz11/g' $ORACLE_HOME/sysman/lib/ins_emagent.mk
2: sed -i 's/^\(TNSLSNR_LINKLINE.*\$(TNSLSNR_OFILES)\) \(\$(LINKTTLIBS)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/network/lib/env_network.mk
3: sed -i 's/^\(ORACLE_LINKLINE.*\$(ORACLE_LINKER)\) \(\$(PL_FLAGS)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/rdbms/lib/env_rdbms.mk
4: sed -i 's/^\(\$LD \$LD_RUNTIME\) \(\$LD_OPT\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/bin/genorasdksh
5: sed -i 's/^\(\s*\)\(\$(OCRLIBS_DEFAULT)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/srvm/lib/ins_srvm.mk
아래 명령을 실행해 실행가능한 파일로 만든다.
1: chmod +x oraerr.sh
아래 명령을 실행해 준다.
1: touch .bashrc
2: ln -s .bashrc .bash_profile
/opt/oracle/.bashrc 파일에 다음과 같은 내용을 넣어준다.
1: # set file creation mask
2: umask 022
3:
4: # setting up oracle environment variables
5: ORACLE_BASE=/opt/oracle/oracle11g
6: ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
7: LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
8: PATH=$ORACLE_HOME/bin:$PATH
9: export ORACLE_BASE ORACLE_HOME LD_LIBRARY_PATH PATH
아래 명령을 실행해 oracle 환경변수를 지정해 준다.
1: cd
2: . .bashrc
================================================================================
6. Oracle 설치
================================================================================
자, 이제 본격적으로 오라클 설치를 진행해 보자.
oracle 계정으로 로그인하고, 터미널을 하나 연다.
미리 받아놓은 오라클 설치파일의 압축을 풀어준다.
1: unzip linux.x64_11gR2_database_1of2.zip
2: unzip linux.x64_11gR2_database_2of2.zip
1: cd /opt/oracle/database/
2: export LANG=C
3: ./runInstaller
설치 중간에 필요한 라이브러리들을 못찾는다고 불평을 하지만, “ignore all” 을 체크하고 넘어간다.
설치시 오류가 발생한다. 원래 날 수 밖에 없는 것이니 겁먹지 말고, 설치화면은 그대로 두고,
터미널을 하나 열어 아래의 명령을 실행한다.
1: cd
2: ./oraerr.sh
그렇다 아까 만들어놓은 스크립트를 실행하는 것이다. 실행이 끝났으면 다시 설치화면으로 돌아와서,
그 오류 화면에서 “retry”를 눌러준다.
그러면 나머지 모든 설치과정이 아무 문제없이 진행될 것이다.
================================================================================
7. 결론.
================================================================================
굳이 이렇게 설치할 필요가 있을까?
하지만, 우분투를 쓰고 있으면서 오라클도 쓰고 싶다면 머, 그냥 이렇게라도 설치를 해야 하겠지..
그래도 되도록이면 지원되는 리눅스 배포판을 사용하는 것이 정신건강에 좋다.
추가로 참고 URL http://ioriy2k.pe.kr/archives/656
댓글 없음:
댓글 쓰기