martes, 25 de junio de 2013

How to find corrupted blocks when using rman with catalog

How to find corrupted blocks when using rman with catalog

This view lists corrupt block ranges in datafile backups, which may be detected when BACKUP VALIDATE is used or theMAXCORRUPT parameter is greater than 0. It corresponds to the V$BACKUP_CORRUPTION view in the control file. Note that corruptions are not tolerated in control file and archived redo log backups.


RC_BACKUP_CORRUPTION

Column
Datatype
Description
DB_KEY
NUMBER
The primary key for this database in the recovery catalog. Use this column to join with almost any other catalog view.
DBINC_KEY
NUMBER
The primary key for the incarnation of the target database. Use this column to join with RC_DATABASE_INCARNATION.
DB_NAME
VARCHAR2(8)
The DB_NAME of the database incarnation to which this record belongs.
RECID
NUMBER
The record identifier from V$BACKUP_CORRUPTION. RECID and STAMP form a concatenated primary key that uniquely identifies this record in the target database control file.
STAMP
NUMBER
The stamp propagated from V$BACKUP_CORRUPTION. RECID and STAMP form a concatenated primary key that uniquely identifies this record in the target database control file.
BS_KEY
NUMBER
The primary key of the backup set to which this record belongs in the recovery catalog. Use this column to join with RC_BACKUP_SET orRC_BACKUP_PIECE.
SET_STAMP
NUMBER
The SET_STAMP value from V$BACKUP_SET. SET_STAMP and SET_COUNT form a concatenated key that uniquely identifies the backup set to which this record belongs in the target database control file.
SET_COUNT
NUMBER
The SET_COUNT value from V$BACKUP_SET. SET_STAMP and SET_COUNT form a concatenated key that uniquely identifies the backup set to which this record belongs in the target database control file.
PIECE#
NUMBER
The backup piece that contains this corrupt block.
BDF_KEY
NUMBER
The primary key for the datafile backup or copy in the recovery catalog. Use this key to join with RC_BACKUP_DATAFILE. If you issue the LIST command while RMAN is connected to the recovery catalog, then this value appears in the KEY column of the output.
BDF_RECID
NUMBER
The RECID value from V$BACKUP_DATAFILE.
BDF_STAMP
NUMBER
The STAMP value from V$BACKUP_DATAFILE.
FILE#
NUMBER
The absolute file number for the datafile that contains the corrupt blocks.
CREATION_CHANGE#
NUMBER
The creation SCN of the datafile containing the corrupt blocks.
BLOCK#
NUMBER
The block number of the first corrupted block in this range of corrupted blocks.
BLOCKS
NUMBER
The number of corrupted blocks found beginning with BLOCK#.
CORRUPTION_CHANGE#
NUMBER
For media corrupt blocks, this value is zero. For logically corrupt blocks, this value is the lowest SCN in the blocks in this corrupt range.
MARKED_CORRUPT
VARCHAR2(3)
YES if this corruption was not previously detected by Oracle, or NO if Oracle had already discovered this corrupt block and marked it as corrupt in the database. Note that when a corrupt block is encountered in a backup, and was not already marked corrupt by Oracle, then the backup process does not mark the block as corrupt in the production datafile. Thus, this field may be YES for the same block in more than one backup set.
CORRUPTION_TYPE
VARCHAR2(9)
Same as RC_DATABASE_BLOCK_CORRUPTION.CORRUPTION_TYPE.


Vistas de catálogo de RMAN

RMAN Catalog Views
Vistas de catálogo de RMAN

RMAN Catalog Views

Recovery Catalog View Corresponding V$ View Catalog View Describes
Vistas de catálogo de RMAN

Recuperación Catálogo vista correspondiente V $ View
catálogo que Describe las Vistas.


Archived and unarchived redo logs

RC_ARCHIVED_LOG
V$ARCHIVED_LOG



Registros de rehacer archivados y sin archivar

RC_ARCHIVED_LOG
V $ archived_log


Control files in backup sets

RC_BACKUP_CONTROLFILE
V$BACKUP_DATAFILE

Archivos de control de copia de seguridad

RC_BACKUP_CONTROLFILE
V $ BACKUP_DATAFILE


Corrupt block ranges in datafile backups

RC_BACKUP_CORRUPTION
V$BACKUP_CORRUPTION


Rangos bloque dañado en copias de seguridad de ficheros de datos 

RC_BACKUP_CORRUPTION
V $ BACKUP_CORRUPTION


Datafiles in backup sets

RC_BACKUP_DATAFILE
V$BACKUP_DATAFILE


Archivos de datos de copia de seguridad

RC_BACKUP_DATAFILE
V $ BACKUP_DATAFILE


