Oracle 11gR2'yi Ubuntu 14.04'e nasıl yükleyebilirim?


Yanıtlar:


72

Adım 1: Oracle Database Express Edition'ı indirin .

Adım 2: Oracle'ı yüklemeden önce talimatlar

  1. İndirilen dosyayı kopyalayın ve ana dizine yapıştırın.

  2. Komutu kullanarak sıkıştırmayı açın:

    unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip 
    
  3. Komutu kullanarak gerekli paketleri kurun:

    sudo apt-get install alien libaio1 unixodbc
    
  4. Komutu kullanarak Disk1 klasörüne girin:

    cd Disk1/
    
  5. Komutu kullanarak RPM paket biçimini DEB paket biçimine (Ubuntu tarafından kullanılır) dönüştürün:

    sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm
    
  6. Komutu kullanarak gerekli chkconfig betiğini oluşturun:

    sudo pico /sbin/chkconfig
    

    Pico text editörü başlatılır ve komutlar ekranın altında gösterilir. Şimdi aşağıdakini kopyalayıp yapıştırın ve kaydedin:

    #!/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. Komutu kullanarak chkconfig dosyasının iznini değiştirin:

    sudo chmod 755 /sbin/chkconfig  
    
  8. Çekirdek parametrelerini ayarlayın. Oracle 11gR2 XE, komutu kullanarak ayarlamanız gereken ek çekirdek parametreleri gerektirir:

    sudo pico /etc/sysctl.d/60-oracle.conf
    
  9. Aşağıdakini dosyaya kopyalayın ve kaydedin:

    # 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. Komutu kullanarak değişikliği doğrulayın:

    sudo cat /etc/sysctl.d/60-oracle.conf 
    
  11. Daha önce ne girdiğini görmelisin. Şimdi çekirdek parametrelerini yükleyin:

    sudo service procps start
    
  12. Yeni parametrelerin aşağıdakilerle yüklendiğini doğrulayın:

    sudo sysctl -q fs.file-max
    

    Daha önce girdiğiniz file-max değerini görmelisiniz.

  13. Oracle için / dev / shm bağlama noktasını ayarlayın. Komutu kullanarak aşağıdaki dosyayı oluşturun:

    sudo pico /etc/rc2.d/S01shm_load
    
  14. Aşağıdakileri dosyaya kopyalayın ve kaydedin.

    #!/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. Komutu kullanarak dosyanın izinlerini değiştirin:

    sudo chmod 755 /etc/rc2.d/S01shm_load
    
  16. Şimdi aşağıdaki komutları yürütün:

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

    Şimdi, Sisteminizi Yeniden Başlatın

Adım 3: Oracle'ı yükleyin

  1. Komutu kullanarak Oracle DBMS'yi kurun:

    sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb
    
  2. Oracle'ı şu komutu kullanarak yapılandırın:

    sudo /etc/init.d/oracle-xe configure 
    
  3. .Bashrc dosyanızı düzenleyerek ortam değişkenlerini ayarlayın:

    pico ~/.bashrc
    
  4. Dosyanın sonuna aşağıdaki satırları ekleyin:

    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. Profilinizi uygulayarak değişiklikleri yükleyin:

    . ~/.bashrc
    
  6. Oracle 11gR2 XE'yi başlatın:

    sudo service oracle-xe start
    
  7. Aşağıdaki komutu kullanarak dba grubuna kullanıcı YOURUSERNAME kullanıcısı ekleyin:

    sudo usermod -a -G dba YOURUSERNAME
    

Adım 4: Oracle XE Command Shell'i Kullanma

  1. Komutu kullanarak Oracle XE 11gR2 sunucusunu başlatın:

    sudo service oracle-xe start
    
  2. Komut satırı kabuğunu, komutu kullanarak sistem yöneticisi olarak başlatın:

    sqlplus sys as sysdba
    

    Oracle'ı daha önceden yapılandırırken verdiğiniz şifreyi girin. Şimdi yalnızca SQL komutlarını anlayan bir SQL ortamına yerleştirileceksiniz.

  3. SQL komutunu kullanarak Oracle'da düzenli bir kullanıcı hesabı oluşturun:

    create user USERNAME identified by PASSWORD;
    

    KULLANICI ADI ve ŞİFRE'yi seçtiğiniz kullanıcı adı ve şifreyle değiştirin. Lütfen bu kullanıcı adını ve şifreyi unutma. Yukarıdakileri resetlogs hakkında bir mesajla yürütmekte hata yaşıyorsanız, aşağıdaki SQL komutunu uygulayın ve tekrar deneyin:

    alter database open resetlogs;
    
  4. SQL komutunu kullanarak kullanıcı hesabına ayrıcalıklar verin:

    grant connect, resource to USERNAME;
    

    KULLANICI ADI ve ŞİFRE'yi seçtiğiniz kullanıcı adı ve şifreyle değiştirin. Lütfen bu kullanıcı adını ve şifreyi unutma.

  5. SQL komutunu kullanarak sys admin kabuğundan çıkın:

    exit;
    
  6. Komutu kullanarak normal kullanıcı olarak komut satırı kabuğunu başlatın:

    sqlplus
    

    Şimdi sql komutlarını çalıştırabilirsiniz ...


6. adımda alıyorumStarting 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
@Skynet. Aynı hatayı aldım. Her ne kadar bu komutları anlayamasam da , Oracle XE ya da linux nanesini yapılandırabilirim.
Jeet

@Skynet. Ve bu bağlantıyı da denedim . İçerik ara Genişlettikten sonra yapılan açıklamada referans: Çalışması için "/etc/init.d/oracle-xe"... 6 ve i. Adımlar arasındaki 6 / i. (ii) [-L / dev / shm] ise; sonra rm - rf / dev / shm mkdir / dev / shm dağı -t tmpfs shmfs -o boyutu = 2048m / dev / shm fi ise [! -d / var / lock / subsys]; o zaman mkdir / var / lock / subsys dokunuş / var / lock / subsys / listener fi
Jeet

1
/etc/rc2.d/S01shm_load;;7. satırdaki bir alternatifin sona erdiğini gösteren eksik görünüyor .
user3523935

2
Kullanmak zorunda sudo service procps restartyerinesudo service procps start
ossbuntu

0

Ayrıntılı eğitim için teşekkürler ama hata alıyorum.

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

adımda sudo /etc/init.d/oracle-xe configure. Önerdi Yani olarak http://meandmyubuntulinux.blogspot.in/2012/05/installing-oracle-11g-r2-express.html ben aşağıdaki satırları eklendi/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

... ve benim için iyi çalışıyor


Hatayı alıyorsunuz, çünkü /etc/rc2.d/S01shm_loadSaikat'ın cevabında senaryoda bir hata var. Bunu düzeltmek daha temiz bir çözüm olurdu. Cevabı doğru betiği ile düzenleyeceğim.
Yem

Unut gitsin, yorumcular aptallardır. Sonra birinci ve ikinci senaryoyu düzeltmek için girişimde başarısız olmuş pes ediyorum. Anlaşılan puan kazanmak için akılsızca oy kullanmak ve ardından ne yapıldığını anlamaya çalışmak daha önemli.
Yem

0

Bu iyi çalıştı, ancak aşağıdaki hatayı aldım:

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!

İçine bakarak:

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

Bir kullanıcı ekleyerek çözdüm:

sudo adduser oracle

Umarım bu birine yardımcı olur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.