Spec-Zone.ru › MariaDB

Интеграция Oracle XE 11.2. и MariaDB 10.1 в системах Ubuntu 14.04 и Debian

1) Зарегистрируйтесь на сайте Oracle для скачивания и загрузите Oracle Express по адресу:

http://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html

- Зарегистрируйтесь (если не зарегистрированы) и войдите в систему. - Примите лицензионное соглашение. - Скачайте Oracle Database Express Edition 11g Release 2 для Linux x64 (oracle-xe-11.2.0-1.0.x86_64.rpm.zip, номера версий могут меняться со временем)

2) Подготовьте apt-get на вашей системе

sudo add-apt-repository ppa:webupd8team/java
<press Enter to accept>
sudo apt-get update
sudo apt-get install oracle-java8-installer

3) После установки Java, проверьте версию

java -version
java version "1.8.0_121"

4) Откройте /etc/bash.bashrc

Прокрутите до конца файла и добавьте следующие строки.

export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export PATH=$JAVA_HOME/bin:$PATH

Сохраните и проверьте:

source /etc/bash.bashrc
echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle

5) Необходимы дополнительные пакеты, если они не установлены. Выполните команду:

sudo apt-get install alien libaio1 unixodbc

6)

unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip
cd Disk1/
sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm

Этот этап может занять некоторое время. Вы можете тем временем перейти к шагам 7-11) в другом окне терминала.

7)

Создайте новый файл /sbin/chkconfig и добавьте в него следующее содержимое

#!/bin/bash
# Oracle 11gR2 XE installer chkconfig 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
#EOF

8)

sudo chmod 755 /sbin/chkconfig

9)

Создайте новый файл /etc/sysctl.d/60-oracle.conf

Скопируйте и вставьте следующее в файл. Kernel.shmmax — максимальное возможное значение физической оперативной памяти в байтах. 536870912 / 1024 /1024 = 512 МБ.

#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 service procps start
sudo sysctl -q fs.file-max
  1. Этот метод должен вернуть следующее: fs.file-max = 6815744

11) Необходимы дополнительные шаги

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

12) Установите Oracle XE (он должен был быть преобразован из .rpm в .deb)

sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb

13)

Выполните следующую команду, чтобы избежать ошибки ORA-00845: MEMORY_TARGET. Примечание: замените "size=4096m" на размер вашей (виртуальной) оперативной памяти в МБ.

sudo rm -rf /dev/shm
sudo mkdir /dev/shm
sudo mount -t tmpfs shmfs -o size=4096m /dev/shm

14) Создайте файл /etc/rc2.d/S01shm_load

ПРИМЕЧАНИЕ: замените "size=4096m" на размер вашей оперативной памяти в МБ.

#!/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
mount -t tmpfs shmfs -o size=4096m /dev/shm ;;
*) echo error
exit 1 ;;
esac
sudo chmod 755 /etc/rc2.d/S01shm_load

15) Настройте Oracle 11g R2 Express Edition. Стандартные ответы, вероятно, подойдут.

sudo /etc/init.d/oracle-xe configure

Укажите HTTP-порт, который будет использоваться для Oracle Application Express [8080]:

Укажите порт, который будет использоваться для слушателя базы данных [1521]:

Укажите пароль, который будет использоваться для учетных записей базы данных. Обратите внимание, что один и тот же пароль будет использоваться для SYS и SYSTEM. Oracle рекомендует использовать разные пароли для каждой учетной записи базы данных. Это можно сделать после первоначальной настройки:

Вы хотите, чтобы Oracle Database 11g Express Edition запускался при загрузке (y/n) [y]:

16) Откройте /etc/bash.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

Сохраните.

17) Выполните команду source и проверьте, что вывод имеет смысл

source /etc/bash.bashrc
echo $ORACLE_HOME
/u01/app/oracle/product/11.2.0/xe

18) Измените значки на рабочем столе и запустите Oracle:

sudo chmod a+x ~/Desktop/oraclexe-gettingstarted.desktop
sudo service oracle-xe start

19) Загрузите пакет SQL Developer

Загрузите Oracle SQL Developer с сайта Oracle. Выберите пакет Linux RPM: http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html

Выберите пакет Linux RPM.

20) Установите SQL Developer

sudo alien --scripts -d sqldeveloper-4.1.5.21.78-1.noarch.rpm
sudo dpkg --install sqldeveloper_4.1.5.21.78-2_all.deb
mkdir ~/.sqldeveloper

21) Запустите sqldeveloper:

sudo /opt/sqldeveloper/sqldeveloper.sh
  1. Укажите правильный путь к Java, если это потребуется:

/usr/lib/jvm/java-8-oracle

- Click connections
- Add new connection
- Connection name: XE
- username: SYSTEM
- password: <your-password>

- Connection type: Basic Role: Default
- Hostname: localhost
- Port: 1521
- SID: xe

MariaDB

22) Установите MariaDB

https://downloads.mariadb.org/mariadb/repositories/ Инструкции для Ubuntu, но выберите подходящие: - Ubuntu - 14.04 LTS "trusty" - 10.1 [Stable] - выберите зеркало

Выполните указанные команды. Например (НЕ КОПИРУЙТЕ НИЖЕ, ПРОВЕРЬТЕ, ЧТО СКАЗАНО НА СТРАНИЦЕ MariaDB):

sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirror.netinch.com/pub/mariadb/repo/10.1/ubuntu trusty main'
sudo apt-get update
  1. Установите mariadb-server:
sudo apt-get install mariadb-server

23) Установите драйвер ODBC

https://downloads.mariadb.org/connector-odbc/

  1. MariaDB Connector/ODBC 2.0.13 Stable для Linux

Загрузите: mariadb-connector-ODBC-2.0.13-ga-linux-x86_64.tar.gz

tar xfz mariadb-connector-odbc-2.0.13-ga-linux-x86_64.tar.gz
sudo cp -p mariadb-connector-odbc-2.0.13-ga-linux-x86_64/lib/libmaodbc.so /lib
sudo ldconfig

24) Установите unixodbc и mariadb-connect engine

apt-get install unixodbc-dev
apt-get install unixodbc-bin
apt-get install unixodbc
apt-get install libodbc1
apt-get install mariadb-connect-engine-10.1

25) Откройте /etc/odbcinst.ini

Добавьте:

[Oracle ODBC driver for Oracle 11.2]
Description     = Oracle 11.2 ODBC driver
Driver          = /u01/app/oracle/product/11.2.0/xe/lib/libsqora.so.11.1

26) Откройте /etc/odbc.ini

Добавьте (проверьте свой пароль):

[XE]
Driver          = Oracle ODBC driver for Oracle 11.2
ServerName      = //localhost:1521/xe
DSN             = XE
UserName        = SYSTEM
Password        = <your-password>

27) Проверьте подключение ODBC и добавьте таблицу

isql -v XE SYSTEM <your-password>

create table t1 (i int);
insert into t1 (i) values (1);
insert into t1 (i) values (3);
insert into t1 (i) values (5);
insert into t1 (i) values (8);
select i from t1;

И вы должны увидеть строки. Вы можете проверить то же самое с помощью sqldeveloper, открыть подключение XE и выполнить в Worksheet select i from t1;

28) Откройте /etc/init.d/mysql

Добавьте:

export JAVA_HOME=/usr/lib/jvm/java-8-oracle 
export PATH=$JAVA_HOME/bin:$PATH 
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe 
export CLIENT_HOME=$ORACLE_HOME 
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 

Сразу после END INIT INFO. В противном случае mysqld не найдет драйвер Oracle ODBC.

28) Перезапустите MariaDB

sudo /etc/init.d/mysql restart

29)

mysql -uroot -p

CREATE DATABASE mdb;
USE mdb;
INSTALL SONAME 'ha_connect';
CREATE TABLE t1 ENGINE=CONNECT TABLE_TYPE=ODBC tabname='T1' CONNECTION='DSN=XE;UID=SYSTEM;PWD=<your-password>';

select I from t1;

Вы должны увидеть ранее вставленные значения 1, 3, 5 и 8. Используя isql или sqldeveloper, добавьте еще несколько строк со значениями 9 и 11. Не забудьте выполнить commit, если вы используете Oracle sqldeveloper. Теперь вы должны увидеть добавленные значения через подключение MariaDB client (mysql-client).

Для изучения: вставка значений в таблицу t1 из подключения MariaDB не работает. Это приводит к ошибке точности со стороны Oracle.

Подключение к MariaDB через JDBC

Загрузите MySQL Connector с https://dev.mysql.com/downloads/connector/j/5.0.html

Выберите версию (например, 5.0.8)

Платформенно-независимая. Загрузите mysql-connector-java-5.0.8.tar.gz

tar xvfz mysql-connector-java-5.0.8.tar.gz
cd mysql-connector-java-5.0.8/
sudo cp -p mysql-connector-java-5.0.8-bin.jar /usr/lib/jvm/java-8-oracle/lib/mariadb/

sudo /opt/sqldeveloper/sqldeveloper.sh

В SQL Developer выберите Tools -> Preferences

Разверните опцию "Database" в левом дереве

Нажмите на "Third Party JDBC Drivers"

Нажмите на "Add Entry..."

Перейдите к файлу JAR вашего стороннего драйвера и выберите OK

/usr/lib/jvm/java-8-oracle/lib/mariadb/mysql-connector-java-5.0.8-bin.jar

Нажмите Connections -> New connection.

Добавьте значения. Ниже приведены примеры:

Connection Name: MariaDB via MySQL Conn
Username: root
Password: ********
Save Password: [x]

Choose MySQL tab

Hostname: localhost
Port: 3306

Click "Test Connection". It should says Status: Success.
Click Save.
Click Connect.

Вы подключены. Вы можете выполнить команды в Worksheet. Например:

use mdb;

show tables;

Вы должны увидеть таблицы.

Содержимое, воспроизведенное на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проверяется заранее MariaDB. Мнения, информация и мнения, выраженные в этом содержимом, не обязательно отражают точку зрения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/oracle-xe-112-and-mariadb-101-integration-on-ubuntu-1404-and-debian-systems/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API