Надайте мені вказівки щодо встановлення oracle 11gr2 на Ubuntu 14.04.
Надайте мені вказівки щодо встановлення oracle 11gr2 на Ubuntu 14.04.
Відповіді:
Скопіюйте завантажений файл і вставте його в домашній каталог.
Розпакуйте за допомогою команди:
unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip
Встановіть необхідні пакети за допомогою команди:
sudo apt-get install alien libaio1 unixodbc
Введіть у папку Disk1 за допомогою команди:
cd Disk1/
Перетворити формат пакету RPM у формат пакету DEB (який використовується Ubuntu) за допомогою команди:
sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm
Створіть необхідний скрипт 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
Змініть дозвіл на файл chkconfig за допомогою команди:
sudo chmod 755 /sbin/chkconfig
Встановіть параметри ядра. Oracle 11gR2 XE вимагає додаткових параметрів ядра, які потрібно встановити за допомогою команди:
sudo pico /etc/sysctl.d/60-oracle.conf
Скопіюйте у файл та збережіть:
# 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
Перевірте зміни за допомогою команди:
sudo cat /etc/sysctl.d/60-oracle.conf
Ви повинні побачити, що ви ввели раніше. Тепер завантажте параметри ядра:
sudo service procps start
Перевірте, чи завантажуються нові параметри, використовуючи:
sudo sysctl -q fs.file-max
Ви повинні побачити максимальне значення файлу, яке ви ввели раніше.
Налаштування / dev / shm точки монтажу для Oracle. Створіть наступний файл за допомогою команди:
sudo pico /etc/rc2.d/S01shm_load
Скопіюйте наступне у файл та збережіть.
#!/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
Змініть дозволи файлу за допомогою команди:
sudo chmod 755 /etc/rc2.d/S01shm_load
Тепер виконайте такі команди:
sudo ln -s /usr/bin/awk /bin/awk
sudo mkdir /var/lock/subsys
sudo touch /var/lock/subsys/listener
Тепер перезавантажте систему
Встановіть СУБД Oracle за допомогою команди:
sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb
Налаштуйте Oracle за допомогою команди:
sudo /etc/init.d/oracle-xe configure
Налаштуйте змінні середовища, відредагувавши свій .bashrc файл:
pico ~/.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
Завантажте зміни, виконавши свій профіль:
. ~/.bashrc
Запустіть Oracle 11gR2 XE:
sudo service oracle-xe start
Додайте користувача YOURUSERNAME до групи dba за допомогою команди:
sudo usermod -a -G dba YOURUSERNAME
Запустіть сервер Oracle XE 11gR2 за допомогою команди:
sudo service oracle-xe start
Запустіть оболонку командного рядка як системного адміністратора за допомогою команди:
sqlplus sys as sysdba
Введіть пароль, який ви вказали під час налаштування Oracle раніше. Тепер ви будете розміщені в середовищі SQL, яке розуміє лише команди SQL.
Створіть звичайний обліковий запис користувача в Oracle за допомогою команди SQL:
create user USERNAME identified by PASSWORD;
Замініть USERNAME та PASSWORD на власне ім'я користувача та пароль. Запам’ятайте це ім’я користувача та пароль. Якщо у вас виникли помилки під час виконання вищезгаданого повідомлення із повідомленням про скидання, виконайте таку команду SQL і повторіть спробу:
alter database open resetlogs;
Надайте привілеї обліковому запису користувача за допомогою команди SQL:
grant connect, resource to USERNAME;
Замініть USERNAME та PASSWORD на власне ім'я користувача та пароль. Запам’ятайте це ім’я користувача та пароль.
Вийдіть із оболонки адміністратора sys за допомогою команди SQL:
exit;
Запустіть командний рядок як звичайний користувач, використовуючи команду:
sqlplus
Тепер ви можете запускати команди sql ...
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
/etc/rc2.d/S01shm_load
здається відсутнім, ;;
вказуючи на закінчення альтернативи в рядку 7.
sudo service procps restart
замістьsudo service procps start
Дякую за детальний підручник, але я отримував помилку
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
Сайката є помилка у скрипті . Виправити це було б більш чистим рішенням. Я відредагую відповідь правильним сценарієм.
Це спрацювало чудово, проте я отримав таку помилку:
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
Сподіваюся, що це комусь допоможе.