Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

[SOLUCIONADO] DBA no tiene permiso para crear tabla ¿¿cómo??

Estas en el tema de DBA no tiene permiso para crear tabla ¿¿cómo?? en el foro de Oracle en Foros del Web. Hola, Sucede que tengo un usuario usrdba con el rol dba , por otro lado tengo otro usuario usrrex con privilegios limitados, ambos usuarios tienen ...
  #1 (permalink)  
Antiguo 14/10/2014, 23:31
 
Fecha de Ingreso: octubre-2014
Ubicación: Lima
Mensajes: 74
Antigüedad: 9 años, 6 meses
Puntos: 1
DBA no tiene permiso para crear tabla ¿¿cómo??

Hola,
Sucede que tengo un usuario usrdba con el rol dba, por otro lado tengo otro usuario usrrex con privilegios limitados, ambos usuarios tienen un tablespace por defecto TS_REX_DAT. Trato de crear una tabla en el esquema usrrex desde una sesión del dba pero me lanza un error:
Cita:
Error SQL: ORA-01950: no privileges on tablespace 'TS_REX_DAT'
01950. 00000 - "no privileges on tablespace '%s'"
*Cause: User does not have privileges to allocate an extent in the
specified tablespace.
*Action: Grant the user the appropriate system privileges or grant the user
space resource on the tablespace.
Según lo que entiendo, el usuario dba no tiene permiso para utilizar el tablespace en cuestión, pero se supone que especifiqué que es su tablespace por defecto al momento de crear el usuario usrdba, además se trata de un dba, el todopoderoso de la BD.

Favor oriéntenme, muchas gracias.
  #2 (permalink)  
Antiguo 15/10/2014, 10:14
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: DBA no tiene permiso para crear tabla ¿¿cómo??

eduar2083

El usuario usrdba que tiene el rol dba, no tiene problemas de asignación en ningún tablespace. Sin embargo, en este caso prima la teoría de que cada esquema es dueño de sus objetos y como el usuario no tiene privilegios de espacio en el tablespace, es por esto que te saca el error.

para solucionarlo, basta con aplicar los permisos en el tablespace al usuario:
Código SQL:
Ver original
  1. ALTER USER usrrex QUOTA 10M ON TS_REX_DAT; --Para permitir 10 M en el tablepace.
o
Código SQL:
Ver original
  1. ALTER USER usrrex QUOTA UNLIMITED ON TS_REX_DAT; --Para permitir escrituras en tablepace ilimitado.

Por otro lado, puedes asignar el rol resource que en su interior contiene el privilegio ANY UNLIMITED TABLESPACE y permite al usuario escribir en cualquier tablespace de la base de datos.

Saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 18/10/2014, 09:32
 
Fecha de Ingreso: octubre-2014
Ubicación: Lima
Mensajes: 74
Antigüedad: 9 años, 6 meses
Puntos: 1
Respuesta: DBA no tiene permiso para crear tabla ¿¿cómo??

Muchas gracias por responder,
Entonces debe alterarse el usuario propietario del objeto a crear para asignarle una cuota de espacio en el tablespace, ¿es así?
Por otro lado, ¿qué diferencia existe si le doy grant de esta forma que también permite crear la tabla?
Código SQL:
Ver original
  1. GRANT unlimited tablespace TO usrrex;
Saludos.
  #4 (permalink)  
Antiguo 18/10/2014, 10:11
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: DBA no tiene permiso para crear tabla ¿¿cómo??

Cita:
Entonces debe alterarse el usuario propietario del objeto a crear para asignarle una cuota de espacio en el tablespace, ¿es así?
Exacto.

Cita:
Por otro lado, ¿qué diferencia existe si le doy grant de esta forma que también permite crear la tabla?
Pues que el espacio solo estarà limitado por el tamaño del tablespace. Y podrà crecer sin ningùn tipo de quota que lo reduzca.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 18/10/2014, 10:22
 
Fecha de Ingreso: octubre-2014
Ubicación: Lima
Mensajes: 74
Antigüedad: 9 años, 6 meses
Puntos: 1
Respuesta: DBA no tiene permiso para crear tabla ¿¿cómo??

Cita:
Iniciado por huesos52 Ver Mensaje
Pues que el espacio solo estarà limitado por el tamaño del tablespace. Y podrà crecer sin ningùn tipo de quota que lo reduzca.
Entonces, sería equivalente a hacerlo de la segunda forma que indicas en tu primer post:
Código SQL:
Ver original
  1. ALTER USER usrrex QUOTA UNLIMITED ON TS_REX_DAT; --Para permitir escrituras en tablepace ilimitado.
Saludos.
  #6 (permalink)  
Antiguo 18/10/2014, 10:25
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: DBA no tiene permiso para crear tabla ¿¿cómo??

Correcto. Es exactamente lo mismo
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #7 (permalink)  
Antiguo 18/10/2014, 13:54
 
Fecha de Ingreso: octubre-2014
Ubicación: Lima
Mensajes: 74
Antigüedad: 9 años, 6 meses
Puntos: 1
Respuesta: DBA no tiene permiso para crear tabla ¿¿cómo??

Quería aprovechar el mismo hilo para hacer otra pregunta:
¿Cómo puedo dar privilegio de creación de paquetes a un rol llamado Administrador?, estoy conectado con el usuario system y quiero darle privilegio de creación de paquetes. Estoy tratando de la siguiente manera:
Código SQL:
Ver original
  1. GRANT CREATE package TO Administrador;
Pero me tira error:

Cita:
grant create package to Administrador
Informe de error -
Error SQL: ORA-00990: missing or invalid privilege
00990. 00000 - "missing or invalid privilege"
*Cause:
*Action:
Muchas gracias,
  #8 (permalink)  
Antiguo 18/10/2014, 14:58
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: DBA no tiene permiso para crear tabla ¿¿cómo??

Sino estoy mal, el privilegio CREATE PROCEDURE incluye procedimientos, funciones y paquetes.
Ese es el que deberìas asignar.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming

Etiquetas: dba, permiso, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:53.