oracle

Activar/Desactivar ARCHIVELOG en Oracle

en

Son tres pasos:

  • Bajar la base de datos
  • Montar la base de datos
  • Desactivar archive logs
  • Abrir la base de datos
  • Encontrar el tamaño de un objeto en Oracle

    en

    Muchas veces al administrar la base de datos es necesario saber el tamaño de un objeto. Para esto se puede utilizar el siguiente query:


    SELECT sum(bytes)/1048576 Megs, segment_name Obj
    FROM user_extents
    WHERE segment_name = 'NOMBRE_DEL_OBJETO'
    GROUP BY segment_name
    /

    se podría modificar este query para que nos encuentre los objetos más grande en una base de datos o en un datafile

    Indentificar sesiones colgadas en Oracle

    Estaba teniendo serios problemas con una de mis bases de datos en las cuales las sesiones se estaban quedando bloquedas (colgadas) y no dejaban trabajar a los otros usuarios.

    No voy a discutir como se soluciona este error puesto que es más problema del producto que está instalado en la base de datos que la base de datos en si. Lo que si voy a mostrar es como visualizar que sesiones pueden estar colgadas.


    select a.sid, a.serial# sid, a.username, a.machine, a.program, a.status, b.event, b.seconds_in_wait
    from v$session a, v$session_wait b
    where b.sid = a.sid

    ORA-25153: Temporary Tablespace is Empty

    Estaba trabajando en una de mis bases de datos (Soy el DBA, puedo decir 'Mis' ?) así que decidí reconstruir el catálogo (otro día explicaré como es ese proceso). El problema es que esta reconstrucción deja muchos objetos en estado inválidos así que tuve que ejecutar utlrp para recompilar los objetos inválidos.

    Desafortunadamente la compilación falló con el siguiente error:


    BEGIN utl_recomp.recomp_serial(); END;
    *
    ERROR at line 1:
    ORA-25153: Temporary Tablespace is Empty
    ORA-06512: at "SYS.UTL_RECOMP", line 499

    Obtener la IP de un host desde Oracle

    Muchas veces, sobretodo cuando se trabajan con varias bases de datos en varios servidores, se puede necesitar saber cual es la ip o el nombre del servidor en el que está corriendo la base de datos.

    El método más sencillo y confiable para obtener esta información es utilizando el paquete UTL_INADDR.


    Conectado a:
    Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production

    SQL> set serveroutput on;
    SQL>
    SQL> exec dbms_output.put_line(utl_inaddr.get_host_address);
    192.168.0.8

    Procedimiento PL/SQL terminado correctamente.

    Distribuir contenido