3ENGINE

Programación y otros cachivaches

Etiqueta: Oracle

Página 2/4

Tecnologia

tnsping: comprobar alias Oracle


Si despues de configurar los alias de conexión a base de datos Oracle ya sea editando directament el fichero tnsnames.ora o mediante la herramienta Net8 Assistant (ver cómo configurar un alias de red con Oracle Net8, quieres comprobar rapidamente que la configuración es correcta. Puedes hacer uso del comando tnsping

Ejemplo:

tnsping ora_datos_productivo

Salida:

Referencias:
Tnsping
Tnsnames.ora
Bonitruco: averigua desde donde se configura Oracle




Tecnologia

ORA-12640: Authentication adapter initialization failed / ORA-12638: Fallo al recuperar los credenciales


Si Oracle te devuelve un error como estos:

ORA-12640: Authentication adapter initialization failed
ORA-12638: Fallo al recuperar los credenciales

Es debido a la configuración del parámetro SQLNET.AUTHENTICATION_SERVICES que se encuentra en sqlnet.ora (en mi caso este archivo se encuentra en C:\oracle\ora81\network\ADMIN).

Este parámetro permite uno o mas servicios de autentificación.

  • NTS: Autentificación de Windows sin contraseña.
  • NONE: Cualquier usuario valido con contraseña accede.
  • ALL: Cualquier método de autentificación es valido.

Prueba a poner NONE o ALL y el error dejará de aparecer.




Tecnologia

Activar y desactivar todas las restricciones de tabla en Oracle para eliminar datos


Si necesitas eliminar todos los datos de una base de datos, y no tienes ganas de pensar en el orden de los «delete from tablaXYS» para cumplir con las restricciones de integridad. Lo mas rápido es desactivar las foreign keys, eliminar todas las tablas y dejar otra vez las foreign keys como estaban.

Activar y desactivar todas las restricciones de tabla en Oracle

Deshabilitar todas las foreign keys de todas las tablas:

BEGIN  
  FOR c IN
  (SELECT c.owner, c.table_name, c.constraint_name    
   FROM user_constraints c, user_tables t    
   WHERE c.table_name = t.table_name    
   AND c.status = 'ENABLED'
   AND c.CONSTRAINT_TYPE = 'R'     
   ORDER BY c.constraint_type DESC)   
LOOP     
  dbms_utility.exec_ddl_statement('alter table ' || c.owner || 
  '.' || c.table_name || 'disable constraint ' || c.constraint_name);   
END LOOP; 
END;

Volver a habilitar todas las foreign keys de todas las tablas:

BEGIN  
  FOR c IN
  (SELECT c.owner, c.table_name, c.constraint_name
   FROM user_constraints c, user_tables t
   WHERE c.table_name = t.table_name
   AND c.status = 'DISABLED'
   AND c.CONSTRAINT_TYPE = 'R'    
   ORDER BY c.constraint_type)
LOOP
  dbms_utility.exec_ddl_statement('alter table ' || c.owner || 
   '.' || c.table_name || ' enable constraint ' || c.constraint_name);   
END LOOP; 
END;

Recursos
Disable all table constraints in Oracle




Tecnologia

line-feed o carriage-return en Oracle


En Oracle, para añadir a un texto un line-feed o un carriage-return:

  SELECT '"' || chr(10) || '"' FROM DUAL;
  SELECT '"' || chr(13) || '"' FROM DUAL;

De modo que para buscar, por ejemplo, un texto que contenga un line-feed:

  SELECT * FROM MITABLA WHERE MICAMPO LIKE '%'||chr(10)||'%';