Redirecting an Oracle Restore Using SET NEWNAME

Estamos en proceso de migracion de bases de datos a nuevas versiones, y como parte del proceso, en los clientes donde no tienen licencia para OGG, procedemos con la opcion de generar un Dataguars y luego realizar el UPGRADE.

Como las versiones de las cuales migramos hacia 12.2 son 11gR2, o 12c1, de bases que no estaban bajo la tecnologia de ASM, y si en filesystem procedemos a utilizar las opciones en el restore el set de comandos:

  • SET NEWNAME FOR DATABASE
  • SET NEWNAME FOR TABLESPACE

Con estos comandos es importante espcificar las varibles de paths de discos, para evitar problemas y que las piezas se restoreen donde es indicado:

Problema

En este caso en particular, el inconveniente que nos encontramos fue:

El TABLESPACE SYSTEM, contenia datafiles con el mismo nombre en el path /data01/datafiles y el path /data02/datafiles , provenientes del SOURCE y no teniendo habilitada la caracteristica OMF:

channel ORA_DISK_16: restoring datafile 00073 to +DATA_EXA2A/undotbs1.002.dbf
channel ORA_DISK_16: restoring datafile 00086 to +DATA_EXA2A/a_txn_data23.dbf
channel ORA_DISK_16: reading from backup piece /backup/EBSPROD/full_backup_diario_dbf_PROD_20180118_t965701613_p1_s92352.bkp
channel ORA_DISK_12: ORA-19870: error while restoring backup piece /backup/EBSPROD/full_backup_diario_dbf_PROD_20180118_t965698895_p1_s92347.bkp
ORA-19504: failed to create file "+DATA_EXA2A/system12.dbf"
ORA-17502: ksfdcre:4 Failed to create file +DATA_EXA2A/system12.dbf
ORA-15005: name "system12.dbf" is already used by an existing alias

Procedimiento

Para evitar colicionamiento de nombres, hay que especificas al menos una de las varibles, donde sustituiremos el nombre de los datafiles repetidos provenientes de diferentes filesystems.

ORA-15124: ASM file name contains an invalid alias name

El error aparece en el momento de realizar cualesquieras de las siguientes tareas:

  • startup mount
  • startup nomount

En nuestro caso en particular ocurre en el momento de montaje luego de realizar el restore del controlfile.

RMAN> sql 'alter database mount standby database';
ORA-15124: ASM file name '+DATA_EXA2A/ebsprod/controlfile/current.695.965565833' contains an invalid alias name

La solucion ofrecida:

  • Cambiar los db_file_name_conver de forma prolija
  • Verificar que tenga commilas simple y que esten debidamente separadas.
SQL> alter system set log_file_name_convert='/data1/oracle/PROD/db/apps_st/data','+DATA_EXA2A','/data2/oracle/PROD/db/apps_st/data','+DATA_EXA2A','/data1/oracle/PROD/db/apps_st/archives','+RECO_EXA2A' scope=spfile sid='*';

Entendiendo las diferencias:

Antes
-----
'/data1/oracle/PROD/db/apps_st/data,+DATA_EXA2A','/data2/oracle/PROD/db/apps_st/data,+DATA_EXA2A','/data1/oracle/PROD/db/apps_st/archives,+RECO_EXA2A'

Despues
-------
'/data1/oracle/PROD/db/apps_st/data','+DATA_EXA2A','/data2/oracle/PROD/db/apps_st/data','+DATA_EXA2A','/data1/oracle/PROD/db/apps_st/archives','+RECO_EXA2A'

 

ORA-32773: operation not supported for smallfile tablespace

NDatafiles Sizeos encontramos ante el evento de tener que redimensionar un Tablespace por un problema de crecimiento de  Datafiles no planificado de la Base,  por medio de la ejecucion de un proceso batch que inserta cambios en difrentes tablas, una insercion masiva.

Veamos que ocurre.

El DBA ejecuta la sentencia para expandir el Tablespace:

SQL> ALTER TABLESPACE TST_DATA RESIZE 10240 M;
ALTER TABLESPACE TST_DATA RESIZE 10240 M
*
ERROR at line 1:
ORA-32773: operation not supported for smallfile tablespace TST_DATA

Ante que nos encontramos ?

Operation not supported for smallfile tablespace string

Esto quiere decir que no estamos intentado ejecutar un cambio soportado solamente para BIGFILEs TABLESPACEs , como es en nuestro caso, redimensionar un tablespace.

La solucion que propongo es realizar el cambio que aplica a los dos siguientes casos:

2 comments on “Oracle 11g | Fatal NI connect error 12537, connecting to”

Oracle 11g | Fatal NI connect error 12537, connecting to

TCP state diagram
TCP state diagram (Photo credit: Wikipedia)

Hoy vamos a resolver un problema que le ocurrió a un colega del viejo mundo.

Fatal NI connect error 12537, connecting to

