Buenos dias a todos
Queria pedirles ayuda. Hace poco retorne a mi trabajo despues de haber estado con salida de maternidad y me encuentro con la sorpresa que en la maquina que trabajabamos la ordenaron y clasificaron para tener un mayor control. asignando roles entre otras cosas.. El problema es que me he encontrado con limitantes que a ratos me dejan como animacion japonesa con la nube sobre la cabeza... Porque no tengo privilegios en mi propio esquema para compilar procedimientos almacenados.(siendo mi perfil de desarrolladora). Existe alguna forma de que yo pueda ver que privilegios tengo y asi poder enviar un listado de habilitacion.. Y no estar a empujones programando?
Muchas Gracias
- Versión para impresión
- Inicie sesión para enviar comentarios
Lo mejor sería que pudieras
Subido por Carlos el 18 Octubre, 2012 - 17:20
Lo mejor sería que pudieras consultar las vistas DBA_TAB_PRIVS, DBA_SYS_PRIVS y DBA_ROLE_PRIVS del diccionario de datos para ver los provilegios asignados a cualquier usuario o rol, pero como seguro que no tienes privilegios de DBA para consultar estas vistas hay otras específicas para el usuario con el que estás conectado, que son USER_TAB_PRIVS, USER_SYS_PRIVS y USER_ROLE_PRIVS.
Para consultar todos los objetos sobre los que tu usuario tiene privilegios, y qué GRANTs tiene:
SELECT * FROM USER_TAB_PRIVS;Para consultar todos los privilegios de sistema que tiene tu usuario:
SELECT * FROM USER_SYS_PRIVS;Por último, para consultar los roles que tiene asignados tu usuario:
SELECT * FROM USER_ROLE_PRIVS;Espero que las consultas te sean de ayuda,
Muchas Gracias Carlos :)
Subido por AleMarch el 18 Octubre, 2012 - 17:22
Muchas Gracias Carlos :)
Probare y comento
Ya probe y me resulto lo
Subido por AleMarch el 18 Octubre, 2012 - 17:38
Ya probe y me resulto lo siguiente ..la verdad me aclara porque no puedo ver ni acceder a mas objetos..
Hare mi listado jeje para comenzar con el pedido de permisos.... Muchas gracias
Ejecute los select que Carlos que facilito y las cabeceras de informacion son las siguientes(con negrita)...ademas les agregue parte de llos privilegios que tengo como usuario.
--select * from USER_TAB_PRIVS
GRANTEE - OWNER - TABLE_NAME - GRANTOR - PRIVILEGE - GRANTABLE - HIERARCHY
ALEM - VENTAS - VEN_VENTAS - VENTAS - SELECT - NO - NO
--select * from USER_SYS_PRIVS
USERNAME - PRIVILEGE - ADMIN_OPTION
ALEM - CREATE PROCEDURE - NO
ALEM - CREATE SEQUENCE - NO
ALEM - CREATE TABLE - NO
--select * from USER_ROLE_PRIVS
USERNAME - GRANTED_ROLE - ADMIN_OPTION - DEFAULT_ROLE - OS_GRANTED
ALEM - PL_DES - NO - YES - NO
Por lo que veo sí que tienes
Subido por Carlos el 18 Octubre, 2012 - 20:42
Por lo que veo sí que tienes permisos para crear procedures en tu schema, y te han asignado un rol de desarrollador.
¿No será que el Procedure que intentas crear accede a un objeto sobre el que tu usuario no tenga privilegios, de otro esquema, por ejemplo?
Si efectivamente mirandolo
Subido por AleMarch el 21 Octubre, 2012 - 19:27
En respuesta a Por lo que veo sí que tienes por Carlos
Si efectivamente mirandolo ahora tengo varios permisos. Pero inicialmente parti en 0.
Llamando constantemente ald DBA para decirle ... Sabes no puedo crear tablas.. ok no te preocupes yo te voy a dar permisos.. llamando de nuevo sabes no puedo crear procedimientos.. ok no te preocupes yo te voy a dar permisos..Sabes no puedo compilar.. no puedo crear sequencias, y asi me la lleve buena parte ...
Hasta que quise hacer debug y me encontre conque el DBA estaba visitando a clientes y no pudo ayudarme ..ahi tuve que esperar pacientemente a que llegara pasada la tarde y yo desarrollando a ciegas...
Por eso en la mañana siguiente varios me intentaron apoyar.. Y yo recurri a ustedes para poder tener algo mas en la mano y solicitar con mas propiedad mas permisos sobre los objetos o esquemas donde normalmente me muevo..
Y aca consiguieron darme algunos jeje entrando como DBA.. Pero con las queritas que me enseñaste puedo ahora solicitarle exactamente los permisos que me van faltando sobretodo para los nuevos requerimientos que me estan llegando.
Muchas gracias Carlos
Me alegro mucho de que las
Subido por Carlos el 21 Octubre, 2012 - 19:30
En respuesta a Si efectivamente mirandolo por AleMarch
Hola....antes que nada,
Subido por Irmool_01 el 5 Agosto, 2013 - 18:29
Hola....antes que nada, super buena la información que proporcionan....yo tengo un problema un poco parecido al de AleMarch..... Lo que pasa es que me pasarón una conexión de oracle, me dicen que si puedo crear stored procedures pero en cuanot quiero correr uno muy basico.... (select * from X) obtengo un error de privilegios....corrí los comandos que mostró Carlos...el primero (USER_TAB_PRIVS) y obtengo los mismos permisos que Ale en mi tabla, corrí el segundo (USER_SYS_PRIVS) pero con este no obtengo ningún registro y al correr el 3ro (USER_ROLE_PRIVS) también obtengo los mismos permisos que Ale....Carlos...sabes a qué puede deberse esto? No sé si en verdad puedo crear stored procedures o más bien mi stored esta mal :(
El stored procedure que estoy corriendo es:
create procedure p1 as begin select cve_vol from desa01.Producto; De antemano, muchas gracias :)Si no obtienes ningún
Subido por Carlos el 6 Agosto, 2013 - 00:03
En respuesta a Hola....antes que nada, por Irmool_01
Si no obtienes ningún registro en USER_SYS_PRIVS es que no tienes ningún privilegio de sistema. Para poder crear procedures deberías tener al menos el privilegio CREATE PROCEDURE, por lo que sí que parece que el problema es que te faltan los permisos. Seguramente vas a tener que hablar con tu DBA :)
Muchas gracias Carlos, en
Subido por Irmool_01 el 6 Agosto, 2013 - 18:41
Muchas gracias Carlos, en efecto, ya me comentaron que no tengo permisos y me cambiaran a una Bd que no sea de producción :P
Aún así, muchas gracias por tu ayuda.
Saludos,
Me alegro de que finalmente
Subido por Carlos el 7 Agosto, 2013 - 00:54
En respuesta a Muchas gracias Carlos, en por Irmool_01
Bue día, Me gustaría saber
Subido por Ale9810 (no verificado) el 12 Septiembre, 2013 - 18:11
Buenos días, Primero tienes
Subido por Carlos el 29 Abril, 2014 - 08:46
En respuesta a Bue día, Me gustaría saber por Ale9810 (no verificado)
Buenos días,
Primero tienes que crear el rol, vamos a llamarle "mi_rol":
Después asígnale los permisos. Para una tabla "mi_tabla" sería algo así:
o más corto:
Y para crear las sentencias de asignación de permisos para todas las tablas de un esquema "mi_esquema" puedes hacer esto:
Finalmente, para asignar el rol a un usuario:
hola a todos! alguien me
Subido por piturb (no verificado) el 25 Abril, 2014 - 19:42
hola a todos! alguien me podria decir como saber que privilegio tengo sobre una BD, ya que no puedo agregar un campo nuevo a una tabla existente.. gracias
Justo en la primera respuesta
Subido por Carlos el 29 Abril, 2014 - 08:56
En respuesta a hola a todos! alguien me por piturb (no verificado)
Justo en la primera respuesta de este tema tienes las sentencias para consultar los privilegios de un usuario sobre objetos de la base de datos
Buenas, creo un rol con
Subido por Dan (no verificado) el 14 Octubre, 2014 - 17:33
Buenas,
creo un rol con permisos sobre varios objetos de un esquema y cuando se lo asigno a un usuario este no puede acceder a los mismos.
En cambio si se los asigno directamente al usuario funciona correctamente, alguien sabe porque puede pasar esto.
GRacias de antemano
Hola Dan Ambas cosas deberían
Subido por Carlos el 17 Octubre, 2014 - 10:25
En respuesta a Buenas, creo un rol con por Dan (no verificado)
Hola Dan
Ambas cosas deberían servir para que el usuario pueda acceder a los objetos. ¿Puedes mostrar las sentencias que has utilizado para la asignación por roles y para la asignación directa?