предоставить пользователю доступ к другой базе данных

#oracle

#Oracle

Вопрос:

Как я могу предоставить ‘select’ для последовательности пользователю в другой базе данных.

синтаксис: предоставить select для SEQ_NAME для USER_NAME; разрешено только пользователям в той же базе данных.

Комментарии:

1. Используете ли вы DBLINK? Пожалуйста, можете ли вы подтвердить, что вы подразумеваете под «другой базой данных»?

2. Сейчас у меня нет DBLINK. «другая база данных» — я имею в виду, что последовательность, объявленная пользователем x @ DB1 , и я, что использовать ее пользователю y @ DB2

Ответ №1:

Сначала у вашего удаленного пользователя должен быть какой-то способ подключения к вашей базе данных. В Oracle это делается путем создания ссылки на базу данных. Ссылка на базу данных должна быть создана в удаленной базе данных и должна подключаться к вашей базе данных. В определении подключения к вашей базе данных может быть указан пользователь, который будет использоваться для подключения к вашей базе данных. У этого пользователя должна быть привилегия выбора. Если в определении ссылки на базу данных не указан пользователь, имя удаленного пользователя подключится к вашей базе данных, используя то же имя, что и удаленное имя пользователя, используя тот же пароль. Итак, в обоих случаях привилегия должна быть предоставлена пользователю в вашей базе данных.

 create database link to_my_database connect to guest_in_my_database identified by 'bigsecret' using tns_alias_to_my_database;
  

В этом примере вам нужно предоставить доступ к базе данных guest_in_my_database после того, как она была создана и ей была предоставлена, по крайней мере, привилегия сеанса создания.