Administración
El error ORA-30926 como resultado de una operación Merge
Submitted by carlos on 17 February, 2009 - 22:01El error ORA-30926 suele producirse cuando se realizan operaciones Merge, y lo normal es que nos deje algo descolocados, ya que la descripción del mismo no da demasiada información sobre lo que está pasando:
ORA-30926: unable to get a stable set of rows in the source tables.
Normalmente este error se produce cuando en la operación Merge a una fila destino que hay que actualizar le corresponden más de una fila en la tabla origen. Como el motor no sabe qué registro escoger devuelve un error. Es un problema de duplicidad en la tabla origen.
Ejemplo:
- Añadir nuevo comentario
- Leer más
- 2098 lecturas
-
Consulta de contraseñas de usuario de Oracle
Submitted by carlos on 13 August, 2007 - 23:00Por obvias razones de seguridad no se puede consultar en claro la contraseña de los usuarios de la base de datos, pero un usuario administrador como SYSTEM sí que tiene privilegios para consultar el password encriptado:
SQL> select password from dba_users where username='SCOTT';
PASSWORD
-----------------------------
F894844C34402B67La utilidad de esto está en que lo mismo que nos retorna la SELECT se puede utilizar en una sentencia de modificación de la contraseña;
SQL> alter user scott identified by values 'F894844C34402B67';Con esto no hemos hecho nada, ya que le hemos asignado a SCOTT la misma contraseña que tenía (TIGER), pero si cambiamos la contraseña:
SQL> alter user scott identified by nuevacontraseña;
SQL> connect scott/nuevacontraseña
Connected.Y ahora queremos volver a ponerle la contraseña inicial:
SQL> connect system/dbapwd
Connected.
SQL> alter user scott identified by values 'F894844C34402B67';
User altered.
SQL> connect scott/tiger
Connected.
- 1 comentario
- Leer más
- 2221 lecturas
-
GRANTS WITH GRANT OPTION: La propiedad transitiva en la concesión de permisos
Submitted by carlos on 23 June, 2007 - 12:40La instrucción grant se utiliza para conceder determinados permisos genéricos o bien permisos sobre objetos a usuarios de la base de datos.
La sintaxis de la misma es la siguiente:
GRANT [privilegios_de_sistema | roles]
TO [usuarios | roles |PUBLIC] {WITH GRANT OPTION } para conceder permisos genéricos
GRANT [ALL {PRIVILEGES} | SELECT | INSERT | UPDATE | DELETE] ON objeto
TO [usuario | rol | PUBLIC] {WITH GRANT OPTION} para conceder permisos sobre objetos
La sintaxis es muy sencilla, y los privilegios los puede conceder el usuario propietario de los objetos, o un usuario con privilegios de concesión de permisos sobre objetos que no son suyos (DBA's).
Lo que quería comentar es la utilización de la opción WITH GRANT OPTION, que permite que el usuario al que le han concedido permisos pueda a su vez concederlos a otros usuarios.
Mostraré la utilizad de esta opción con un ejemplo:
Imaginemos que tenemos un usuario 'U_VISTA', que crea una vista con una consulta que consulta información de un objeto de otro usuario 'U_DATOS'. Hasta aquí es sencillo, ya que con un GRANT del usuario 'U_DATOS' al usuario 'U_VISTA' sobre esos objetos el tema está solucionado.
U_DATOS:
SQL> GRANT SELECT ON TABLA TO U_VISTA;- Leer más
- 10628 lecturas
-
Acceso remoto mediante DBLINK de Oracle
Submitted by carlos on 12 March, 2007 - 23:18Para acceder desde una base de datos Oracle a objetos de otra base de datos Oracle la manera más sencilla es utilizar un DBLINK (que sea la más sencilla no significa que siempre sea la más aconsejable, el abuso de los DBLINKS puede generar muchos problemas, tanto de rendimiento como de seguridad)
Para ello es necesario, con un usuario que posea el privilegio CREATE DATABASE LINK, crear el DBLINK en la base de datos origen (A) mediante una sencilla sentencia como la siguiente:
Create database link LNK_DE_A_a_B connect to USUARIO identified by CONTRASEÑA USING 'B';'LNK_DE_A_a_B' es el nombre del link, 'USUARIO' y 'CONTRASEÑA' son los identificadores del usuario que utilizará el link para conectarse, los permisos del cual heredarán todos los accesos a través del link, y B es el nombre de la instancia de la base de datos.
A través del DBLINK se puede conectar con los objetos de la base de datos remota con los permisos que tenga el usuario que se ha proporcionado en la sentencia de creación.
Para referenciar un objeto de la base de datos remota se ha de indicar el nombre del objeto, concatenado con el carácter '@' y el nombre que se le ha dado al DBLINK.
Ejemplo:
select * from TABLA@LNK_DE_A_a_B
- 5 comentarios
- Leer más
- 33351 lecturas
-
Crear BD Oracle en Windows y Linux
Submitted by cfb on 13 February, 2007 - 01:22En el site www.ajpdsoft.com se publica el manual online Instalacion Oracle 9i sobre Windows, donde se explica paso a paso y con captura de pantallas cómo instalar una BD Oracle 9i sobre windows, cómo solucionar algunos de los errores típicos que suelen aparecer durante la instalación, cómo levantar el listener, comprobar el estado de la base de datos, y alguna cosa más..
- 3 comentarios
- 19827 lecturas
-

