Oracle Database
Ссылки на базы данных
Поиск…
Создание ссылки на базу данных
CREATE DATABASE LINK dblink_name
CONNECT TO remote_username
IDENTIFIED BY remote_password
USING 'tns_service_name';
Затем удаленная БД будет доступна следующим образом:
SELECT * FROM MY_TABLE@dblink_name;
Чтобы протестировать соединение с базой данных без необходимости знать какое-либо из имен объектов в связанной базе данных, используйте следующий запрос:
SELECT * FROM DUAL@dblink_name;
Чтобы явно указать домен для службы связанных баз данных, доменное имя добавляется в оператор USING
. Например:
USING 'tns_service_name.WORLD'
Если имя домена не указано явно, Oracle использует домен базы данных, в которой создается ссылка.
Документация Oracle для создания ссылок на базы данных:
- 10g: https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_5005.htm
- 11g: https://docs.oracle.com/cd/B28359_01/server.111/b28310/ds_concepts002.htm
- 12g: https://docs.oracle.com/database/121/SQLRF/statements_5006.htm#SQLRF01205
Создать ссылку на базу данных
Предположим, что у нас есть две базы данных «ORA1» и «ORA2». Мы можем получить доступ к объектам «ORA2» из базы данных «ORA1», используя ссылку базы данных.
Предварительные требования: для создания частной ссылки базы данных вам нужна привилегия CREATE DATABASE LINK
. Для создания частной ссылки базы данных вам нужна привилегия CREATE PUBLIC DATABASE LINK
.
* Oracle Net должен присутствовать на обоих экземплярах.
Как создать ссылку на базу данных:
Из ORA1:
SQL> create <public> database link ora2 connect to user1 identified by pass1 using <tns name of ora2>;
Создана ссылка на базу данных.
Теперь, когда мы установили связь с БД, мы можем доказать, что, выполнив следующее из ORA1:
SQL> Select name from V$DATABASE@ORA2; -- should return ORA2
Вы также можете получить доступ к объектам БД «ORA2» из «ORA1», учитывая, что пользователь user1
имеет привилегию SELECT
для этих объектов на ORA2 (например, ТАБЛИЦА 1 ниже):
SELECT COUNT(*) FROM TABLE1@ORA2;
Предварительно requistes:
- Обе базы данных должны быть запущены и открыты (открыты).
- Оба слушателя базы данных должны быть запущены и запущены.
- TNS должен быть настроен правильно.
- Пользователь user1 должен присутствовать в базе данных ORA2, пароль должен быть проверен и проверен.
- Пользователь user1 должен иметь хотя бы привилегию
SELECT
или любую другую, необходимую для доступа к объектам на ORA2.