[ОТВЕТИТЬ]
Опции темы
21.04.2009 17:22  
OlegON
Иногда требуется создать пользователя, который должен еще и скрипты всяческие пускать. Некоторые даже и править что-то :(
Чтобы не спотыкаться о кучу констрейнтов и процедуры, которые проверяют принадлежность к пользователям Супермага, самое простое - завести его в админском модуле, создать роль:
Код:
CREATE ROLE "SM_EDITOR" NOT IDENTIFIED;
GRANT CREATE DATABASE LINK TO "SM_EDITOR";
GRANT CREATE TABLE TO "SM_EDITOR";
GRANT CREATE VIEW TO "SM_EDITOR";
begin
for c in (select table_name from all_tables where owner='SUPERMAG')
  loop
    begin
      execute immediate
              'GRANT DELETE ON supermag.' || c.table_name || ' to SM_EDITOR';
      execute immediate
              'GRANT UPDATE ON supermag.' || c.table_name || ' to SM_EDITOR';
      execute immediate
              'GRANT INSERT ON supermag.' || c.table_name || ' to SM_EDITOR';
      execute immediate
              'GRANT SELECT ON supermag.' || c.table_name || ' to SM_EDITOR';
    exception when others then null;
    end;
  end loop;
end;
/
и грантовать эту роль новому юзеру. Рекомендую не делать эту роль дефолтной, как правило, это приводит к невозможности логона по слишком большому количеству грантованных ролей.
 
 
Опции темы



Часовой пояс GMT +3, время: 22:50.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.