Oracle - Puede un usuario accesar a 2 tablespace

 
Vista:

Puede un usuario accesar a 2 tablespace

Publicado por Manuel (22 intervenciones) el 07/04/2003 21:56:52
Tengo dos tablespace y necesito que un usuario pueda accesar a las tablas que estan en un tablesace y ademas pueda accesar a las que estan en otro tablespace.
cuando cree el usuario le puse default tablespace Tablespace1 pero como le pongo para que pueda accesar al segundo ???
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Puede un usuario accesar a 2 tablespace

Publicado por Byron (300 intervenciones) el 07/04/2003 23:05:24
Los usuarios o schemas definen un default tablespace para que cuando el usuario se conecte y desea crear objetos, y no defina en que tablespace debe crearse, predeterminadamente los crea en el default tablespace.

Los tablespaces son estructuras logicas para ordenar y controlar objetos, un usuario puede crear varias tablas y tener todas creadas en diferentes tablespace siempre y cuando no sobrepasen la quota o la cantidad que tiene dicho usuario para crear objetos en dicho tablespace.

La restriccion que pudieras tener es cuando tu deseas ver una tabla que corresponde (fue creada) por otro usuario, previamente para verla deberas tener permisos suficientes que te los provee el mismo usuario que creo la tabla o un usuario administrador mediante un GRANT.

Se recomienda crear objetos en un tablespace aparte que no sea el SYSTEM y tambien seria recomendable que el usuario solo cree sus tablas en su propio tablespace para mantener un orden.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Dos, Tres No importa. Cual es la Necesidad del Use

Publicado por williams (142 intervenciones) el 07/04/2003 23:07:24
Amigo
La idea de asignar un default tablespace a un usuario, es para aquellos usuarios que necesiten CREAR OBJETOS (tales como tablas, vistas, procedimientos, triggers, secuencias, indexes, etc,ect), lo cual también debes de especificar el espacio a utilizar por el mismo usuario en Mega O K bytes.
Ahora para permitir el acceso a las tablas y cualquier otro objeto para manipularlos (select, insert, update, delete, osea DML) lo unico que tienes que hacer es:
Crear un Rol
Asignar al Rol los objetos a manipular y las acciones sobre los mismos
y luego asignar los usuarios al Rol
y esto te permite más adelante agregar otro objeto al rol y listo

si necesitas saber la forma de crearlo puedes escribir de nuevo
atentamente Williams
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Dos, Tres No importa. Cual es la Necesidad del

Publicado por Harold (697 intervenciones) el 08/04/2003 19:06:30
Se esta confundiendo algo:
El usuario accesa las tablas, las tablas pueden estar en uno o en varios tablespaces, a un usuario normal no tiene por que tener acceso permisos de escritura en los tablespaces, se le define un tablespace por default para cumplir con el requsito de creacion de usuarios ya que si no se le define uno, por default utiliza el tablespace del system, lo cual es malo.

Saludes

Harold
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Dos, Tres No importa. Cual es la Necesidad del

Publicado por Manuel (22 intervenciones) el 08/04/2003 19:20:10
Harold !!
Efectivamente lo que mencionas es la manera correcta de trabajar y lo digo porque es la manera que observo en el servidor que tengo. Mi problema es que no se como otorgar privilegios a un usuario en varios tablespace ademas del como otorgar privilegio a un usuario en los objetos de otro usuario.

Gracias!!! Harold, Byron, Williams!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Dos, Tres No importa. Cual es la Necesidad del

Publicado por Manuel (22 intervenciones) el 08/04/2003 19:09:17
Gracias!!!
Si necesito saber la menera de crearlos.
Otra pregunta como concedo a un usuario privilegios para accesar las tablas de otro usuario ???
Gracias!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Dos, Tres No importa. Cual es la Necesidad del

Publicado por Harold (697 intervenciones) el 08/04/2003 19:45:24
Claro que si se puede, pero repito los accesos se dan a las tablas que estan sobre los tablespaces, no le das privilegios sobre los tablespaces.

Para darles privilegios de acceso a un usuario sobre las tablas de otro, te tienes que conectar como el dueño del objeto y le das:

grant select, update, insert, delete on tablename to username;
esto en el caso que le quieras dar privelgios casi totales aunque tambien podrias darle un privilegio segun tu criterio:

grant select on tablename to username;

ahora aca te surge otro problema: cuando le das el privilegio el usario con que quiere accesar al objeto tendra que hacerlo asi:

select * from username.tablename;

esto es problema ya que en el codigo no esta contemplado eso, para resolverlo puedes utilizar sinonimos publicos del objeto creado, pero esto tienes que hacerlo conectado como DBA:

create public synonym tablename for username.tablename;
tienes que tener cuidado ya que donde dice tablaname tienen que ser iguales, si no no llegas. El problema de los sinonimos es las lecturas recursivas que habran en el diccionario de datos que ocasionara lentitud.

La otra forma de hacerlo es con trigger de conexion que le cambie el esquema por default.

Saludes

Harold
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Dos, Tres No importa. Cual es la Necesidad del

Publicado por Manuel (22 intervenciones) el 08/04/2003 23:40:03
Ya lo probe y me funciono no lo note lento sin embargo me puedes explicar como lo hago con trigers ???

Saludos y gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Usuarios Avanzados y Tablespace

Publicado por Williams (142 intervenciones) el 09/04/2003 15:49:52
Saludos Amigos
Amigo Manuel si eres la persona responsable de esa base de datos, te recomiendo que tengas a tu mano el manual o guia del administrador de la version de oracle que tengas. Esto para lo que te depara el futuro como un DBA
Por otra parte, en concordancia con quienes te han respondido anteriormente agregaria lo siguiente.

Solo para (usuarios-programadores), que si tienen que crear objetos de almacenamiento de datos, Tables, Index, Clusters, etc.

Estos señores si deberian de tener cuotas, permisos, accesos en determinados tablespaces.
usa la siguiente sentencia
alter user nomb_usuario quota (nK, nM) on nomb_tablespace;
por ejemplo, desde sqlplus y con una cuenta con privilegios DBA o con system, introduce lo siguiente:
alter user yoxxx quota 2M on users;
Lo que estas haciendo es permitirle al usuario yoxxx crear objetos de almacenamientos de datos tables, indexes, cluster, etc en el tablespace que èl especifique en la clausula storage de dicho objeto a crear.
Por lo demas estoy de acuerod con harold y bryon sigue sus consejos
atentamente Williams - Csc Vzla


Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Puede un usuario accesar a 2 tablespace

Publicado por Gina Camacho (1 intervención) el 05/06/2003 00:12:50
Hola, cuando creas un usuario le asignas el tablespace por default y le das quota sobre el otro al q' tu quieres q' acceda, mas o menos el esquema es el sgte:CREATE USER xx
DEFAULT TABLESPACE DATOS1
TEMPORARY TABLESPACE TEMP
QUOTA UNLIMTED ON DATOS1
QUOTA UNLIMTED ON DATOS2
QUOTA UNLIMTED ON INDICES1
;
y cuando el usuario crea una tabla deberia elegir entre los tablespaces DATOS1
y DATOS2,
Espero te sirva mi colaboracion.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar