1. CREACIÓN DE USUARIOS
  2. Una de las más básicas tareas de un administrador de base de datos es identificar los usuarios. Cada usuario que conecta en la base de datos debe de tener una cuenta. En las cuentas compartidas son difíciles de aplicar una auditoria.

    Para crear un usuario utilizamos la sentencia CREATE USER. Cuando creas una cuenta como mínimo tienes que asignar un único nombre (username) y una contraseña para poder autenticarse.

    Para cambiar alguno de los atributos que se le ha añadido al usuario creado se utiliza la sentencia ALTER USER.

  3. AUTENTICACIÓN ORACLE
  4. Cuando uno se conecta con una instancia de una base de datos la cuenta de usuario debe de estar autenticada. ORACLE provee tres métodos de autenticación para nuestra cuenta de usuario.

    AUTENTICACIÓN MEDIANTE PASSWORD

    Cuando un usuario conecta con una base de datos verifica que este usuario y la contraseña introducida almacenada en la base de datos, sea correcta. Las contraseñas se guardan encriptadas en la base de datos (en el data dictionary).

    SQL > CREATE USER david IDENTIFIED BY tititus;

    En este caso tititus es la contraseña de david que será guardada encriptada en la base de datos.

    AUTENTICACIÓN EXTERNA

    Cuando un usuario conecta con la base de datos se verifica que el nombre de usuario es el mismo que el nombre de usuario del sistema operativo para permitir la validación.

    No se almacenan las cuentas en la base de datos de ninguna forma. Estas cuentas están siempre referidas con OPS$ .A partir de la versión 10g puedes configurar OS_AUTHENT_PREFIX en el spfile

    SQL > CREATE USER ops$david IDENTIFIED BY tititus;

    Mediante IDENTIFIED EXTERNALLY decimos a la base de datos que nuestra cuenta es externa y tiene que ser validada con el sistema operativo.

    AUTENTICACIÓN GLOBAL

    Cuando un usuario se conecta con la base de datos se verifica globalmente cuando la información pasa por una opción avanzada de seguridad ( ADVANCED SECURITY OPTION ) para la autenticación tal como Kerberos, RADIUS ....

    Para las cuentas globales no se almacena tampoco nada en la base de datos.

    SQL > CREATE USER david IDENTIFIED GLOBALLY AS ‘CN=alumnos,OU=campus .......’

    Mediante IDENTIFIED GLOBALLY decimos a la base de datos que nuestra cuenta se autentica globalmente, mediante otra opción de seguridad avanzada.

  5. ASIGNACIONES A LOS USUARIOS
  6. ASIGNACIÓN DE UN USUARIO A UN TABLESPACE ( DEFAULT TABLESPACE )

    Mediante esta sentencia asignamos un usuario a un tablespace, este será su tablespace por defecto cuando creamos un usuario.

    SQL > CREATE USER david IDENTIFIED BY tititus DEFAULT TABLESPACE users;

    Mediante esta sentencia, en caso de tener creado ya el usuario le asignamos un tablespace.

    SQL > ALTER USER david DEFAULT TABLESPACE users;

    La base de datos toma un tablespace por defecto, en caso de querer cambiar este tablespace utilizamos la siguiente sentencia

    SQL > ALTER DATABASE DEFAULT TABLESPACE users;

    ASIGNACIÓN DE UN USUARIO A UN TABLESPACE TEMPORAL

    Un tablespace temporal se utiliza para almacenar “segmentos” temporales que son creados durante operaciones como ORDER BY,SELECT DISTINCT, MERGE JOIN o CREATE INDEX.A veces a los usuarios se les asocia un tablespace temporal para realizar este tipo de operaciones, cuando estas operaciones finalizan este segmento temporal que se ha creado exclusivamente para la operación desaparece.

    SQL > CREATE USER david IDENTIFIED BY tititus DEFAULT TABLESPACE users
    TEMPORARY TABLESPACE temp;

    Mediante TEMPORARY TABLESPACE asignamos como tablespace temporal temp al usuario david.

    En caso de que el usuario esté creado si queremos asignarle un tablespace temporal utilizamos ALTER USER

    SQL > ALTER USER david TEMPORARY TABLESPACE Temp;

    ASIGNACIÓN DE UN PERFIL A UN USUARIO

    Al igual que podemos asignar un tablespace a un usuario, también podemos asignarle un perfil (profile). El principal perfil ( profile ) por defecto se denomina default.

    Si el usuario no está lo podemos crear de la siguiente forma:

    SQL > CREATE USER david IDENTIFIED BY tititus
    DEFAULT TABLESPACE users
    TEMPORARY TABLESPACE temp
    PROFILE resource_profile;

    En caso de que el usuario ya esté creado al igual que en los anteriores casos utilizamos la sentencia ALTER USER.

    SQL > ALTER USER david PROFILE resource_profile;

    BORRADO DE UN USUARIO

    Para borrar un usuario utilizamos la sentencia DROP USER, podemos opcionalmente incluir la opción CASCADE, se utiliza para borrar recursivamente los objetos del usuario que se pretende borrar.

    SQL > DROP USER david CASCADE

    OTORGANDO PRIVILEGIOS (GRANTING)

    A un usuario podemos otorgarle una serie de privilegios. Un privilegio permite a un usuario acceder a ciertos objetos o realizar ciertas acciones:.

    - Privilegios sobre Objetos ( Object privileges ) a permisos sobre vistas, tablas, secuencias, procedimientos, paquetes.
    - Privilegios del Sistema ( System privileges ) a permisos sobre “niveles de la base de datos” como pueden ser conexión a la base de datos, creación de usuarios, limitar cuentas.
    - Privilegios sobre Roles ( Role privileges ) a muchos permisos son otorgados mediante roles agrupando un conjunto de privilegios.

    Para otorgar privilegios utilizamos la sentencia GRANT, para quitar un privilegio o permiso a un usuario utilizamos la sentencia REVOKE

    EJEMPLOS

    Privilegio sobre una tabla:

    SQL > GRANT ALL ON tabla_alumnos TO david

    Siendo tabla_alumnos una tabla de nuestra base de datos y david un usuario de esta, hemos asignado mediante GRANT ALL,todos los permisos al usuario david sobre esta tabla.

    GRANT ALL = permisos SELECT, INSERT, UPDATE, DELETE

    Si queremos asignar sólo uno de estos permisos utilizamos la misma sentencia pero con el permiso que queramos otorgar.

    SQL > GRANT SELECT ON tabla_alumnos TO david
    SQL > GRANT SELECT,INSERT ON tabla_alumnos TO david

    Privilegio sobre una vista:

    Para el caso de las vistas podemos a un usuario otorgar permisos SELECT, INSERT, UPDATE, DELETE, DEBUG, REFERENCES.

    Siendo vista_alumnos una vista de nuestra base de datos y david un usuario de esta:

    Otorgamos al usuario david todos los permisos sobre la vista vista_alumnos.

    SQL > GRANT ALL ON vista_alumnos TO david

    Otorgamos al usuario david algunos permisos sobre la vista_alumnos

    SQL > GRANT SELECT ON vista_alumnos TO david

    SQL > GRANT SELECT,INSERT ON vista_alumnos TO david

    Privilegio sobre una secuencia:

    Con las secuencias pasa lo mismo que con los anteriores objetos vistos, para otorgar permisos se utiliza GRANT. Los permisos que podemos otorgar a una secuencia es SELECT o ALTER.

    Privilegio sobre un paquete,función o procedimiento

    Los permisos que podemos otorgar a las funciones, paquetes o procedimientos almacenados en nuestra base de datos son los siguientes: EXECUTE, DEBUG.

    QUITANDO PRIVILEGIOS

    Si queremos quitar un privilegio a uno de estos objetos haremos lo mismo que con GRANT pero utilizando la sentencia REVOKE.

    SQL > REVOKE ALL ON tabla_usuarios FROM david


Escribe un comentario:

Autor:

Comentarios:

por Anónimo | 9/20/2006 12:08:38 AM

RE: Administración de usuarios en Oracle

tengo una duda al borra una tabla o vista se borran tambien los privilegios del usuario sobre estas tablas

por Anónimo | 9/20/2006 8:57:53 AM

RE: Administración de usuarios en Oracle

En un principio si desaparece el objeto desaparecen los privilegios asociados a este.
La vista donde puedes ver los privilegios que hay en tu base de datos otorgados es user_tab_privs_made

por Anónimo | 9/23/2006 11:03:00 PM

RE: Administración de usuarios en Oracle

hola estoy aprendiendo esto del oracle y tengo una pregunta.. luego de otorgar el permiso a un usuario, como hago para hacer uso de ese permiso desde el otro usuario??? no se como se pone..

por Anónimo | 9/26/2006 12:54:46 PM

RE: Administración de usuarios en Oracle

Hola

Si tienes un usuario USER1 con una tabla TABLE1 y le das ese permiso al usuario USER2 para que pueda seleccionar las filas de esa tabla
sql> grant select on user1.table1 to user2

Arhora puedes realizar select desde USER2 a esa tabla de la siguiente formas:

Haces login con USER2 y realizas la siguiente consulta

select * from user1.table1;

Si quieres evitar poner delante de table1 el usuario propietario de esta tabla ( USER1) para que sea visible, la opcion que tienes es crear un sinonimo sobre la tabla TABLE1 de tal forma que USER2 pueda hacer
select * from TABLE1; y pueda ver los resultados de esta tabla




por tere_py@yahoo.com | 10/9/2006 3:00:10 PM

RE: Administración de usuarios en Oracle

como puedo controlar la cantidad de usuarios concurrentes a la base de datos hay un limite ?

gracias

por Anónimo | 10/15/2006 7:36:56 PM

RE: Administración de usuarios en Oracle

para controlar el número de procesos os remito a los parametros de inicalización en el init.ora

PROCESSES:Máximo número de procesos de SO que pueden acceder de forma
concurrente. Mínimo: 1 por usuario + procesos de arrancados con cada instancia.

Si varía el número máximo de este valor no nos tenemos que olvidar de echar un vistado a los pararámtros
transactions y sessions que están directamente ligados con este.

por Anónimo | 10/21/2006 6:23:53 PM

RE: Administración de usuarios en Oracle

Hola. Instale Oracle 9i pero cuando intento entrar por SQL Plus mediante el usuario de prueba scott y la contraseña tiger no se que valor colocar en "Host String" ¿que me sugieren? He probado con varios valores y me dan los siguientes errores: ORA-12541: TNS no listener ó ORA-12154: TNS Could not resolve service name.

De antemano muy Agradecido por su ayuda.

por Anónimo | 10/23/2006 9:31:22 AM

RE: Administración de usuarios en Oracle

En un princio el error que estas recibiendo se refiere a que el listener de la base de datos no está levantado o no se reconoce el descriptor de la base de datos para la conexion, por lo tanto cuando intentes conectarte con cualquiera de los usuarios a través de sql plus vas a obtener ese error.
Intenta levantar el listener de la base de datos, y en caso de que este esté levantado revisar los ficheros de red de oracle ( sqlnet.ora y tnsnames.ora ) con el fin de ver si el sid de la base de datos al que te estás conecntado es el correcto.

utiliza el comando tnsping descriptor_base_de_datos para ver si el listener está levantado y el descriptor de conexión es correcto.

Puedes echar un vistazo a http://www.orasite.com/tutoriales/archivos-configuracion-red-oracle.html

por Anónimo | 11/7/2006 8:53:11 PM

RE: Administración de usuarios en Oracle

Hola!
Quiero crear un usuario que tenga premiso para crear tablas pero no para crearlas. Al darle privilegio de CRATE TABLE, debe ser que lleva implícito el de borrarla, no?
Como puedo hacerlo?