RMAN backups and copies in the repository.

RC_BACKUP_FILES
V$BACKUP_FILES





Copias de seguridad de RMAN y copia en el repositorio. 

RC_BACKUP_FILES
V $ backup_files



Backup pieces

 RC_BACKUP_PIECE
V$BACKUP_PIECE


Piezas Backup 

 RC_BACKUP_PIECE
V $ BACKUP_PIECE


Archived logs in backups

RC_BACKUP_REDOLOG
V$BACKUP_REDOLOG


Archivado registros de las copias de seguridad 

RC_BACKUP_REDOLOG
V $ BACKUP_REDOLOG


Backup sets

RC_BACKUP_SET
V$BACKUP_SET


Backup

RC_BACKUP_SET
V $ BACKUP_SET


Server parameter files in backup sets

RC_BACKUP_SPFILE
V$BACKUP_SPFILE


Archivos de parámetros del servidor de copia de seguridad

RC_BACKUP_SPFILE
V $ BACKUP_SPFILE


Control file copies on disk

RC_CONTROLFILE_COPY
V$DATAFILE_COPY


Copias de archivos en el disco de control 

RC_CONTROLFILE_COPY
V $ DATAFILE_COPY


Control file copies on disk

RC_COPY_CORRUPTION
V$COPY_CORRUPTION


Copias de archivos en el disco de control 

RC_COPY_CORRUPTION
V $ COPY_CORRUPTION


Databases registered in the recovery catalog (RC_DATABASE) or information about the currently

RC_DATABASE
V$DATABASE


Bases de datos registrados en el catálogo de recuperación (RC_DATABASE) o información acerca de las  actualmente 

RC_DATABASE
V $ database


Database blocks marked as corrupt in the most recent RMAN backup or copy

mounted database (V$DATABASE)
RC_DATABASE_BLOCK_CORRUPTION
V$DATABASE_BLOCK_CORRUPTION


Bloques de base de datos señalados como corruptos en la copia de seguridad de RMAN más reciente o copia 

montada la base de datos (V $ database)
RC_DATABASE_BLOCK_CORRUPTION
V $ DATABASE_BLOCK_CORRUPTION



All database incarnations registered in the catalog

RC_DATABASE_INCARNATION
V$DATABASE_INCARNATION


Todas las encarnaciones de bases de datos registradas en el catálogo 

RC_DATABASE_INCARNATION
V $ DATABASE_INCARNATION



All datafiles registered in the recovery
catalog

RC_DATAFILE
V$DATAFILE

Todos los archivos de datos registrados en el catálogo de recuperación 

RC_DATAFILE
V $ DATAFILE


Datafile image copies

RC_DATAFILE_COPY
V$DATAFILE_COPY


Imagen de archivo de datos copia 

RC_DATAFILE_COPY
V $ DATAFILE_COPY


Historical information about online redo logs

RC_LOG_HISTORY
V$LOG_HISTORY


Información histórica a cerca de rehacer en línea los registros 

RC_LOG_HISTORY
V $ log_history


Offline ranges for datafiles

RC_OFFLINE_RANGE
V$OFFLINE_RANGE


Desconectado rangos de archivos de datos 

RC_OFFLINE_RANGE
V $ OFFLINE_RANGE


Archived log backups created by proxy copy

RC_PROXY_ARCHIVEDLOG
V$PROXY_ARCHIVEDLOG


Seguridad de registros archivados creados por copia proxy de 

RC_PROXY_ARCHIVEDLOG
V $ PROXY_ARCHIVEDLOG


Control file backups created by proxy copy

RC_PROXY_CONTROLFILE
V$PROXY_DATAFILE


Archivo de control copias de seguridad creadas por proxy copia 

RC_PROXY_CONTROLFILE
V $ PROXY_DATAFILE



Datafile backups created by proxy copy

RC_PROXY_DATAFILE
V$PROXY_DATAFILE


Copias de seguridad de ficheros de datos creados por proxy copia 

RC_PROXY_DATAFILE
V $ PROXY_DATAFILE


Online redo logs for all incarnations of the database since the last catalog resynchronization

RC_REDO_LOG
V$LOG and V$LOGFILE


Registros de rehacer en línea para todas las encarnaciones de la base de datos  hasta el último catalogo resincronizado.

RC_REDO_LOG
V $ LOG y V $ LOGFILE


All redo threads for all incarnations of the database since the last catalog resynchronization

RC_RESYNC
RC_REDO_THREAD
V$THREAD
n/a


Todas los redo threads para todas las encarnaciones de la base de datos desde el último catálogo de resincronización

RC_RESYNC 
RC_REDO_THREAD
V $ ROSCA
n / a


