Entradas

Cambiar DBNAME y DBID en Oracle database

Este documento tiene como finalidad crear una guía útil para cambiar el DBNAME y el DBID mediante la utilidad NID disponible desde Oracle 9.2 Si cambias el DBID tendrás que abrir la base de datos con un "OPEN RESETLOGS", lo que conlleva la recreación de los redologs y poner la secuencia de los archives a 1 . Los anteriores backup serán invalidados No obstante, puedes cambiar sólo el DBNAME si los efectos secundarios descritos añadiendo el parámetro SETNAME=Y , esto te permite cambiar el DBNAME sin cambiar el DBID. SQL> select dbid,name,open_mode,activation#,created from v$database; DBID NAME OPEN_MODE ACTIVATION# CREATED ---------- --------- -------------------- ----------- --------- 1423238009 ORCL READ WRITE 1423232377 11-NOV-15 Creamos un pfile nuevo a fin de poder modificarlo: SQL> create pfile from spfile; File created. SQL> exit Disconnected from Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 -...

Información histórica sesiones Oracle

Imagen
A partir de Oracle 10.2 con ASH podemos consultar cierta información sobre las sessiones. Encuentro muy interesante poder consultar el número de sesiones conectadas a la base de datos en el pasado para ver esta información podemos consultar estas vistas: v$sysmetric_history --> Información a corto plazo, contiene datos de la última hora en períodos de minutos dba_hist_sysmetric_summary -->Contiene datos del último mes a intervalos resumidos de 1 hora (Media, máxima y mínima de esa hora) v$sysmetric_history y dba_hist_sysmetric_summary contiene información de un montón de métricas diferentes, así que tenemos que seleccionar la métrica que queramos, en este caso las sesiones: set linesize 190 col METRIC_NAME for a100 select METRIC_ID, METRIC_NAME from v$sysmetric_history group by METRIC_ID, METRIC_NAME ; Si queremos buscar las métricas disponible relacionadas con sesiones hacemos: SQL> set linesize 190 col METRIC_NAME for a100 select METRIC_ID, METRIC_NAME ...

matar sesiones oracle

El otro día recibí una alerta acerca de algunos bloqueos en esta base de datos, esta consulta me parece mas funcional que las basadas en v$lock, puesto que es mas rápida: SQL> SELECT * FROM dba_waiters where MODE_HELD 'None' or MODE_REQUESTED 'Share'; WAITING_SESSION HOLDING_SESSION LOCK_TYPE MODE_HELD MODE_REQUESTED LOCK_ID1 LOCK_ID2 --------------- --------------- -------------------------- ---------------------------------------- ---------------------------------------- ---------- ---------- 398 336 Transaction Exclusive Share 327692 9591040 397 336 Transaction Exclusive Share 327692 9591040 394 336 Transaction Exclusive ...

Oracle máximo de sesiones

Oracle tiene la vista gv$resource_limit en la que se puede ver ciertas metricas actuales y su valor límite: set linesize 190 set pages 200 select * from gv$resource_limit; INST_ID RESOURCE_NAME CURRENT_UTILIZATION MAX_UTILIZATION INITIAL_ALLOCAT LIMIT_VALUE ---------- ------------------------------ ------------------- --------------- --------------- ------------ 1 processes 44 300 300 300 1 sessions 52 215 512 512 1 enqueue_locks 30 295 6480 6480 1 enqueue_resources 24 165 2472 UNLIMITED 1 ges_procs 0 0 0 0 1 ges_ress 0 0 ...

Comprobación estado general base de datos Oracle

Muchas veces cuando entramos a un sistema por primera vez no sabemos muy bien como reconocerlo, y empezar a mirarlo... Lo primero que yo hago es un ps -ef | grep ora_pmon a fin de ver las bases de datos que hay corriendo sobre ese host, en mi caso tenemos: host110> ps -ef | grep pmon orauser1 25453 1 0 Apr 14 ? 225:49 ora_pmon_orcl1 orauser2 1915 1 0 Aug 9 ? 213:09 ora_pmon_orcl2 orapbf 6091 1 0 Apr 27 ? 90:00 ora_pmon_pbf orauser3 8221 1 0 Jun 15 ? 76:55 ora_pmon_orcl3 orafi2 11802 1 0 Jun 13 ? 17:04 ora_pmon_fi2 orauser4 12982 1 0 Jun 15 ? 207:43 ora_pmon_orcl4 oragt4 11493 1 0 Mar 9 ? 119:28 ora_pmon_gt4 oraoq0 28195 1 0 Sep 23 ? 3:53 ora_pmon_OQ0 oraod0 653 1 0 Sep 23 ? 4:02 ora_pmon_OD0 oracle 21760 1 0 Sep 23 ? 0:54 ora_pmon_gh oracle 25147 22868 1 17:11:29 pts/1 0:00 grep ora_pmon al cual habría que quitar la úl...

Comando SAR

En AIX el comando sar: El comando por defecto en Aix tiene estas columnas: %usr: El porcentaje de la CPU que está ocupaco en procesos de usuario como scripts o aplicaciones. %sys: : El porcentaje de la CPU que está ocupaco en procesos de sistema %wio: El porcentaje de tiempo que la CPU está esperando en operaciones de entrada y salida en un dispositivo de bloque, que la mayoría de las veces será disco. %idle: El porcentaje de la CPU que no está ocupada. Estos 4 campos deberían de sumar 100%. sar -P ALL nos muestra esta actividad pero procesador por procesador, si ponermos sar -P 0 por ejemplo, nos puestra la actividad el primer procesador de la máquina. sar -d device: Es el disco para el que sacamos estadísticas. En Solaris, se puede ver el physical disk mirando /etc/path_to_inst, y cruzandolo con /dev/dsk. %busy: Es el porcentaje de tiempo que el disco está o leyendo o escribiendo. avque: This is the average depth of the queue that is used to serialize disk activ...

Leer las cabeceras de los discos en asm kfed read

Muchas veces resulta útil leer las cabeceras de los discos en asm debido a que cuando no están montados, por ejemplo, no podemos saber a qué diskgroup corresponde el disco mediante la vista v$asm_disk. O bien monitorizar los discos cuando no está arrancado el +ASM. El primer punto es saber dónde estan montadas las unidades de disco en unix, para ello podríamos haber consultado la instancia asm con un show parameter asm_diskstring, pero si está parada podemos irnos a /dev y hacer un ls -ltr para mirar cuales son los discos... Si hacemos un kfed read /dev/disk_ASM se nos muestra lo siguinte: $> kfed read /dev/disk_ASM kfbh.endian: 0 ; 0x000: 0x00 kfbh.hard: 130 ; 0x001: 0x82 kfbh.type: 1 ; 0x002: KFBTYP_DISKHEAD kfbh.datfmt: 1 ; 0x003: 0x01 kfbh.block.blk: 0 ; 0x004: T=0 NUMB=0x0 kfbh.block.obj: 2147483662 ; 0x008: TYPE=0x8 NUMB=0xe kfbh.c...