출처 : http://blog.naver.com/PostView.nhn?blogId=wnsdnd83&logNo=140177567997




학습용으로 ORACLE XE를 우분투에 설치하려고 했으나... ORACLE 설치를 지원하는 OS에 우분투가 없음...

그래서 구글 검색결과 다양한 설치 방법들이 있었지만 시도해보니 실패함..

하다하다 보니 결국 성공했음.. 그러나 ORACLE XE 설치 후 학습용으로 HR계정 사용하는 법 이외에는 모르겠음.. -_-;

 

-환경

버추얼박스 버전 4.2.6

우분투 12.04 LTS 64bit Server

오라클 XE 11g Release 2 for Linux x64

 

 

-참조

http://mikesmithers.wordpress.com/2011/11/26/installing-oracle-11gxe-on-mint-and-ubuntu/ 

 

 

 

*설치방법*

 

1.버전 확인

시작하기 전에 현재 우분투가 32bit인지 64bit인지 확인해야 한다. 32bit는 안된다고 나와있음..

uname -i

명령어를 실행시켰을때 결과창에

x86_64

라고 나오면 설치가능함.

 

2.설치에 필요한 패키지 준비 및 오라클 다운로드

1) 오라클 리눅스 버전을 오라클 웹사이트에서 다운로드 한다.(zip 파일)

http://www.oracle.com/technetwork/products/express-edition/downloads/index.html 

 

2) 다운로드 한 파일을 unzip을 이용해 압축을 푼다.

unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip

아래와 같이 나오면 정상.

Archive:  oracle-xe-11.2.0-1.0.x86_64.rpm.zip
   creating: Disk1/
   creating: Disk1/upgrade/
  inflating: Disk1/upgrade/gen_inst.sql 
   creating: Disk1/response/
  inflating: Disk1/response/xe.rsp  
  inflating: Disk1/oracle-xe-11.2.0-1.0.x86_64.rp

 

3) 압축을 풀면 Disk1 이란 디렉토리가 생기는데 여기로 이동한다.

cd Disk1/


4) Disk1을 보면 rpm 파일이 있다. rpm 파일을 우분투에서 사용가능한 deb파일로 변환해줘야하는데 이때 필요한 패키지와,오라클설치시

필요한 패키지를 설치한다.

sudo apt-get install alien libaio1 bc


5) 설치 후에 rpm 파일을 deb 파일로 변환한다.

sudo alien --scripts oracle-xe-11.2.0-1.0.x86_64.rpm

※이 과정은 꽤 오래 걸린다.

완료되면 

oracle-xe_11.2.0-2_amd64.deb generated

라고 나온다.

 

 

3.우분투를 레드햇 리눅스 처럼 보이도록 설정

1) chkconfig 파일을 설정한다. 없을 경우에는 생성한다.

cd /sbin

sudo vi chkconfig

-chkconfig 파일을 다음과 같이 만들고 저장한다.

#!/bin/bash
# Oracle 11gR2 XE installer chkconfig hack for Debian by Dude
file=/etc/init.d/oracle-xe
if [[ ! `tail -n1 $file | grep INIT` ]]; then
   echo >> $file
   echo '### BEGIN INIT INFO' >> $file
   echo '# Provides:             OracleXE' >> $file
   echo '# Required-Start:       $remote_fs $syslog' >> $file
   echo '# Required-Stop:        $remote_fs $syslog' >> $file
   echo '# Default-Start:        2 3 4 5' >> $file
   echo '# Default-Stop:         0 1 6' >> $file
   echo '# Short-Description:    Oracle 11g Express Edition' >> $file
   echo '### END INIT INFO' >> $file
fi
update-rc.d oracle-xe defaults 80 01
그리고는 파일의 권한을 변경한다.
sudo chmod 755 chkconfig

2)Awk 링크를 생성한다.
sudo ln -s /usr/bin/awk /bin/awk

3.ORA - 00845 에러 방지

df -k

라고 쳤을때

1Filesystem     1K-blocks     Used Available Use% Mounted on
2...
3

none             3571460   624088   2947372  18% /dev/shm

위에처럼 나오지 않는다면

1) 루트 권한을 획득.

sudo su -

2) oracle-shm 파일을 생성

vi /etc/init.d/oracle-shm

 

