Como evitar los .aud

Hoy tenemos uno de los parámetros mas sencillos de modificar y que nos evitaran quebraderos de cabeza.

Muchas veces   a la hora de revisar el filesysten encuentras muchisimos ficheros .aud , estos ficheros con poca utilidad real en el día a día pueden llegar a generar verdaderos problemas de rendimiento en las operaciones con los directorios que los continen.

¿Que hacemos con estos ficheros?

La respuesta es facil, si no los vas a usar,deshabilitalos.

Solo has de cambiar el parámetro  audit_sys_operations=FALSE

 

Otra opcion es rotarlos y/o borrarlos, la manera de saber donde van parar y rotarlos, para ello puedes consultar lel parámetro   audit_file_dest

 

QL> show parameter audit_file_dest

NAME                                 TYPE        VALUE
———————————— ———– ——————————
audit_file_dest                      string      /opt/oracle/app/product/11.2.0/grid/rdbms/audit

Que version tengo de oracle ?

Hoy vamos a añadir una nueva entrada «para dummies».

La respuesta a la pregunta del título es muy facil, podemos obtenerla de la  tabla PRODUCT_COMPONENT_VERSION , o bien mirando simplemente la vista dinámica v$version .

Si quremos mirar la primera desde sqlplus, lo mejor será el dar formato previamente a las columnas,  la consulta sería algo similar a .

set linesize 120;
column PRODUCT format a60;
column VERSION format a20;
column STATUS format a20;
select * from product_component_version;

También podemos obtener información de que hay instalado y la version con


set linesize 120;
column comp_name format a60;
column VERSION format a20;
column STATUS format a20;
SELECT comp_name, version, status
FROm dba_registry
ORDER BY 1;

Si con esto no estais satisfechos, podeis  hurgar en el inventory de Oracle y ver con mas detalle que se ha puesto, especialmente los parches instalados .

Esto puedes hacerlo con

$ORACLE_HOME/OPatch/opatch lsinventory

 

Hay un caso en el que  esto no puede servirnos, y es cuando tenemos una 10g,11g que no ha sido creado desde el DBCA, en ese caso puede que el banner de la version de oracle no nos indique si es una version Estandard o Enterprise.

Para averiguarlo en ese caso modemos mirarlo en el fichero

$ORACLE_HOME/inventory/Components21/oracle.server/*/context.xml

En este fichero xml podemos mirar la propiedad s_serverInstallType donde nos dira si es estandard (SE) o Enterprise (EE).

En la version 11g el fichero a buscar es el
$ORACLE_HOME/inventory/globalvariables/oracle.server/globalvariables.xml
y tenemos que buscar la variable oracle_install_db_InstallType

Salida básica en el sqlplus

A la hora del uso del sqlplus el formateo de  la salida es muy importante, tanto en el uso diario como para poder hacer pequeños scripts.

Algunos comandos básicos son:

Tamaño de la página
set pagesize 50000
Tamaño de la línea
set linesize 200
Para ver el comando que ejecutas
set echo off
suppresses the display of output from a command file
set termout off
Quitar las cabeceras
set heading off
Quitar la linea «x rows selected»
set feedback off;
Formateo de longitud de una columna
column XX format a20 (20 catarcetres)
column XX format 999.999 (decimales)
column XX format €999.999 (ponemos moneda)
Dejar un log con el nombre del SID siempre y cuando sea una variable global definida
spool /path/salida_${ORACLE_SID}.log

Algunos enlaces útiles:
http://www.adp-gmbh.ch/ora/sqlplus/
http://docs.oracle.com/cd/B19306_01/server.102/b14357/toc.htm

Sqlplus para dummies II (sesiones en la BBDD)

Encontrar quien hay en la base de datos y que está haciendo cada uno es uno de los primeros pasos a la hora de determinar un problema en la base de datos, las consultas básicas para encontrar el quien es quien son:

 

Numero de sesiones de usuario por maquina
select machine,count(*) numero from
v$session where
type != ‘BACKGROUND’
group by machine
order by numero desc;

Numero de sesiones de usuario Activas por maquina
select machine,count(*) numero
from v$session where type != ‘BACKGROUND’
and status=’ACTIVE’
group by machine order by numero desc;

Numero de sesiones por maquina
select machine,count(*) numero from
v$session group by machine
order by numero desc;

Numero de sesiones Activas por maquina
select machine,count(*) numero from v$session
where status=’ACTIVE’ group by machine order by numero desc;

Texto sql de las v$session
select s.sid,s.serial#,s.username,s.machine,s.program,s.osuser,s.status,x.sql_fulltext
from v$session s ,v$sqlarea x
where s.sql_address=x.address;

 Consulta para enlazar un proceso del sistema con una sesión
select s.sid, s.serial# , q.sql_text, s.username, s.machine, s.logon_time, s.program, s.status
from v$session s, v$process p, v$sql q
where p.spid=4038 and p.addr=s.paddr
and q.address=s.sql_address
and s.sql_hash_value=q.hash_value;