por Anónimo | 11/7/2006 8:54:53 PM

RE: Administración de usuarios en Oracle

Perdon, me referia que pueda crear tablas pero no BORRALAS
Muchas gracias

por Anónimo | 12/5/2006 12:44:41 AM

RE: Administración de usuarios en Oracle

hola tengo una duda quisiera saber como conectar varias maquinas en una red y solo debo tener una sola base datos

por weimar3@hotmail.com | 4/17/2007 2:51:21 PM

RE: Administración de usuarios en Oracle

quiero saber como se recupera una base de datos en oracle 9i sin haber hecho copia de seguridad

por Anónimo | 4/18/2007 12:08:05 PM

RE: Administración de usuarios en Oracle

Hola weimar3@hotmail.com ,
la verdad es que sin una copia de seguridad es complicado realizar una recuperación de la base de datos.
Cuál es el caso en concreto, que error tienes. Si la base de datos está en modo archivelog y da algún fallo en alguno de los datafiles, puede que si sea posible
recuperar la instancia hasta un punto estable.

por Cristina | 5/10/2007 2:05:34 PM

RE: Administración de usuarios en Oracle

Tengo que cargar una tabla partiendo de un fichero con un INSERT y un UPDATE. Si la carga es correcta tiene que marcarlo un testigo en el UPDATE, pero si no lo es el testigo no debe marcar nada.

El problema es que sí que lo marca cuando la carga no es correcta, cómo puedo solucionarlo?

por Anónimo | 6/21/2007 12:57:14 AM

RE: Administración de usuarios en Oracle

Hola,
quisiera saber si alguien sabe como liberar el espacio utilizado desde un tablespace Temporal una vez que ya finaliz´la query que estaba utilizando el tablespace TEMP?

por Anónimo | 7/31/2007 9:54:54 PM

RE: Administración de usuarios en Oracle

esta bien bueno este pequeño manual de oracle

por MGM | 11/5/2007 6:01:15 PM

RE: Administración de usuarios en Oracle

Tengo una pregunta, si yo tengo un usuario con privilegios de SYSDBA y posteriormente lo quiero limitar... los privilegios otorgados por este usuario ¿serán revocados al resto de usuarios?.

Gracias.

por Miguel Cervantes | 12/5/2007 11:05:52 PM

RE: Administración de usuarios en Oracle

EXCELENTE DOCUMENTO PARA TODOS AQUELLOS QUE QUEREMOS COMENZAR BIEN......
TE LO AGRADEZCO MUCHO.........

por Adriana Miranda | 4/18/2008 3:09:32 AM

RE: Administración de usuarios en Oracle

Hola, alguien sabra como puedo modificar el UID a un usuario?

por juankri@hotmail.com | 1/13/2009 7:32:21 AM

RE: Administración de usuarios en Oracle

Que estructuras del sistema debo verificar para obtener los privilegios de un usuario, y como obtengo una descripcion de los diferentes privilegios exixtentes oracle.Muchas gracias.

por io | 4/7/2009 11:51:53 AM

RE: Administración de usuarios en Oracle

oye anonimo enviame una conclusion

por Yeison Pinto Mosquera | 6/18/2009 7:52:49 PM

RE: Administración de usuarios en Oracle

Exelente documentacion, muchas gracias por su ayuda

por John | 7/2/2009 11:41:55 AM

RE: Administración de usuarios en Oracle

Hola... soy nuevo en esto de oracle y tengo una pregunta!
Cuando yo creo usuarios en oracle puedo crear usuario que pueden crear, borrar, actualizar tablas en un esquema pero tambien puedo crear usuarios los cuales solo van a poder hacer select, insert, delete or update sobre esas tablas... es asi o estoy equivocado?
Gracias!

por rober | 11/7/2009 11:41:36 AM

RE: Administración de usuarios en Oracle