아래 내용을 붙여넣고 저장.

#! /bin/sh 
# /etc/init.d/oracle-shm 
# 
# 
case "$1" in 
  start) 
    echo "Starting script /etc/init.d/oracle-shm" 
    # Run only once at system startup 
    if [ -e /dev/shm/.oracle-shm ]; then 
      echo "/dev/shm is already mounted, nothing to do" 
    else 
      rm -f /dev/shm 
      mkdir /dev/shm 
      mount --move /run/shm /dev/shm 
      mount -B /dev/shm /run/shm 
      touch /dev/shm/.oracle-shm 
    fi 
    ;; 
  stop) 
    echo "Stopping script /etc/init.d/oracle-shm" 
    echo "Nothing to do" 
    ;; 
  *) 
    echo "Usage: /etc/init.d/oracle-shm {start|stop}" 
    exit 1 
    ;; 
esac 
# 
### BEGIN INIT INFO 
# Provides:          oracle-shm 
# Required-Start:    $remote_fs $syslog 
# Required-Stop:     $remote_fs $syslog 
# Default-Start:     2 3 4 5 
# Default-Stop:      0 1 6 
# Short-Description: Bind /run/shm to /dev/shm at system startup. 
# Description:       Fix to allow Oracle 11g use AMM. 
### END INIT INFO

3) 권한 변경및 시작시 스크립트 등록

chmod 755 /etc/init.d/oracle-shm

update-rc.d oracle-shm defaults 01 9

명령 실행시 아래와 같이 나오면 정상이다.

1Adding system startup for /etc/init.d/oracle-shm ...
2  /etc/rc0.d/K99oracle-shm -> ../init.d/oracle-shm
3  /etc/rc1.d/K99oracle-shm -> ../init.d/oracle-shm
4  /etc/rc6.d/K99oracle-shm -> ../init.d/oracle-shm
5  /etc/rc2.d/S01oracle-shm -> ../init.d/oracle-shm
6  /etc/rc3.d/S01oracle-shm -> ../init.d/oracle-shm
7  /etc/rc4.d/S01oracle-shm -> ../init.d/oracle-shm
8  /etc/rc5.d/S01oracle-shm -> ../init.d/oracle-shm

 

4) 시스템 재부팅 후 적용 확인

reboot

시스템 재부팅후

df -k

아래와 같이 나오면 정상.

2Filesystem     1K-blocks     Used Available Use% Mounted on
3/dev/sda6       41021700  7160992  31805236  19% /
4udev             3529700        4   3529696   1% /dev
5tmpfs            1428588     1004   1427584   1% /run
6none                5120        0      5120   0% /run/lock
7none             3571460   624088   2947372  18% /dev/shm

 

 

 

4.오라클 설치

deb파일이 있는 디렉토리로 이동후 오라클 설치

sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb

 

 

5.설치후 설정변경

/etc/init.d/oracle-xe 가 바라보는 디렉토리는 /var/lock/subsys 인데 데비안계열(우분투) 리눅스에서는

이 구조가 아니라 /var/lock 이다. 이를 변경하기 위해 설정이 필요하다.

grep /var/lock/subsys /etc/init.d/oracle-xe

위와 같은 명령어를 실행할경우

touch /var/lock/subsys/listener
touch /var/lock/subsys/oracle-xe
        touch /var/lock/subsys/listener
    touch /var/lock/subsys/oracle-xe