Recovery catalog resynchronizations

RC_RMAN_CONFIGURATION
V$RMAN_CONFIGURATION


Recuperación catálogo resincronizaciones

RC_RMAN_CONFIGURATION
V $ RMAN_CONFIGURATION


RMAN persistent configuration settings

RC_TABLESPACE
V$TABLESPACE


RMAN persistentes ajustes de configuración

RC_TABLESPACE
V $ TABLESPACE



domingo, 16 de junio de 2013

V $ FILESTAT

V  $ FILESTAT

Esta vista contiene información sobre el archivo de lectura / escritura estadísticas.
ColumnaTipo de datosDescripción
El archivo #NÚMERONúmero de archivo
PHYRDSNÚMERONúmero de lecturas físicas hace
PHYWRTSNÚMEROSe requiere el número de veces DBWR para escribir
PHYBLKRDNÚMERONúmero de bloques físicos leído
PHYBLKWRTNÚMERONúmero de bloques escritos en el disco, que puede ser el mismo que PHYWRTS si todas las escrituras son un solo bloque
SINGLEBLKRDSNÚMERONúmero de un solo bloque lee
READTIMNÚMEROTiempo (en centésimas de segundo) pasamos haciendo lee si el TIMED_STATISTICS parámetro es verdadero , 0 si es falsa
WRITETIMNÚMEROTiempo (en centésimas de segundo) dedicado a realizar escribe si el TIMED_STATISTICS parámetro es verdadero , 0 si es falsa
SINGLEBLKRDTIMNÚMEROTiempo acumulado de lectura de bloque único (en centésimas de segundo)
AVGIOTIMNÚMEROTiempo medio (en centésimas de segundo) destinado a I / O, si el TIMED_STATISTICS parámetro es verdadero , 0 si es falsa
LSTIOTIMNÚMEROTiempo (en centésimas de segundo) pasó haciendo el último I / O, si el TIMED_STATISTICS parámetro es verdadero , 0 si es falsa
MINIOTIMNÚMEROEl tiempo mínimo (en centésimas de segundo) gastado en una sola I / O, si el TIMED_STATISTICS parámetro es verdadero ; 0 si es falsa
MAXIORTMNÚMEROTiempo máximo (en centésimas de segundo) pasó haciendo una sola lectura, si el TIMED_STATISTICS parámetro es verdadero ; 0 si es falsa
MAXIOWTMNÚMEROTiempo máximo (en centésimas de segundo) pasó haciendo una sola escritura, si el TIMED_STATISTICS parámetro es verdadero ; 0 si es falsa
http://www.oracle-base.com/dba/script.php?category=monitoring&file=tuning.sql

http://www.csee.umbc.edu/portal/help/oracle8/server.815/a67790/ch1.htm

http://www.stanford.edu/dept/itss/docs/oracle/10gR2/server.102/b14237/initparams001.htm

http://www.ipass.net/davesisk/checktuning.sql

http://www.hoopoes.com/cs/oracle_tune.shtml

http://www.morganslibrary.org/reference/startup_parms.html

http://oreilly.com/catalog/oracle2/chapter/ch10.html






Sysaux Oracle

http://jhdba.wordpress.com/2009/05/19/purging-statistics-from-the-sysaux-tablespace/

http://mrothouse.wordpress.com/2011/12/03/sysaux-tablespace-growing-rapidly/

http://oracledba-sharinganexperience.blogspot.mx/2012/12/sysaux-tablespace-growing-rapidly.html

http://www.dbforums.com/oracle/1653813-resizing-sysaux-tablespace.html




Para aumentar el tamaño del tablespace SYSAUX, deberias tener en mente los siguientes aspectos;

*   Sus principales ocupantes son : El repositorio del EM y el AWR,   si este tablespace esta creciendo mucho y desmesuradamente
     deberias vigilar estos componentes y los periodos de retencion del AWR.

*   Debes usar la misma sintaxis para hacer crecer el datafile del SYSAUX o agregar un nuevo datafile;

*  No es usual que este tablespace sea mayor a 20 gb;

*  No se deberia cambiar el next extent para los datafiles;

ALTER DATABASE DATAFILE  'xxx/xxxx/xxxx.dbf' RESIZE 1G;




1- ¿Para qué sirve este tablespace?
Es un tablespace que nace en 9i para dar soporte a los diferentes features de Oracle que necesitan crear segmentos dentro de la base de datos, por ejemplo AWR en 10g.


2- ¿Es recomendable ponerlo en AutoExtend?
Es una cuestion de opiniones, yo en general nunca pongo los datafiles en autoextend, pero eso lo decides en cada caso.

