Як встановити Oracle 11gR2 на Ubuntu 14.04?


40

Надайте мені вказівки щодо встановлення oracle 11gr2 на Ubuntu 14.04.


2
Ви можете посилатися на процедуру встановлення посилання blog.whitehorses.nl/2014/03/18/…
vembutech

Відповіді:


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. Налаштування / dev / shm точки монтажу для Oracle. Створіть наступний файл за допомогою команди:

    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 за допомогою команди:

    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. Створіть звичайний обліковий запис користувача в Oracle за допомогою команди SQL:

    create user USERNAME identified by PASSWORD;
    

    Замініть USERNAME та PASSWORD на власне ім'я користувача та пароль. Запам’ятайте це ім’я користувача та пароль. Якщо у вас виникли помилки під час виконання вищезгаданого повідомлення із повідомленням про скидання, виконайте таку команду SQL і повторіть спробу:

    alter database open resetlogs;
    
  4. Надайте привілеї обліковому запису користувача за допомогою команди SQL:

    grant connect, resource to USERNAME;
    

    Замініть USERNAME та PASSWORD на власне ім'я користувача та пароль. Запам’ятайте це ім’я користувача та пароль.

  5. Вийдіть із оболонки адміністратора sys за допомогою команди SQL:

    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
@Skynet. Я отримав таку ж помилку. Хоча я не в змозі зрозуміти ці команди , я намагався налаштувати oracle XE або linux mint.
Jeet

@Skynet. А також спробував це посилання . Шукати вміст посилання в коментарі після розгортання: для його роботи мені потрібно було додати наступні рядки на початку файлу "/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 restartзамістьsudo 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_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

Сподіваюся, що це комусь допоможе.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.