if [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/listener
rm -f /var/lock/subsys/oracle-xe

 

라고 나온다. 이를 고치기 위해

sudo sed -i 's,/var/lock/subsys,/var/lock,' /etc/init.d/oracle-xe

를 실행한다. 그리고 다시 확인 해 보면

grep /var/lock/ /etc/init.d/oracle-xe

2 
3    touch /var/lock/listener
4    touch /var/lock/oracle-xe
5            touch /var/lock/listener
6        touch /var/lock/oracle-xe
7    if [ $RETVAL -eq 0 ] && rm -f /var/lock/listener

 

형태로 나오면 된다.

 

 

6.오라클 설정 실행

오라클 설정을 실행해 줘야한다.

실행 후 원하는 설정값을 입력후에 엔터를 쳐서 넘어가면 설치가 완료된다.

sudo /etc/init.d/oracle-xe configure

※ 원하는 값을 입력하면 설정이 시작되는데, 몇가지 항목을 설정중이라고 나오는데 시간이 오래걸릴 수도 있다.

 

 

7.환경변수 설정

. /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh

실행후

chmod a+x .bashrc

 

 

8.HR 계정 사용하기

오라클을 설치하면 HR계정이 잠겨있다.이를 잠김 해지 하기위해 오라클에 접속후 다음과 같은 명령어를 입력한다.

sqlplus system/password

SQL PLUS접속 후

alter user HR identified by PASSWORD account unlock;

 

이제 HR 계정이 사용가능하다.




  • 손님 2 2013/03/29 00:34답글 | 수정 | 삭제
    7번 하고 8번이 안되는데요 ㅠㅠ
    7번은 database configuration failed. look into /u01/app/oracle/product/11.2.0/xe/config/log for detail 에러가 나고
    chmod a+x .bashrc 이게 실행이 안되요 

    8번은 sqlplus 명령어를 모르고요 

    또 e오라클 수동 스타트업 해놨는데 어디서 수동으로 키죠 ?
  • oraclexe 2013/07/04 01:34수정 | 삭제
    http://xlsx.kr/qo3z6kwa5v?90385711 oraclexe 다운로드가능 신규웹하드 모든 신규가입자 24시간 무제한 다운로드 제공

    신규 웹하드 추천

    무인증 가입

    26e03
  • nextkong 2013/07/10 15:41수정 | 삭제
    7번의 경우 저도 안되서 고생하다가 관리자계정으로 접속해서 하니깐 문제없이돌아가요
    sudo su - 이거치고 나서 7번 두개다 실행하면 되더락요 그리고 8번은 저두 위에껀잘모르겟어요 어쨋든 sqlplu같은경우는 서치에서 찾으니깐 command창있길래 바로 실행함;; 도움이되셧으면좋겟네요
  • xe 설치R 2013/07/27 17:10수정 | 삭제
    xe 설치, 요즘 핫한 트랜드 영화, 드라마, 음란, 야시시, 예능, 다큐, 만화 24시간 무제한 감상하세요!
    http://%786d.%64%54%36%58.%6B%72.%6Fp%6A%6F%61.%6B%72/6%64gGxx%57K/xe+%EC%84%A4%EC%B9%98/?LK12NGY <- 클릭
  • xe 설치8 2013/08/19 19:59수정 | 삭제
    xe 설치 <--- 잘보았습니다~~
    노제휴 최신 자료 저렴하게다운받기.
    ♥♥최신영화.야한xx.드라마.예능.만화.에니.각종파일등 ♥♥
    http://%50%442.1m%53%70.kr.k%6Fo%69u.%6B%72/AQ%4DV25%54%36%45%56%4BG/xe+%EC%84%A4%EC%B9%98/?DB8H2BX <~~~클릭
    ★★★★★초강추 사이트 ★★★★★
  • Inark 2013/05/02 00:39답글
    a) Set-up the environmental variables, add following lines to the bottom of /etc/bash.bashrc :

    export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
    export ORACLE_SID=XE
    export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
    export ORACLE_BASE=/u01/app/oracle
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
    export PATH=$ORACLE_HOME/bin:$PATH

    b) execute your .profile to load the changes:

    source /etc/bash.bashrc

    Start the Oracle 11gR2 XE :

    sudo service oracle-xe start

    The output should be similar to following :

    user@machine:~$ sudo service oracle-xe start
    Starting Oracle Net Listener.
    Starting Oracle Database 11g Express Edition instance.
    user@machine:~$

    이부분 처리해야 sqlplus가 실행 되는듯 합니다.
  • nextkong 2013/07/10 15:38답글 | 수정 | 삭제
    정말 설명자세하게 잘해놓으셨네요 우분투에 오라클까는거 다른데 엄청찾다가 못해서 해메다가 이거보고 한방에 해결..ㅠㅠ 정말감사합니다~~
















libaio1 설치가 안될땐 http://packages.debian.org/sid/libaio1 에서 다운받아 직접 설치


initXE.ora 파일 없는 경우 참고

   http://aliolci.blogspot.kr/2012/03/how-to-install-oracle-11g-express.html

   $ORACLE_HOME/xe/bin/createdb.sh 실행