09.04.2009 12:48
anderson
 
Искал по форуму - не нашел. Вопрос в следующем: Как создать пользователя, чтобы у него был доступ только на чтение к таблицам супермага?
09.04.2009 12:54
Mtirt
 
Дать права только на select таблиц.
Insert, update, delete не давать...
09.04.2009 13:11
OlegON
 
SQL код:
CREATE USER SM_VIEW IDENTIFIED BY PASSWORD;
GRANT CREATE SESSION TO SM_VIEW;
CREATE ROLE "SM_VIEWER" NOT IDENTIFIED;
begin
for c in (select table_name from all_tables where owner='SUPERMAG')
  
loop
    begin
      execute immediate
              
'GRANT SELECT ON supermag.' || c.table_name || ' to SM_VIEWER';
    
exception when others then null;
    
end;
  
end loop;
end;
/
GRANT SM_VIEWER TO SM_VIEW
если надо вьюшки пользователю строить, то это уже гранты конкретно пользователю
SQL код:
begin
for c in (select table_name from all_tables where owner='SUPERMAG')
  
loop
    begin
      execute immediate 
'GRANT SELECT ON supermag.' || c.table_name || ' to ЮЗЕР with grant option';
    
end;
  
end loop;
end;

09.04.2009 13:16
OlegON
 
Ага, я куски из гугловых записок дергал, почему-то при сохранении склеиваются... Кстати, не пробовал код, но должен работать, у меня аналогичный работал.
23.04.2009 05:45
anderson
 
Большое спасибо, код 100% рабочий.
Часовой пояс GMT +3, время: 17:45.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.