Error 1033 received logging on to the standby

Estuvimos armado una STANDBY en el dia de ayer, como un segundo sitio de contingencia, por que tenemos programado realizar una migracion a 12c.

Como nuestro cliente no tiene licencias de Oracle Golden Gate, la estrategia de llevar la data al nuevo servidor, fue la opcion de Oracle Dataguard.

Para ello:

Nuestro Plan fue llevar desde el PRIMARY SITE a una segunda STBY SITE por medio de la configuracion de Dataguard Broker.

Problema

En este caso y como parte de las tareas planificadas se decidio que el equipo local lleve a cabo las tareas de configuracion.

Al ejecutar el siguiente comando para habilitar la configuracion el DG_BROKER en el STBY SITE:

ALTER SYSTEM SET DG_BROKER_START = TRUE;

Notamos que habilitaron el envio de los redo, a pesar no haber terminado la configuracion del borker.

En el PRIMARY SITE , al ver que estaba habilitado el envio de los redo, se intento agregar la instancia al broker:

DGMGRL>
add database "PRODAR" as connect identifier is "PRODAR" maintained as physical;
Error: ORA-01033: ORACLE initialization or shutdown in progress

Failed.

Esto dio la orden en el sitio primario que comience con el envio de redo, pero notaron que no los enviaba y que el alert log comenzo a mostrar el error: Error 1033 received logging on to the standby

How to DROP DATABASE

Despues de haber tenido el correspondiente feedback del customer, y de luego de un periodo prudencial dentro de la planificacion,  el cliente decidio que ya no habia vuelta atras, y comenzamos con las tareas finales de liberar el ambiente viejo.

Finalizada la etapa de  migracion de 11.2.0.4 a 12.1.0.4 y del GO Live utilizando el producto Oracle Golden Gate, decidimos ejecutar uno de los comandos mas bellos y que es ocupado en pocas ocaciones, DROP DATABASE.

Procedimiento

Al usar el comando DROP DATABASE debemos tener en cuenta que el mismo realizara un delete de la base de datos.

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.

1 comment on “Oracle Redirected Restore File Name Variables”

Oracle Redirected Restore File Name Variables

En la siguiente tabla podemos encontrar el listado de las variables que podemos especificar al momento de redireccionar nuestras piezas (Pieces from a backupset pieces on restore.)

Estas nos ayudaran a trabajar en el redireccionamiento de almacenamiento en nuestros nuevos TARGETS:

Variable Description
%U Note: This variable covers most cases.This variable specifies a system-generated unique file name with the following format:

data-D-%d_id-%I_TS-%N_FNO-%f.

The %d variable specifies the database name. For example, data-D-prod_id-22398754_TS-users_FNO-7.

%b This variable specifies the file name without the fully qualified directory path. For example, the data file name /oradata/prod/financial.dbf becomes financial.dbf.This variable preserves the names of the data files while you move them to different directory. You can use this variable when you create an image copies. The variable cannot be used for OMF data files or backup sets.
%f Specifies the absolute file number of the data file for which the new name is generated. For example, if data file 2 is duplicated, then %f generates the value 2.
%I This variable is optional and specifies the database ID (DBID).
%N This variable is optional and specifies the tablespace name.

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-38171: Insufficient privileges for SQL management object operation

Cuando trabajamos en tareas de performance, es util poder ejecutar desde la linea de comandos (Con analisis previo) las recomendaciones propuestas por:

  • SQLPrt (linea de comandos, recomendaciones propuestas.)
  • SQL TUNNING SET.

Dichas recomendaciones pueden mostrarnos:

  • Cambio de Plan de Ejeuccion.
  • Reescritura de querys.
  • Creacion de Indices.
  • Creacion de Profiles.

Descripcion del problema

Con respecto a la creacion de PROFILES, el siguiente error aparecera  si no contamos con los privilegios necesarios para aplicar las recomendaciones obtenidas.

Ante el intento de setear un profile por comandos

El resultado que nos aparece es el siguiente:

SQL> execute sys.dbms_sqltune.accept_sql_profile(task_name => 'HEAVYQUERY',replace => TRUE);
BEGIN sys.dbms_sqltune.accept_sql_profile(task_name => 'HEAVYQUERY',replace => TRUE); 
*
ERROR at line 1:
ORA-24265: Insufficient privileges for SQL profile operation
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 79
ORA-06512: at "SYS.DBMS_SQLTUNE", line 5659
ORA-06512: at "SYS.DBMS_SQLTUNE", line 5535
ORA-06512: at "SYS.DBMS_SQLTUNE", line 5564
ORA-06512: at line 1

ORA-24265: Insufficient privileges for SQL profile operatio

Ante el intento de aplicar el PROFILE desde Cloud Control.

How to create the recovery catalog on Oracle 12c Multitenant

En el Customer donde me encuentro trabajando, es necesario desarrollar una políticas de backups centralizada.

Con ello es necesario como primeros pasos:

  1. Entender las necesidades de backup y diagnosticar las mejores políticas.
  2. Definir políticas acordes a cada base de datos.
  3. Definir repositorios centralizados.
  4. Crear catalog de rman , con su contingencia.
  5. Crear SCRIPTS de rman, según tipo de política de backup.
  6. Crear JOBS de rman, según tipo de política de ejecución de backup.
  7. Utilizar y configurar algun scheduler centralizado para disparar los backups.

Hoy estaremos trabajando en el punto 4, que nos s indica como crear un CATALOG en una base de datos 12c Multitenant.

Tip : Mientras utilicemos la base de RMAN en una base por separado, y únicamente con esa finalidad, no tiene costo de de licenciamiento.

Creating recovery catalog on 12c.

Nuestro container database : CDBCAT
Nuestro PDB: BKPCAT