Ubuntu 14.04에 Oracle 11gR2를 설치하는 방법은 무엇입니까?


답변:


72

1 단계 : Oracle Database Express Edition을 다운로드하십시오 .

2 단계 : Oracle 설치 전 지침

  1. 다운로드 한 파일을 복사하여 홈 디렉토리에 붙여 넣습니다.

  2. 다음 명령을 사용하여 압축을 풉니 다 :

    unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip 
    
  3. 다음 명령을 사용하여 필요한 패키지를 설치하십시오.

    sudo apt-get install alien libaio1 unixodbc
    
  4. 다음 명령을 사용하여 Disk1 폴더에 입력하십시오.

    cd Disk1/
    
  5. 다음 명령을 사용하여 RPM 패키지 형식을 DEB 패키지 형식 (Ubuntu에서 사용)으로 변환하십시오.

    sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm
    
  6. 다음 명령을 사용하여 필요한 chkconfig 스크립트를 작성하십시오.

    sudo pico /sbin/chkconfig
    

    pico 텍스트 편집기가 시작되고 화면 하단에 명령이 표시됩니다. 이제 다음을 복사하여 파일에 붙여넣고 저장하십시오.

    #!/bin/bash
    # Oracle 11gR2 XE installer chkconfig hack for Ubuntu
    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
    
  7. 다음 명령을 사용하여 chkconfig 파일의 권한을 변경하십시오.

    sudo chmod 755 /sbin/chkconfig  
    
  8. 커널 매개 변수를 설정하십시오. Oracle 11gR2 XE에는 다음 명령을 사용하여 설정해야하는 추가 커널 매개 변수가 필요합니다.

    sudo pico /etc/sysctl.d/60-oracle.conf
    
  9. 다음을 파일에 복사하고 저장하십시오.

    # Oracle 11g XE kernel parameters 
    fs.file-max=6815744  
    net.ipv4.ip_local_port_range=9000 65000  
    kernel.sem=250 32000 100 128 
    kernel.shmmax=536870912 
    
  10. 다음 명령을 사용하여 변경 사항을 확인하십시오.

    sudo cat /etc/sysctl.d/60-oracle.conf 
    
  11. 이전에 입력 한 내용을 볼 수 있습니다. 이제 커널 매개 변수를로드하십시오 :

    sudo service procps start
    
  12. 다음을 사용하여 새 매개 변수가로드되었는지 확인하십시오.

    sudo sysctl -q fs.file-max
    

    이전에 입력 한 파일 최대 값을 볼 수 있습니다.

  13. Oracle에 대해 / dev / shm 마운트 지점을 설정하십시오. 명령을 사용하여 다음 파일을 작성하십시오.

    sudo pico /etc/rc2.d/S01shm_load
    
  14. 다음을 파일에 복사하고 저장하십시오.

    #!/bin/sh
    case "$1" in
    start)
        mkdir /var/lock/subsys 2>/dev/null
        touch /var/lock/subsys/listener
        rm /dev/shm 2>/dev/null
        mkdir /dev/shm 2>/dev/null
    *)
        echo error
        exit 1
        ;;
    
    esac 
    
  15. 다음 명령을 사용하여 파일의 권한을 변경하십시오.

    sudo chmod 755 /etc/rc2.d/S01shm_load
    
  16. 이제 다음 명령을 실행하십시오 :

    sudo ln -s /usr/bin/awk /bin/awk 
    sudo mkdir /var/lock/subsys 
    sudo touch /var/lock/subsys/listener
    

    이제 시스템을 재부팅하십시오

3 단계 : Oracle 설치

  1. 다음 명령을 사용하여 Oracle DBMS를 설치하십시오.

    sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb
    
  2. 다음 명령을 사용하여 Oracle을 구성하십시오.

    sudo /etc/init.d/oracle-xe configure 
    
  3. .bashrc 파일을 편집하여 환경 변수를 설정하십시오.

    pico ~/.bashrc
    
  4. 파일 끝에 다음 줄을 추가하십시오.

    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
    
  5. 프로파일을 실행하여 변경 사항을로드하십시오.

    . ~/.bashrc
    
  6. Oracle 11gR2 XE를 시작하십시오.

    sudo service oracle-xe start
    
  7. 다음 명령을 사용하여 사용자 YOURUSERNAME을 dba 그룹에 추가하십시오.

    sudo usermod -a -G dba YOURUSERNAME
    

