Histórico da Página
Para ambientes que utilizam o SGBD Oracle, a criação de um usuário deve ter os seguintes GRANTS:
- UNLIMITED TABLESPACE
- ALTER SYSTEM
- CONNECT
- RESOURCE
- ALTER SYSTEM
- CREATE SEQUENCE
- CREATE SESSION
- CREATE TABLE
- CREATE VIEW
- CREATE TRIGGER
- CREATE PROCEDURE
- CONNECT
- RESOURCECREATE SEQUENCE
- SELECT ON SYS.COL$
- SELECT ON SYS.OBJ$
- SELECT ON SYS.IND$
- SELECT ON SYS.ICOL$
- SELECT ON SYS.ALL_ARGUMENTSARGUMENTS
- SELECT ON SYS.ALL_INDEXESINDEXES
- SELECT ON SYS.ALL_IND_COLUMNSCOLUMNS
- SELECT ON SYS.ALL_OBJECTSOBJECTS
- SELECT ON SYS.ALL_PROCEDURESPROCEDURES
- SELECT ON SYS.ALL_SEQUENCESSEQUENCES
- SELECT ON SYS.ALL_TABLESTABLES
- SELECT ON SYS.ALL_TAB_COLUMNSCOLUMNS
- SELECT ON SYS.ALL_TRIGGERSTRIGGERS
- SELECT ON SYS.ALL_VIEWS
- SELECT ON V$PARAMETER
- SELECT ON GV$PARAMETER
- SELECT ON V$SESSION
- _VIEWS
- SELECT ON SYS.DATABASE_PROPERTIES
- SELECT ON SYS.NLS_SESSION_PARAMETERS
- SELECT ON SYS.V_$VERSION
- SELECT ON SYS.GV_$SESSION
- SELECT ON SYS.V_$NLS_PARAMETERS
- SELECT ON SYS.GV_$NLS_PARAMETERS
- SELECT ON SYS.V_$PARAMETER
- SELECT ON SYS.GV_$PARAMETER
- SELECT ON SYS.DBA_ROLE_PRIVS
- SELECT ON SYS.DBA_TAB_PRIVS
- SELECT ON SYS.ROLE_TAB_PRIVS
- SELECT ON SYS.V$INSTANCE
- SELECT ON SYS.GV$INSTANCESELECT ON GV$SESSION
Esses grants são necessários quando a chave UseSysTables está ligada.
Esses grants são necessários para verificar se o usuário possui os grants mínimos para uso do DBAccess.
Esse grant não pode ser aplicado em uma ROLE, somente para um usuário.
Esse grant deve ser liberado para o uso da funcionalidade de encerramento de conexão - kill
A Partir do DBAccess Build 20191119, as consultas anteriormente feitas para as views ALL_* passam a ser feitas para as views USER_*.
Informações | ||
---|---|---|
| ||
|
Uma forma de dar os mesmos grants para vários usuários é criar uma ROLE, dar os grants acima citados para a ROLE e associar a ROLE com o usuário, como no exemplo abaixo:
...
Concedendo GRANTS para a ROLE:
Bloco de código GRANT CONNECT TO C##DBROLE; GRANT RESOURCE TO C##DBROLE; GRANT ALTER SYSTEM TO C##DBROLE; GRANT CREATE SEQUENCE VIEW TO C##DBROLE; GRANT SELECT ON SYS.COL$ TO C##DBROLE; GRANT CREATE SESSIONSELECT ON SYS.OBJ$ TO C##DBROLE; GRANT SELECT CREATEON TABLESYS.IND$ TO C##DBROLE; GRANT SELECT CREATEON VIEWSYS.ICOL$ TO C##DBROLE; GRANT SELECT CREATE TRIGGERON SYS.ALL_ARGUMENTS TO C##DBROLE; GRANT SELECT CREATE PROCEDUREON SYS.ALL_INDEXES TO C##DBROLE; GRANT SELECT CREATE SEQUENCEON SYS.ALL_IND_COLUMNS TO C##DBROLE; GRANT SELECT ON SYS.COL$ALL_OBJECTS TO C##DBROLE; GRANT SELECT ON SYS.OBJ$ALL_PROCEDURES TO C##DBROLE; GRANT SELECT ON SYS.IND$ALL_SEQUENCES TO C##DBROLE; GRANT SELECT ON SYS.ICOL$ALL_TABLES TO C##DBROLE; GRANT SELECT ON SYS.ALL_TAB_ARGUMENTSCOLUMNS TO C##DBROLE; GRANT SELECT ON SYS.ALL_INDEXESTRIGGERS TO C##DBROLE; GRANT SELECT ON SYS.ALL_IND_COLUMNSVIEWS TO C##DBROLE; GRANT SELECT ON SYS.DATABASE_PROPERTIES TO C##DBROLE; GRANT SELECT ON SYS.ALLNLS_SESSION_OBJECTSPARAMETERS TO C##DBROLE; GRANT SELECT ON SYS.ALLV_PROCEDURES$VERSION TO C##DBROLE; GRANT SELECT ON SYS.ALLGV_SEQUENCES$SESSION TO C##DBROLE; GRANT SELECT ON SYS.ALLV_$NLS_TABLESPARAMETERS TO C##DBROLE; GRANT SELECT ON SYS.ALL_TAB_COLUMNSGV_$NLS_PARAMETERS TO C##DBROLE; GRANT SELECT ON SYS.V_$PARAMETER TO C##DBROLE; GRANT SELECT ON SYS.ALLGV_TRIGGERS$PARAMETER TO C##DBROLE; GRANT SELECT ON SYS.ALLDBA_ROLE_VIEWSPRIVS TO C##DBROLE; GRANT SELECT ON V$PARAMETERSYS.DBA_TAB_PRIVS TO C##DBROLE; GRANT SELECT ON GV$PARAMETERSYS.ROLE_TAB_PRIVS TO C##DBROLE; GRANT SELECT ON V$SESSIONSYS.V$INSTANCE TO C##DBROLE; GRANT SELECT ON GV$SESSIONSYS.GV$INSTANCE TO C##DBROLE;
Associando a ROLE ao usuário C##DBACCESS:
Bloco de código GRANT C##DBROLE TO C##DBACCESS;
Concedendo GRANT de UNLIMITED TABLESPACE ao usuário C##DBACCESS
Bloco de código GRANT UNLIMITED TABLESPACE TO C##DBACCESS;