Hola, tengo una duda sobre el REVOKE para quitados de permisos, existe el revoke en cascada y restricto? en ese caso, cual es por defecto?....otra pregunta: la cantidad de permisos es acumulativo? es decir se tiene una pila de permisos por usuario?, por ejemplo el usuario U1 le da permiso de UPDATE sobre tabla A al usuario U2 y tambien permiso de otorgarselo a otros usuarios, el Usuario U2 le da este mismo permiso al U3. Si el usuario U3 ya tenia este permiso, se le acumula? osea, si ahora el U2 le quita el permiso al U3, el U3 lo sigue teniendo porque otro usuario ya se lo habia otorgado antes?

por anónimo | 12/22/2009 10:18:17 AM

RE: Creacion de un usuario, para la creacion de la base de datos en Oracle

eh estado leyendo ultimamente.. y para poder crear una base de datos en el arbol.. necesito crear un usuario.. pero como hago la creacion, porq hast donde se no sea crea igual que un usuario que accesa a la BD... me podrian ayudar...!! me urge porque tengo q terminar un proyecto... por favor..!!!

por MBM | 1/9/2010 3:47:46 PM

RE: Administración de usuarios en Oracle

Hola...estoy cursando mi materia de oracle....tengo dos maquinas en red...pero en una me puse a ingresar los datos de las tablas con el insert...despues quise ingresar desde la otra maquina pero no me salen los datos de las tablas me imagino que al insertar datos en una maquina en la otra no se guardan...lo que quiero que me ayuden es en como hago un backup a la otra maquina. Mil gracias por tu ayuda.

por Jvega | 2/13/2010 8:27:25 AM

RE: Administración de usuarios en Oracle

como puedo entrar a la base de datos luego de haber creado al usuario

por yop | 2/17/2010 11:33:25 PM

RE: Administración de usuarios en Oracle

como encuentro la sentencia de un privilefigio en oracle



Buscar errores de Oracle


Buscar en la web

 
Web orasite.com
· Tutoriales
- Export / Import Oracle 9i
- Instalación Oracle 10g
- Archivos de configuración de red para Oracle
- init.ora spfile.ora fichero de parámetros oracle
- Export Oracle 10g
- Administración de usuarios
- Configurar modo archivelog
- Introducción Oracle 10g
- Arrancar o parar base de datos Oracle
- Tunning Oracle
- Instalación statspack
- Seguridad listener Oracle 10g
- Parámetros memoria SGA
- Activar auditoria de la base de datos
- Oracle Jobs (9i)
- Controlar espacio tablespaces
- Recover database until time
- Hotbackup de una base de datos Oracle
- Consultas sobre V$
- Privilegios sysoper y sysdba
- Búsquedas en Oracle 10g case-insensitive
- Cambiar ubicación base de datos
- Bloquear acceso a base de datos por IP
- Loadjava y Dropjava en Oracle
- Configuración de memoria
- Problemas Oracle Jobs
- Encriptación e integridad de datos en Oracle
- Instalación de la máquina virtual Java
- Cambiar a modo restricted session
- Recuperación modo noarchivelog
- Reconstrucción de índices
 
· Oracle FAQ
- Oracle database
 
· Noticias
- Oracle OpenWorld 2009
- Oracle compra Sun
- Oracle 11g presentada
- Oracle vulnerable a inyección SQL en cursores
- Procesos de negocio con Oracle
- OracleXE para Debian
 
· Descargas
- Free Toad
 
· Errores Oracle
· Libros sobre Oracle
· Sitios relacionados
- Trabajos de Oracle
- ZonaOracle.com
- AjpdSoft
- La Web del Programador
· Sitios recomendados
- Cronica24.com
- TPV
- Buscar trabajo
Los contenidos de esta web son producto de la colaboración de sus usuarios, por lo que puede haber erratas. Si encuentras una información incorrecta agradeceremos que nos lo comuniques en nuestra dirección:
Cualquier información aquí publicada es de libre distribución, siempre y cuando se haga referencia mediante un link al documento original.
Orasite.com