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
    

    前に入力した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コマンドシェルの使用

  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を、選択したユーザー名とパスワードに置き換えます。このユーザー名とパスワードを覚えておいてください。リセットログに関するメッセージとともに上記の実行でエラーが発生した場合は、次のSQLコマンドを実行して再試行してください。

    alter database open resetlogs;
    
  4. SQLコマンドを使用して、ユーザーアカウントに特権を付与します。

    grant connect, resource to USERNAME;
    

    USERNAMEとPASSWORDを、選択したユーザー名とパスワードに置き換えます。このユーザー名とパスワードを覚えておいてください。

  5. SQLコマンドを使用してsys adminシェルを終了します。

    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
Skynet

2
@スカイネット。同じエラーが発生しました。これらのコマンドを理解することはできませんが、Oracle XEまたはlinux mintを構成してみました。
ジート

@スカイネット。また、このリンクを試してみました。展開後のコメント内の検索コンテンツ参照:動作させるには、ファイル「/etc/init.d/oracle-xe」の先頭に次の行を追加する必要がありました...ステップ6(i)と6の間(ii)if [-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で代替の終了を示す行方不明に見えます。
user352393516年

2
sudo service procps restart代わりに使用する必要がありましたsudo service procps start
ossbuntu

0

詳細なチュートリアルをありがとうございますが、エラーが発生していました

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

ステップでsudo /etc/init.d/oracle-xe configurehttp://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_loadサイカットの答えのスクリプトにエラーがあるため、エラーが発生します。これを修正すると、よりクリーンなソリューションになります。正しいスクリプトを使用して回答を編集します。
飼料

忘れてください、レビュアーはバカです。後最初第二のスクリプトを修正するための試みが失敗した私はあきらめます。どうやら、実際に何が行われているのかを理解しようとするよりも、無意識にポイントを獲得して投票する方が重要なようです。
飼料

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.