딕셔너리 테이블에 대한 SELECT 권한을 주고 싶은데...
select any table 권한을 부여하기는 싫은 경우 다음과 같은 SQL을 이용합니다.
==========================================================================
-- grantdd.sql
connect / as sysdba
create or replace procedure sysgrants(myuser varchar2)
is
c integer;
cmd varchar2(2000);
begin
c := DBMS_SQL.OPEN_CURSOR;
for r in (select object_name from user_objects
where object_type = 'VIEW')
loop
cmd := 'grant select on "' || r.object_name || '" to ' || myuser;
DBMS_SQL.PARSE(c, cmd, dbms_sql.native);
end loop;
DBMS_SQL.CLOSE_CURSOR(c);
end;
/
create user operator identified by &&operators_passwd temporary tablespace temp;
grant connect to operator;
exec sysgrants('operator');
-- This step may take a while.
-- And how to revoke these privileges from operator ?
create or replace procedure sysrevokes(myuser varchar2)
is
c integer;
cmd varchar2(2000);
begin
c := DBMS_SQL.OPEN_CURSOR;
for r in (select object_name from user_objects
where object_type = 'VIEW')
loop
cmd := 'revoke select on "' || r.object_name || '" from ' || myuser;
DBMS_SQL.PARSE( c, cmd, dbms_sql.native );
end loop;
DBMS_SQL.CLOSE_CURSOR(c);
end;
/
------------------------------------
SQL> @grantdd
Procedure created.
Enter value for operators_passwd: operator
old 1: create user operator identified by &&operators_passwd temporary tablesp
ace temp
new 1: create user operator identified by operator temporary tablespace temp
User created.
Grant succeeded.
PL/SQL procedure successfully completed.
Procedure created.
SQL>
METALINK 자료 입니다.
select any table 권한을 부여하기는 싫은 경우 다음과 같은 SQL을 이용합니다.
==========================================================================
-- grantdd.sql
connect / as sysdba
create or replace procedure sysgrants(myuser varchar2)
is
c integer;
cmd varchar2(2000);
begin
c := DBMS_SQL.OPEN_CURSOR;
for r in (select object_name from user_objects
where object_type = 'VIEW')
loop
cmd := 'grant select on "' || r.object_name || '" to ' || myuser;
DBMS_SQL.PARSE(c, cmd, dbms_sql.native);
end loop;
DBMS_SQL.CLOSE_CURSOR(c);
end;
/
create user operator identified by &&operators_passwd temporary tablespace temp;
grant connect to operator;
exec sysgrants('operator');
-- This step may take a while.
-- And how to revoke these privileges from operator ?
create or replace procedure sysrevokes(myuser varchar2)
is
c integer;
cmd varchar2(2000);
begin
c := DBMS_SQL.OPEN_CURSOR;
for r in (select object_name from user_objects
where object_type = 'VIEW')
loop
cmd := 'revoke select on "' || r.object_name || '" from ' || myuser;
DBMS_SQL.PARSE( c, cmd, dbms_sql.native );
end loop;
DBMS_SQL.CLOSE_CURSOR(c);
end;
/
------------------------------------
SQL> @grantdd
Procedure created.
Enter value for operators_passwd: operator
old 1: create user operator identified by &&operators_passwd temporary tablesp
ace temp
new 1: create user operator identified by operator temporary tablespace temp
User created.
Grant succeeded.
PL/SQL procedure successfully completed.
Procedure created.
SQL>
METALINK 자료 입니다.
[100%환급,실무전문]SQL/빅데이터/자바/스프링/웹퍼블리싱/안드… | 12-27 | 2850 | ||
[채용확정무료교육]오라클자바개발잘하는신입뽑기2개월과정,교육… | 12-11 | 2079 | ||
53 | [평일100%환급7건]웹퍼블리싱,자바&JSP,안드로이드,C#닷넷,SQL기… | 03-15 | 1917 | |
52 | [주말]C#,ASP.NET마스터 | 01-31 | 2069 | |
51 | [기업100%환급,평일주간]SQL기초에서스키마오브젝트,PLSQL,힌트… | 01-31 | 3032 | |
50 | [주말주간]자바&웹,jQUERY,스프링프레임워크,마이바티스 | 01-31 | 1595 | |
49 | [평일주간/야간,주말주간/야간]Spring,MyBatis,Hibernate개발자… | 01-19 | 1923 | |
48 | [평일주간/야간,주말주간/야간]안드로이드개발자과정(Adnroid 교… | 01-11 | 1783 | |
47 | [평일야간,주말주간야간]JAVA,Network&JSP&Spring,MyBatis,Hiber… | 01-03 | 2383 | |
46 | [100%환급,실무전문]SQL/빅데이터/자바/스프링/웹퍼블리싱/안드… | 12-27 | 2850 | |
45 | [주말야간]개발자를위한PLSQL,SQL튜닝,힌트(토/일) | 12-19 | 2003 | |
44 | [평일주간/야간,주말주간/야간]웹퍼블리싱 마스터(HTML5,CSS3,jQ… | 12-14 | 1975 | |
43 | [채용확정무료교육]오라클자바개발잘하는신입뽑기2개월과정,교육… | 12-11 | 2079 | |
42 | [주말야간]JAVA,JSP,Spring,PLSQL,힌트,웹퍼블리싱,안드로이드,… | 12-09 | 1616 | |
41 | [평일야간,주말야간]닷넷(C#,Network,ADO.NET,ASP.NET)마스터 | 12-01 | 1836 | |
40 | [기업100%환급]오라클&자바웹스프링신입과정3주(SQL,JAVA,JSP,Se… | 12-01 | 2076 | |
39 | [평일야간,주말]SQL기초에서실무까지(SQL기초,PLSQL,힌트,튜닝) | 12-01 | 1492 |
댓글 없음:
댓글 쓰기