
Создание ссылок DB в Oracle AWS RDS: комплексное руководство
2 июля 2025 г.Создание ссылок на базы данных в Oracle AWS RDS: комплексное руководство
В сегодняшнем взаимосвязанном ландшафте данных способность беспрепятственного доступа к данным в разных базах данных имеет решающее значение. Ссылки базы данных Oracle предоставляют эту возможность, позволяя вам запросить и манипулировать данными, находящимися в удаленных базах данных Oracle, как если бы они были локальными таблицами. Эта статья поможет вам через процесс создания ссылок на базы данных в Oracle AWS RDS, сосредоточившись на доступности как для общественных, так и для текущих пользователей.
Введение
Как профессионал в базе данных, я часто сталкиваюсь с сценариями, где необходим доступ к данным в различных базах данных Oracle. Ссылки базы данных Oracle помогают мне избежать громоздких передачи данных и поддерживать согласованность данных, обеспечивая доступ в реальном времени к удаленным данным. В этом руководстве я поделюсь своими знаниями и предоставлю практические примеры, которые помогут вам настроить ссылки на базы данных в вашей среде Oracle AWS RDS.
Сценарий
Представьте, что у вас есть приложение, работающее на Oracle автономном DB в облаке. Это приложение должно получить доступ к информации о продукте, хранящейся в устаревшей базе данных Oracle, размещенной в AWS RDS. Вместо того, чтобы мигрировать данные, вы можете создать ссылку базы данных в автономном DB для доступа к данным продукта непосредственно из экземпляра RDS. Этот подход минимизирует время простоя, снижает затраты на хранение и гарантирует, что ваше приложение всегда имеет доступ к последней информации о продукте.
Как настроить ссылку на базу данных в Oracle AWS RDS
Ниже приведены шаги по настройке ссылки базы данных в Oracle AWS RDS.
Собрать информацию об соединении:Вам понадобится следующая информация для удаленной базы данных:
- Имя хоста или IP -адрес экземпляра RDS.
- Номер порта (обычно 1521).
- Название службы или SID базы данных.
- Имя пользователя и пароль для пользователя базы данных с соответствующими привилегиями.
Создайте ссылку на базу данных:Подключитесь к вашей базе данных Oracle (например, с использованием разработчика SQL или SQL*Plus) и используйте
CREATE DATABASE LINK
заявление. Вот основной пример:CREATE DATABASE LINK rds_link CONNECT TO remote_user IDENTIFIED BY "password" USING '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = rds_endpoint)(PORT = 1521)) (CONNECT_DATA = (SERVICE_NAME = orcl) ) )';
Заменять
rds_link
Вremote_user
Вpassword
Вrds_endpoint
, иorcl
с вашими фактическими ценностями.Проверьте ссылку на базу данных:Проверьте соединение, запрашивая таблицу в удаленной базе данных:
SELECT * FROM products@rds_link;
Если запрос успешно выполняется, работа в базе данных работает!
Как настроить ссылку DB для публики
Чтобы сделать ссылку базы данных доступной для всех пользователей, вы можете создать публичный синоним. Это позволяет любому пользователю получить доступ к удаленным данным без необходимости знать имя ссылки базы данных.
CREATE PUBLIC SYNONYM products_public FOR products@rds_link;
Теперь любой пользователь может запросить таблицу удаленных продуктов, используя:
SELECT * FROM products_public;
Если вы хотите предоставить доступ к ссылке базы данных только для конкретных пользователей, вы можете предоставить имCREATE SESSION
Привилегия в удаленной базе данных, а затем создайте частный синоним для каждого пользователя.
Предоставить привилегию сессии:Подключиться к удаленной базе данных в качестве администратора и предоставьте
CREATE SESSION
Привилегия желаемому пользователю:GRANT CREATE SESSION TO user1;
Создайте частный синоним:Подключиться к схеме пользователя (например, как
user1
) и создать частный синоним:CREATE SYNONYM products_private FOR products@rds_link;
Теперь только
user1
может получить доступ к таблице удаленных продуктов, используя:SELECT * FROM products_private;
Гранты и привилегии, необходимые для доступа к DB Link
Для обеспечения безопасного и контролируемого доступа к ссылке базы данных необходимы следующие гранты и привилегии:
В удаленной базе данных:
Привилегия | Описание |
---|---|
| Позволяет пользователю ссылку на базу данных подключаться к удаленной базе данных. Это минимальное требование. |
| Предоставляет пользователь ссылки на базу данных привилегию выбрать данные из определенных таблиц или представлений в удаленной базе данных. Замените «table_name» на фактические имена таблиц. |
| Предоставляет пользователь ссылки на базу данных привилегию выполнять функции или процедуры в удаленной базе данных. РЕЗИЦИИ «Процедура_name» с фактическими именами процедур. |
В локальной базе данных:
В локальной базе данных не требуется конкретных грантов для ссылки на базу данных для функции. Тем не менее, пользователям, которым необходимо получить доступ к ссылке на базу данных, нужна привилегия выбирать из определенных таблиц/представлений
Использование и примеры
Давайте проиллюстрируем с практическим примером. ПредположимCustomers
В удаленной базе данных.
Запрос данных:
SELECT * FROM Customers@rds_link WHERE customer_id = 123;
Согласно таблицам:
SELECT o.order_id, c.customer_name
FROM Orders o
JOIN Customers@rds_link c ON o.customer_id = c.customer_id;
Вставка данных:
INSERT INTO Customers@rds_link (customer_id, customer_name) VALUES (456, 'New Customer');
Заключение
Создание и управление ссылками базы данных в Oracle AWS RDS - это простой процесс, который может значительно улучшить доступность и интеграцию данных. Понимая различные варианты доступа (публичные по сравнению с частными) и необходимые гранты и привилегии, вы можете обеспечить безопасный и эффективный доступ к данным в вашей средах Oracle. Этот подход позволяет избежать облегчения передачи данных и поддерживает согласованность данных, позволяя в реальном времени доступ к удаленным данным.
Оригинал