Este error aparecía en el alert log cuando finalizaba el Switchover.

Cabe aclarar que no es un problema de Dataguard Broker, y asumiendo que así es debemos modificar o agregar parámetros en nuestras configuraciones de listener y sqlnet.

Veamos las configuraciones como se encontraban:

Oracle RAC | PRKP-1024 : The service ha_gsqs is still running when removing a service

Español: estructura de base de datos de Oracle

PRKP-1024 : The service ha_gsqs is still running when removing a service

En un escenario donde tenemos bases de datos 10gR2 , 11gR1 y 11gR2 me toco hacer revisiones de alta disponibilidad.

Luego de ello se tomo la determinación que algunas bases serian removidas y transportadas a otros servidores.

Los servidores antiguos de bases de datos serian reutilizados para soportar aplicaciones BI.

Al momento de quitar la primera base clusterizada (10.2.0.4) y sus servicios nos encontramos con el siguiente error:

PRKP-1024 : The service OSSER02 is still running.

Veamos que ocurrió paso a paso…

1 comment on “ORA-19802: cannot use DB_RECOVERY_FILE_DEST without DB_RECOVERY_FILE_DEST_SIZE”

ORA-19802: cannot use DB_RECOVERY_FILE_DEST without DB_RECOVERY_FILE_DEST_SIZE

English: The transformation of SQL statements.
English: The transformation of SQL statements. (Photo credit: Wikipedia)

Hoy estaremos viendo el error de oracle ORA-19802:

Este error ocurre cuando no podemos utilizar (setear) el parametro DB_RECOVERY_FILE_DEST sin el parametro DB_RECOVERY_FILE_DEST_SIZE.

Veamos nuestro ejemplo:

SQL> set line 150
SQL> sho parameter recover

NAME TYPE VALUE
------------------------------------ -------------------------------- ------------------------------
db_recovery_file_dest                                         string
db_recovery_file_dest_size big integer                             0
db_unrecoverable_scn_tracking boolean                           TRUE
recovery_parallelism integer                                       0

SQL> alter system set db_recovery_file_dest='+DATA' scope=both sid='*';
alter system set db_recovery_file_dest='+DATA' scope=both sid='*'
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-19802: cannot use DB_RECOVERY_FILE_DEST without DB_RECOVERY_FILE_DEST_SIZE

Las dos principales premisas por las que puede aparacer son:

La primer causa ocurre por que el parametro DB_RECOVERY_FILE_DEST estaba en uso cuando el parametro DB_RECOVERY_FILE_DEST_SIZE no estaba seteado en los parametros de inicio.

2 comments on “kcrr.c Error 1031 received logging on to the standby | Oracle standby”

kcrr.c Error 1031 received logging on to the standby | Oracle standby

PING[ARC1] heartbeat failed to connect to standby . error is 1031

Water supply in Buenos Aires was provided by a...
Water supply in Buenos Aires was provided by a private company from 1993 to 2006. (Photo credit: Wikipedia)

En la semana anduve Auditando un Dataguard en una Empresa de Servicios en Buenos Aires y el motivo de mi visita era ayudar al DBA local con un problema que habia surgido a partir de la reinstalacion de su SECONDARY SITE.

El error se basaba en que el proceso ARCHIVER de la base primaria estaba fallando .

Revisando el alert de la base me econtre con el siguiente error:

Errors in file /u01/app/oracle/admin/ORCL/bdump/orcl1_arc1_8881.trc:
ORA-01031: insufficient privileges
PING[ARC1]: Heartbeat failed to connect to standby 'ORCLDG'. Error is 1031.

Como tenia seguridad de que estaba ocurriendo, me diriji al trace que despliega el proceso ARC  y lo edite para mostrar al DBA que ocurria:

*** 2012-05-16 13:27:50.745 60680 kcrr.c
Error 1031 received logging on to the standby
Error 1031 connecting to destination LOG_ARCHIVE_DEST_2 standby host 'ORCLDG'
Error 1031 attaching to destination LOG_ARCHIVE_DEST_2 standby host 'ORCLDG'
ORA-01031: insufficient privileges
*** 2012-05-16 13:27:50.748 60680 kcrr.c
LGWR: Error 1031 creating archivelog file 'ORCLDG'
*** 2012-05-16 13:27:50.749 58942 kcrr.c
kcrrfail: dest:2 err:1031 force:0 blast:1
*** 2012-05-16 13:27:51.696 70891 kcrr.c
Sending online log thread 1 seq 143 [logfile 1] to standby
Opening logfile [logno 1]
LGWR: Archivelog for thread 1 sequence 143 will NOT be compressed
*** 2012-05-16 13:27:51.940 71016 kcrr.c
Shutting down [due to no more ASYNC destination]
LNS1: Doing a channel reset for next time around...

El problema se encontraba aqui: ORA-01031: insufficient privileges.