3- ¿Se puede liberar espacio de este tablespace?.
Por lo general no hay desperdicio en este tablespace, de todos modos te recomiendo leer esta notahttp://download.oracle.com/docs/cd/B...htm#sthref1257


Optimizer, Estadísticas Oracle

show parameters optimizer ;

NAME                                 TYPE                             VALUE
------------------------------------ -------------------------------- ------------------------------
optimizer_capture_sql_plan_baselines boolean                          FALSE
optimizer_dynamic_sampling           integer                          2
optimizer_features_enable            string                           11.2.0.3
optimizer_index_caching              integer                          0
optimizer_index_cost_adj             integer                          100
optimizer_mode                       string                           ALL_ROWS
optimizer_secure_view_merging        boolean                          TRUE
optimizer_use_invisible_indexes      boolean                          FALSE
optimizer_use_pending_statistics     boolean                          FALSE
optimizer_use_sql_plan_baselines     boolean                          TRUE

¿Se pueden saber las consultas SQL que se ejecutan en Oracle y ordernarlas por consumo de CPU? me gustaría ver las consultas SQL que ejecutan las aplicaciones de Facturación, Contabilidad, Recursos Humanos, etc. y saber cuáles son las que más CPU usan, así analizaré si las estadísticas están siendo efectivas.


Prueba con esta consulta SQL: 

Código:

select elapsed_time/1000000, executions, cpu_time, sql_text 
from v$sql 
where elapsed_time > 0 
order by cpu_time desc 


¿Cómo puedo mostrar los trabajos programados (scheduler jobs) en Oracle? lo necesito para saber a qué hora se ejecutan las estadísticas de mi base de datos Oracle.


Puedes usar esta consulta SQL Oracle: 

Código:

SELECT owner Propietario, job_name Nombre_Tarea, 
    enabled Activo, j.FAILURE_COUNT Intentos_Fallidos, 
    to_char(j.NEXT_RUN_DATE) Proxima_Ejecucion 
FROM dba_scheduler_jobs j 


¿Cómo fuerzo un análisis de estadísticas de un usuario Oracle?


Puedes usar este procedimiento almacenado, ejecutando la siguiente orden desde SQL Plus de Oracle: 

Código:

exec dbms_stats.gather_schema_stats (ownname =>'NOMBRE_USUARIO', estimate_percent => NULL, cascade => true); 


¿Cómo puedo eliminar las estadísticas de un usuario de Oracle 10g?


Puedes ejecutar el siguiente procedimiento almacenado desde SQL Plus: 

Código:

exec dbms_utility.analyze_schema ('NOMBRE_USUARIO', 'DELETE'); 


¿Cómo puedo cambiar el optimizer_mode de CHOOSE que es como lo tengo a RULE que es como me han recomendado los desarrolladores del software de facturación y contabilidad que uso?


Desde SQL Plus, una vez conectado, ejecuta este comando: 

Código:

alter system set optimizer_mode = 'RULE' scope = memory; 


Con "scope = memory" realizarás el cambio en tiempo real y en caliente, sin necesidad de detener la base de datos. Pero con este comando, cuando reinicies la base de datos, no se te quedará guardado. Para guardarlo definitivamente ejecuta este otro: 

Código:

alter system set optimizer_mode = 'RULE' scope = spfile; 



Y si quieres que quede activo el cambio en el mismo momento y que, además, quede guardado, ejecuta este otro comando: 

Código:

alter system set optimizer_mode = 'RULE' scope = both; 


La diferencia entre estos últimos parámetros: 

* scope = memory aplica el cambio en tiempo real, sin detener la base de datos, siempre que el parámetro lo permita. El cambio no quedará guardado en el fichero de configuración de Oracle, por lo que en el próximo reinicio no se aplicará. 

* scope = spfile no aplica el cambio en tiempo real, hasta que no se reinicie la base de datos. El cambio del valor del parámetro queda guardado en el fichero de configuración de Oracle y se aplicará cuando se reinicie la base de datos. 

* scope = both aplica el cambio en tiempo real, sin necesidad de reiniciar la base de datos. El cambio del valor del parámetro queda guardado en el fichero de configuración de Oracle para posteriores reinicios de la base de datos.


puedes usar la siguiente consulta SQL de Oracle, que te mostrará la fecha y hora del último análisis realizado por Oracle sobre las estadísticas de todas las tablas de un usuario: 

Código:

select table_name, to_char (last_analyzed, 'dd-mm-yyyy hh:mi') 
from dba_tables 
where owner='NOMBRE_USUARIO' 
order by last_analyzed desc 

USUARIO ORACLE

SQL> alter user USUARIO identified by nuevacontrasenya;

User altered.
select username, password from dba_users where username='USUARIO';