Пожалуйста, предоставьте мне руководство по установке 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
Запущен текстовый редактор пико, а команды показаны внизу экрана. Теперь скопируйте и вставьте в файл следующее и сохраните:
#!/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
Вы должны увидеть значение 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;
Замените ИМЯ ПОЛЬЗОВАТЕЛЯ и ПАРОЛЬ на имя пользователя и пароль по вашему выбору. Пожалуйста, запомните это имя пользователя и пароль. Если при выполнении вышеприведенного сообщения произошла ошибка с сообщением о сбросе журналов, выполните следующую команду SQL и повторите попытку:
alter database open resetlogs;
Предоставьте привилегии учетной записи пользователя с помощью команды SQL:
grant connect, resource to USERNAME;
Замените ИМЯ ПОЛЬЗОВАТЕЛЯ и ПАРОЛЬ на имя пользователя и пароль по вашему выбору. Пожалуйста, запомните это имя пользователя и пароль.
Выйдите из оболочки sys admin с помощью команды 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/install-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
Надеюсь, это кому-нибудь поможет.