4 단계 : Oracle XE Command Shell 사용

  1. 다음 명령을 사용하여 Oracle XE 11gR2 서버를 시작하십시오.

    sudo service oracle-xe start
    
  2. 다음 명령을 사용하여 시스템 관리자로서 명령 행 쉘을 시작하십시오.

    sqlplus sys as sysdba
    

    이전에 Oracle을 구성하는 동안 제공 한 비밀번호를 입력하십시오. 이제 SQL 명령 만 이해하는 SQL 환경에 배치됩니다.

  3. SQL 명령을 사용하여 Oracle에서 일반 사용자 계정을 작성하십시오.

    create user USERNAME identified by PASSWORD;
    

    USERNAME 및 PASSWORD를 선택한 사용자 이름 및 비밀번호로 바꾸십시오. 이 사용자 이름과 비밀번호를 기억하십시오. resetlogs에 대한 메시지와 함께 위의 실행 오류가 발생한 경우 다음 SQL 명령을 실행하고 다시 시도하십시오.

    alter database open resetlogs;
    
  4. SQL 명령을 사용하여 사용자 계정에 권한을 부여하십시오.

    grant connect, resource to USERNAME;
    

    USERNAME 및 PASSWORD를 선택한 사용자 이름 및 비밀번호로 바꾸십시오. 이 사용자 이름과 비밀번호를 기억하십시오.

  5. SQL 명령을 사용하여 sys 관리 쉘을 종료하십시오.

    exit;
    
  6. 다음 명령을 사용하여 일반 사용자로 명령 행 쉘을 시작하십시오.

    sqlplus
    

    이제 SQL 명령을 실행할 수 있습니다 ...


6 단계에서 나는Starting Oracle Net Listener...touch: cannot touch '/var/lock/subsys/listener': No such file or directory Done Configuring database... Database Configuration failed. Look into /u01/app/oracle/product/11.2.0/xe/config/log for details
스카이 넷

2
@ 스카이 넷. 같은 오류가 발생했습니다. 내가이 이해할 수 없지만 명령을 , 나는 시도하고 구성 오라클 XE 또는 리눅스 민트에 수.
Jeet

@ 스카이 넷. 또한이 링크를 사용해보십시오 . 펼친 후 주석에서 내용 검색 참조 : 작동 시키려면 파일 "/etc/init.d/oracle-xe"의 시작 부분에 다음 줄을 추가해야했습니다 .6 단계 (i)와 6 사이 (ii) 만약 [-L / dev / shm]; 그런 다음 rm -rf / dev / shm mkdir / dev / shm mount -t tmpfs shmfs -o size = 2048m / dev / shm fi if [! -d / var / lock / subsys]; mkdir / var / lock / subsys touch / var / lock / subsys / listener fi
Jeet

1
/etc/rc2.d/S01shm_load;;7 번째 줄에서 대안의 끝을 나타내는 것이 누락 된 것 같습니다 .
user3523935

2
sudo service procps restartsudo service procps start
ossbuntu

0

자세한 튜토리얼에 감사하지만 오류가 발생했습니다.

touch: cannot touch '/var/lock/subsys/listener' .. 

단계에서 sudo /etc/init.d/oracle-xe configure. http://meandmyubuntulinux.blogspot.in/2012/05/installing-oracle-11g-r2-express.html에 제안 된대로 다음 줄을 추가했습니다./etc/init.d/oracle-xe

if [ -L /dev/shm ]; then
    rm -rf /dev/shm
    mkdir /dev/shm
    mount -t tmpfs shmfs -o size=2048m /dev/shm
fi

if [ ! -d /var/lock/subsys ]; then
 mkdir /var/lock/subsys
 touch /var/lock/subsys/listener
fi

... 그리고 잘 작동합니다.


/etc/rc2.d/S01shm_loadSaikat의 답변에 스크립트 에 오류가 있기 때문에 오류가 발생합니다 . 이 문제를 해결하는 것이 더 깨끗한 솔루션입니다. 올바른 스크립트를 사용하여 답변을 편집하겠습니다.
마초

잊어 버리세요. 리뷰어는 바보입니다. 후 첫 번째와 두 번째 스크립트를 수정하는 시도가 실패 나는 포기. 명백히 점수를 매기고 나서 무슨 일이 일어나고 있는지 이해하려고 노력하는 것이 무의식적으로 투표하는 것이 더 중요합니다.
Forage

0

이것은 잘 작동했지만 다음 오류가 발생했습니다.

sudo /etc/init.d/oracle-xe start
[....] Starting oracle-xe (via systemctl): oracle-xe.serviceJob for oracle-xe.service failed because the control process exited with error code. See "systemctl status oracle-xe.service" and "journalctl -xe" for details.
 failed!

그것을 조사 :

systemctl status oracle-xe.service
Jan 27 10:01:05 <myusername> su[29699]: No passwd entry for user 'oracle'

간단히 사용자를 추가하여 해결했습니다.

sudo adduser oracle

이것이 누군가를 돕기를 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.