Con la versión 12 de Oracle Database se introdujo Oracle Cluster Health Advisor (CHA). Esta herramienta para ambientes de alta disponibilidad, monitorea continuamente los nodos de un clúster y las bases de datos de un RAC para detectar problemas insipientes relacionados a performance y disponibilidad, y de esta manera proporcionar advertencias tempranas sobre determinados problemas antes que estos se vuelvan críticos.
Oracle Cluster Health Advisor está integrado con el Insident Manager de Oracle Enterprise Manager Cloud Control (EMCC) y puede llevar adelante las siguientes acciones:
• Detectar problemas de rendimiento a nivel de nodo y base de datos
• Proporcionar alertas tempranas y sugerir acciones correctivas
• Soportar la calibración “on-site” para mejorar la sensibilidad del análisis
En Oracle Database 12c versión 2, Oracle Cluster Health Advisor soporta el monitoreo de los dos subsistemas más críticos e importantes de Oracle Real Application Clusters (Oracle RAC):
• La instancia de la base de datos
• El sistema host
Oracle Cluster Health Advisor verifica y hace un seguimiento del “estado de salud” del sistema monitoreado, para esto muestra periódicamente una amplia variedad de mediciones clave del mismo.
Ejecuta varias veces por minuto un análisis y estima un valor adecuado para una entrada observada, basándose en el modelo predeterminado. Luego realiza detección de anomalías para cada entrada, en función de la diferencia entre los valores observados y los esperados. Si detecta suficientes entradas “anormales” asociadas con un problema específico, emite una advertencia (“warning”) y genera inmediatamente un diagnóstico del “target” junto con las acciones correctivas correspondientes.
Mostrando entradas con la etiqueta RAC. Mostrar todas las entradas
Mostrando entradas con la etiqueta RAC. Mostrar todas las entradas
[ 2017-12-18 ]
[ 2017-05-23 ]
Utilitario "raccli" de linea de comando para depliegues de ODCS con RAC
La utilidad "raccli" es proporcionada en despliegues de Oracle Database Cloud Service con Oracle Real Application Clusters (RAC), para realizar una variedad de operaciones de tanto de gestión de ciclo de vida como administración de base de datos.
Utilizando la utilidad raccli, se pueden realizar operaciones como:
Utilizando la utilidad raccli, se pueden realizar operaciones como:
- Copia de seguridad de la base de datos.
- Recuperación de la base de datos desde una copia de seguridad.
- Cambio de la configuración de backups automáticos.
- Aplicación de parche de la base de datos Oracle, la infraestructura de la red y el software de "Cloud Tooling".
- Cambiar la configuración de las funciones de seguridad.
- Seguimiento del progreso y finalización de las operaciones de larga duración realizadas como trabajos asincrónicos.
[ 2014-06-18 ]
Copia de templates "dbca" entre nodos de RAC
Este
procedimiento es valido para cuando creamos un template en un sólo nodo de RAC
y queremos tenerlo disponible en los otros o para distribuir el tamplate entre diferentes
instalaciones y servidores.
En
este ejemplo tenemos dos servidores que forman parte de un mismo RAC:
server01
y server02
Y un template llamado "MyTEMPLATE"
Y un template llamado "MyTEMPLATE"
Si
creamos nuestro template en uno de los nodo del RAC (server01) y luego ejecutamos dbca en otro nodo (server02), podemos ver que no lo tenemos disponible:
[ 2014-04-20 ]
Oracle Goldengate With Oracle Real Application Clusters Configuration
Oracle White Paper
Oracle Goldengate With Oracle Real Application Clusters Configuration
Executive Overview
Oracle Real Application Clusters (Oracle RAC) and Oracle Clusterware allow Oracle Database to run any packaged or custom application across a set of clustered servers. This capability provides the best availability for node and instance failures and most planned maintenance activities, and the most flexible scalability. If a clustered node fails, the Oracle database continues running on the surviving nodes. When more processing power is needed, another node can be added without interrupting user access to data.
Oracle Clusterware is a cluster manager that is designed specifically for the Oracle database. In an Oracle RAC environment, Oracle Clusterware monitors all Oracle resources (such as database instances and listeners). If a failure occurs, then Oracle Clusterware automatically attempts to restart the failed resource. During outages, Oracle Clusterware relocates the processing performed by the inoperative resource to a backup resource. For example, if a node fails, then Oracle Clusterware relocates the database services being used by the application to a surviving node in the cluster.
This white paper describes best practices for configuring Oracle GoldenGate to work with Oracle RAC, Oracle Clusterware and Oracle Database File System (DBFS). Oracle GoldenGate is instrumental for many reasons, including the following:
This paper focuses on configuring Oracle GoldenGate to run on Oracle RAC, which can act asthe source database, as the target database, or in some cases as both source and target databases for Oracle GoldenGate processing.
http://www.oracle.com/technetwork/database/features/availability/maa-goldengate-rac-2007111.pdf
Oracle Goldengate With Oracle Real Application Clusters Configuration
Executive Overview
Oracle Real Application Clusters (Oracle RAC) and Oracle Clusterware allow Oracle Database to run any packaged or custom application across a set of clustered servers. This capability provides the best availability for node and instance failures and most planned maintenance activities, and the most flexible scalability. If a clustered node fails, the Oracle database continues running on the surviving nodes. When more processing power is needed, another node can be added without interrupting user access to data.
Oracle Clusterware is a cluster manager that is designed specifically for the Oracle database. In an Oracle RAC environment, Oracle Clusterware monitors all Oracle resources (such as database instances and listeners). If a failure occurs, then Oracle Clusterware automatically attempts to restart the failed resource. During outages, Oracle Clusterware relocates the processing performed by the inoperative resource to a backup resource. For example, if a node fails, then Oracle Clusterware relocates the database services being used by the application to a surviving node in the cluster.
This white paper describes best practices for configuring Oracle GoldenGate to work with Oracle RAC, Oracle Clusterware and Oracle Database File System (DBFS). Oracle GoldenGate is instrumental for many reasons, including the following:
- To migrate to an Oracle Database, incurring minimal downtime
- As part of an application architecture that requires Oracle RAC plus the flexible availability features provided by Oracle GoldenGate, such as active-active database for data distribution and continuous availability, and zero or minimal downtime during planned outages for system migrations, upgrades, and maintenance
- To implement a near real-time data warehouse or consolidated database on Oracle RAC, sourced from various, possibly heterogeneous source databases, populated by Oracle GoldenGate
- To capture from an OLTP application running on Oracle RAC to support further downstreamconsumption such as a SOA type integration
This paper focuses on configuring Oracle GoldenGate to run on Oracle RAC, which can act asthe source database, as the target database, or in some cases as both source and target databases for Oracle GoldenGate processing.
http://www.oracle.com/technetwork/database/features/availability/maa-goldengate-rac-2007111.pdf
[ 2014-03-14 ]
Oracle Database 12c: Real Application Testing Overview (White Paper)
Oracle White Paper
Oracle Database 12c: Real Application Testing Overview
Introduction
The Oracle database is the market-leader and the preferred database for hundreds of thousands of enterprises as well as application developers and database administrators worldwide. Over the years, enterprises have come to rely on the Oracle database to provide unparalleled performance and reliability. Oracle continues to raise the bar with Oracle Database 12c with extensive support for consolidation. Designed for data center environments that are rapidly evolving and changing to keep up with the demands of the business, Oracle Database 12c allows businesses to adopt new technologies quickly while minimizing risk.
http://www.oracle.com/technetwork/database/manageability/real-application-testing-wp-12c-1896131.pdf
Oracle Database 12c: Real Application Testing Overview
Introduction
The Oracle database is the market-leader and the preferred database for hundreds of thousands of enterprises as well as application developers and database administrators worldwide. Over the years, enterprises have come to rely on the Oracle database to provide unparalleled performance and reliability. Oracle continues to raise the bar with Oracle Database 12c with extensive support for consolidation. Designed for data center environments that are rapidly evolving and changing to keep up with the demands of the business, Oracle Database 12c allows businesses to adopt new technologies quickly while minimizing risk.
http://www.oracle.com/technetwork/database/manageability/real-application-testing-wp-12c-1896131.pdf
[ 2014-02-16 ]
Flashback de una base en RAC a un Guarantee Restore Point (GRP)
Vamos a ver un ejemplo de como crear un GRP (Guarantee Restore Point) y como realizar el flashback de una base en RAC a este restore point.
Para asegurar el exito de la operación de Flashback y GRP debemos tener en cuenta algunas configuraciones previas:
Requisitos:
- La base de datos debe estar configurada en modo archivelog (los archivelogs son usados para las operaciones de flashback database)
- Debe estar activada la FRA ya que los falshback logs solo pueden ser almacenados en la flash/fast recoevry area.
- En bases de datos en RAC (Real Application Clusters), la FRA debe estar configurada en ASM o en un cluster filesystem que pueda ser accedido por todos los nodos del RAC.
1) Chequeamos que la base este configurada en modo Archive Log:
Nos conectamos a una de las instancias con SQL*Plus y corremos el siguiente comando:
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 24
Next log sequence to archive 25
Current log sequence 25
[ 2014-02-12 ]
Activación de flashback en un RAC
Requisitos:
Antes de poder activar flashback database debemos asegurarnos dos cosas:
Para habilitar flashback debemos seguir los siguientes pasos (caso de un RAC):
1- Abrir una de las instancias del RAC en modo mount:
Desde linea de comando bajamos todas la instancias y luego montamos solo una:
[oracle@server01]$ srvctl stop database -d ORCL
[oracle@server01]$ srvctl start instance -d ORCL -i ORCL1 -o mount;
2- Configurar el parametro DB_FLASHBACK_RETENTION_TARGET (ventana de flashback requerida expresada en minutos)
Por defecto es un 1 dia (1440 minutos)
Nos conectamos a la instancia:
[oracle@server01]$ sqlplus / as sysdba
Verificamos el parametro:
SQL> show parameter db_flashback_retention_target
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_flashback_retention_target integer 1440
Lo seteamos en dos dias (2880 minutos)
SQL> alter system set db_flashback_retention_target=2880 sid='*';
System altered.
3- Habilitamos el flashback en la base de datos:
Verificamos antes que ya no este habilitada:
SQL> select * from v$flashback_database_log;
no rows selected
No hay info de flashback logs
SQL> select LOG_MODE,FORCE_LOGGING,CURRENT_SCN,FLASHBACK_ON from v$database;
LOG_MODE FOR CURRENT_SCN FLASHBACK_ON
------------ --- ----------- -------------
ARCHIVELOG NO 4527627 NO
Acá vemos FLASHBACK_ON en NO
Corremos el comando para habilitar flashback:
SQL> alter database flashback on;
Database altered.
Volvemos a comprobar:
SQL> col OLDEST_FLASHBACK_SCN format 9999999999999;
SQL> col FLASHBACK_SIZE format 9999999999999;
SQL> select * from v$flashback_database_log;
OLDEST_FLASHBACK_SCN OLDEST_FL RETENTION_TARGET FLASHBACK_SIZE ESTIMATED_FLASHBACK_SIZE
-------------------- --------- ---------------- -------------- ------------------------
4624876 06-JAN-14 2880 104857600 147456
SQL> select LOG_MODE,FORCE_LOGGING,CURRENT_SCN,FLASHBACK_ON from v$database;
LOG_MODE FOR CURRENT_SCN FLASHBACK_ON
------------ --- ----------- ------------------
ARCHIVELOG NO 0 YES
Ahora si vemos info flashback logs y el campo FLASHBACK_ON en YES.
Una vez activada la flashback.
Desde linea de comando reiniciamos todas las instancias:
[oracle@server01]$ srvctl stop database -d ORCL
[oracle@server01]$ srvctl start database -d ORCL
[oracle@server01]$ srvctl status database -d ORCL
Instance ORCL1 is running on node server01
Instance ORCL2 is running on node server02
Antes de poder activar flashback database debemos asegurarnos dos cosas:
- La base debe estar configurada en modo archivelog.
- Debe tener habilitada la FRA (flash/fast recovery area) ya que los flashback logs solamente pueden ser almacenados en la alli.
Para habilitar flashback debemos seguir los siguientes pasos (caso de un RAC):
1- Abrir una de las instancias del RAC en modo mount:
Desde linea de comando bajamos todas la instancias y luego montamos solo una:
[oracle@server01]$ srvctl stop database -d ORCL
[oracle@server01]$ srvctl start instance -d ORCL -i ORCL1 -o mount;
2- Configurar el parametro DB_FLASHBACK_RETENTION_TARGET (ventana de flashback requerida expresada en minutos)
Por defecto es un 1 dia (1440 minutos)
Nos conectamos a la instancia:
[oracle@server01]$ sqlplus / as sysdba
Verificamos el parametro:
SQL> show parameter db_flashback_retention_target
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_flashback_retention_target integer 1440
Lo seteamos en dos dias (2880 minutos)
SQL> alter system set db_flashback_retention_target=2880 sid='*';
System altered.
3- Habilitamos el flashback en la base de datos:
Verificamos antes que ya no este habilitada:
SQL> select * from v$flashback_database_log;
no rows selected
No hay info de flashback logs
SQL> select LOG_MODE,FORCE_LOGGING,CURRENT_SCN,FLASHBACK_ON from v$database;
LOG_MODE FOR CURRENT_SCN FLASHBACK_ON
------------ --- ----------- -------------
ARCHIVELOG NO 4527627 NO
Acá vemos FLASHBACK_ON en NO
Corremos el comando para habilitar flashback:
SQL> alter database flashback on;
Database altered.
Volvemos a comprobar:
SQL> col OLDEST_FLASHBACK_SCN format 9999999999999;
SQL> col FLASHBACK_SIZE format 9999999999999;
SQL> select * from v$flashback_database_log;
OLDEST_FLASHBACK_SCN OLDEST_FL RETENTION_TARGET FLASHBACK_SIZE ESTIMATED_FLASHBACK_SIZE
-------------------- --------- ---------------- -------------- ------------------------
4624876 06-JAN-14 2880 104857600 147456
SQL> select LOG_MODE,FORCE_LOGGING,CURRENT_SCN,FLASHBACK_ON from v$database;
LOG_MODE FOR CURRENT_SCN FLASHBACK_ON
------------ --- ----------- ------------------
ARCHIVELOG NO 0 YES
Ahora si vemos info flashback logs y el campo FLASHBACK_ON en YES.
Una vez activada la flashback.
Desde linea de comando reiniciamos todas las instancias:
[oracle@server01]$ srvctl stop database -d ORCL
[oracle@server01]$ srvctl start database -d ORCL
[oracle@server01]$ srvctl status database -d ORCL
Instance ORCL1 is running on node server01
Instance ORCL2 is running on node server02
[ 2013-12-05 ]
Gestión de servicios de base de datos (creación, modificación y borrado)
Para verificar que servicios están corriendo para una base de datos:
[oracle@server01 ~]$ srvctl status service -d ORCL
No nos devuelve nada, no hay servicios corriendo en la base ORCL.
Creamos un nuevo servicio:
[oracle@server01 ~]$ srvctl add service -d ORCL -s SRVTST -r ORCL1,ORCL2 -P BASIC -e SELECT -m BASIC
(ver más abajo las opción que podemos utilizar en la creación)
En este ejemplo usamos:
-d Base de datos
-s Nombre del servicio
-r Instancias disponibles
-P, -e y -m Caracteristicas del tipo de conexión.
Verificamos la configuración del nuevo servicio:
[oracle@server01 ~]$ srvctl config service -d ORCL
Service name: SRVTST
Service is enabled
Server pool: ORCL_SRVTST
Cardinality: 2
Disconnect: false
Service role: PRIMARY
Management policy: AUTOMATIC
DTP transaction: false
AQ HA notifications: false
Failover type: SELECT
Failover method: BASIC
TAF failover retries: 0
TAF failover delay: 0
Connection Load Balancing Goal: LONG
Runtime Load Balancing Goal: NONE
TAF policy specification: BASIC
Edition:
Preferred instances: ORCL1,ORCL2
Available instances:
[oracle@server01 ~]$ srvctl status service -d ORCL
No nos devuelve nada, no hay servicios corriendo en la base ORCL.
Creamos un nuevo servicio:
[oracle@server01 ~]$ srvctl add service -d ORCL -s SRVTST -r ORCL1,ORCL2 -P BASIC -e SELECT -m BASIC
(ver más abajo las opción que podemos utilizar en la creación)
En este ejemplo usamos:
-d Base de datos
-s Nombre del servicio
-r Instancias disponibles
-P, -e y -m Caracteristicas del tipo de conexión.
Verificamos la configuración del nuevo servicio:
[oracle@server01 ~]$ srvctl config service -d ORCL
Service name: SRVTST
Service is enabled
Server pool: ORCL_SRVTST
Cardinality: 2
Disconnect: false
Service role: PRIMARY
Management policy: AUTOMATIC
DTP transaction: false
AQ HA notifications: false
Failover type: SELECT
Failover method: BASIC
TAF failover retries: 0
TAF failover delay: 0
Connection Load Balancing Goal: LONG
Runtime Load Balancing Goal: NONE
TAF policy specification: BASIC
Edition:
Preferred instances: ORCL1,ORCL2
Available instances:
[ 2013-11-21 ]
Activar archivelog en RAC Database (10gR2 y 11g)
Nos conectamos a una de las instancias de la base de datos que queremos pasar a modo archivelog.
[oracle@server01] export ORACLE_SID=ORCL1
[oracle@server01] sqlplus / as sysdba
Verificamos que la base efectivamente NO este ya en modo archivelog:
SQL> archive log list
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 420
Current log sequence 421
Verificamos la configuración del destino de logs:
(podemos usar la FRA o un filesystem compartido por todos los nodos)
Si lo deseamos podemos modificar al tamaño del destino (db_recovery_file_dest_size).
En este ejemplo utilizamos la FRA.
SQL> show parameter recovery_file_dest
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string +FRA
db_recovery_file_dest_size big integer 4407M
Ana vez hechas estas verificaciones y configuraciones, paramos la base de datos desde linea de comandos utilizando srvctl:
[oracle@server01] srvctl stop database -d ORCL
[oracle@server01] srvctl status database -d ORCL
Instance ORCL1 is not running on node server01
Instance ORCL2 is not running on node server02
Una vez baja en todos los nodos, luego la montamos:
[oracle@server01] srvctl start database -d ORCL -o mount
[oracle@server01] srvctl status database -d ORCL
Instance ORCL1 is running on node server01
Instance ORCL2 is running on node server02
Nos conectamos a una de las instancias y corremos el comando SQL para activar el modo archivelog:
[oracle@server01] sqlplus / as sysdba
SQL> ALTER DATABASE ARCHIVELOG;
Database altered.
Verificamos que el modo archivelog efectivamente haya sido activado:
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 420
Next log sequence to archive 421
Current log sequence 421
Nuevamente desde linea de comandos, paramos la base de datos en todos los nodos.
[oracle@server01] srvctl stop database -d ORCL
Volvemos a levantar la base en todos los nodos:
[oracle@server01]$ srvctl start database -d ORCL
[oracle@server01] srvctl status database -d ORCL
Instance ORCL1 is running on node server01
Instance ORCL2 is running on node server02
Nos conectamos para probar que las instancias hayan quedado abiertas y disponibles.
Listo. Nuestra base de datos ya quedó configurada en modo archivelog.
[oracle@server01] export ORACLE_SID=ORCL1
[oracle@server01] sqlplus / as sysdba
Verificamos que la base efectivamente NO este ya en modo archivelog:
SQL> archive log list
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 420
Current log sequence 421
Verificamos la configuración del destino de logs:
(podemos usar la FRA o un filesystem compartido por todos los nodos)
Si lo deseamos podemos modificar al tamaño del destino (db_recovery_file_dest_size).
En este ejemplo utilizamos la FRA.
SQL> show parameter recovery_file_dest
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string +FRA
db_recovery_file_dest_size big integer 4407M
Ana vez hechas estas verificaciones y configuraciones, paramos la base de datos desde linea de comandos utilizando srvctl:
[oracle@server01] srvctl stop database -d ORCL
[oracle@server01] srvctl status database -d ORCL
Instance ORCL1 is not running on node server01
Instance ORCL2 is not running on node server02
Una vez baja en todos los nodos, luego la montamos:
[oracle@server01] srvctl start database -d ORCL -o mount
[oracle@server01] srvctl status database -d ORCL
Instance ORCL1 is running on node server01
Instance ORCL2 is running on node server02
Nos conectamos a una de las instancias y corremos el comando SQL para activar el modo archivelog:
[oracle@server01] sqlplus / as sysdba
SQL> ALTER DATABASE ARCHIVELOG;
Database altered.
Verificamos que el modo archivelog efectivamente haya sido activado:
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 420
Next log sequence to archive 421
Current log sequence 421
Nuevamente desde linea de comandos, paramos la base de datos en todos los nodos.
[oracle@server01] srvctl stop database -d ORCL
Volvemos a levantar la base en todos los nodos:
[oracle@server01]$ srvctl start database -d ORCL
[oracle@server01] srvctl status database -d ORCL
Instance ORCL1 is running on node server01
Instance ORCL2 is running on node server02
Nos conectamos para probar que las instancias hayan quedado abiertas y disponibles.
Listo. Nuestra base de datos ya quedó configurada en modo archivelog.
[ 2013-11-20 ]
Creación de servicios de base de datos en RAC 11G
A continuación vamos a ver como crear un servicio para una base de datos en particular, en un RAC 11G de dos nodos. Crear servicios resulta muy útil entre otras cosas para gestionar la base de datos, focalizandonos, por ejemplo, en diferentes aplicaciones.
Vemos que la base ORCL no tiene servicios creados:
[oracle@server01]$ srvctl status service -d ORCL
Creamos el servicio con srvctl:
[oracle@server01]$ srvctl add service -d ORCL -s MYAPP -r ORCL1,ORCL2 -P BASIC -e SELECT -m BASIC
Vemos la configuración del servicio:
[oracle@server01]$ srvctl config service -d ORCL -s MYAPP
Service name: MYAPP
Service is enabled
Server pool: ORCL_MYAPP
Cardinality: 2
Disconnect: false
Service role: PRIMARY
Management policy: AUTOMATIC
DTP transaction: false
AQ HA notifications: false
Failover type: SELECT
Failover method: BASIC
TAF failover retries: 0
TAF failover delay: 0
Connection Load Balancing Goal: LONG
Runtime Load Balancing Goal: NONE
TAF policy specification: BASIC
Edition:
Preferred instances: ORCL1,ORCL2
Available instances:
Vemos que la base ORCL no tiene servicios creados:
[oracle@server01]$ srvctl status service -d ORCL
Creamos el servicio con srvctl:
[oracle@server01]$ srvctl add service -d ORCL -s MYAPP -r ORCL1,ORCL2 -P BASIC -e SELECT -m BASIC
Vemos la configuración del servicio:
[oracle@server01]$ srvctl config service -d ORCL -s MYAPP
Service name: MYAPP
Service is enabled
Server pool: ORCL_MYAPP
Cardinality: 2
Disconnect: false
Service role: PRIMARY
Management policy: AUTOMATIC
DTP transaction: false
AQ HA notifications: false
Failover type: SELECT
Failover method: BASIC
TAF failover retries: 0
TAF failover delay: 0
Connection Load Balancing Goal: LONG
Runtime Load Balancing Goal: NONE
TAF policy specification: BASIC
Edition:
Preferred instances: ORCL1,ORCL2
Available instances:
[ 2012-07-04 ]
Switcheando redologs (Opción ALL LOGFILE)
La sentencia SWITCH LOGFILE nos permite explicitamente forzar a que la base de datos comience a escribir en un nuevo grupo de archivos de redo log, por mas que, el corriente aún no se haya completado. Al forzar un cambio de log (SWITCH LOGFILE) se lanza un proceso de "checkpoint" que nos devuelve inmediatamente el control una vez concluido, este tipo se checkpoint se denomina LOG SWITCH CHECKPOINT.
Una opción "semi-documentada" que resulta bastante útlil en ambientes de RAC (particularmente cuando se utiliza "dataguard") es utilizar "ALL LOGFILE" para realizar el cambio de grupo de redo en todos los threads de la base, de una vez y desde una unica instancia:
Una opción "semi-documentada" que resulta bastante útlil en ambientes de RAC (particularmente cuando se utiliza "dataguard") es utilizar "ALL LOGFILE" para realizar el cambio de grupo de redo en todos los threads de la base, de una vez y desde una unica instancia:
[ 2012-02-06 ]
Dos formas de obtener nuestros datos de sesión en un Oracle RAC
A continuación vemos dos maneras de obtener el SID, SERIAL y número de instancia para nuestra propia sesión en un RAC:
select
sid,
serial#,
inst_id
from gv$session
where sid = (select sid from v$mystat where rownum = 1);
SID SERIAL# INST_ID
---------- ---------- ---------
139 24875 1
Executed in 0,39 seconds
select
sid,
serial#,
inst_id
from gv$session
where sid = (select sid from v$mystat where rownum = 1);
SID SERIAL# INST_ID
---------- ---------- ---------
139 24875 1
Executed in 0,39 seconds
[ 2012-01-01 ]
Script para testear el balanceo de conexiones en un RAC (9i-10g)
El siguiente script lo utilizo para testear el balanceo entre nodos de un RAC.
export NUM=1
export CANT=$2
let CANT=CANT-1
while [ $NUM -le $CANT ]; do
let NUM=$NUM+1
sqlplus -s user/password@$1<<!
set heading off
select '$NUM) Instancia: '||instance_name from v\$instance;
exit
!
done
Se invoca pasandole el nombre de alias "tnsnames" y la cantidad de veces que intenta establecer la conexión.
[oracle@server1 scripts]$ ./testcon.sh ORCL 20
testcon.sh [SID] [veces]
La salida que muestra es la siguiente:
(probado en bases RAC 9i y 10g):
1) Instancia: ORCL2
2) Instancia: ORCL1
3) Instancia: ORCL1
4) Instancia: ORCL2
5) Instancia: ORCL1
6) Instancia: ORCL2
7) Instancia: ORCL1
8) Instancia: ORCL2
9) Instancia: ORCL1
10) Instancia: ORCL2
11) Instancia: ORCL1
12) Instancia: ORCL2
13) Instancia: ORCL1
14) Instancia: ORCL2
15) Instancia: ORCL1
16) Instancia: ORCL2
17) Instancia: ORCL2
18) Instancia: ORCL2
19) Instancia: ORCL2
20) Instancia: ORCL2
La entrada en el TNSNAMES.ora es:
ORCL =
(DESCRIPTION=
(LOAD_BALANCE=ON)
(FAILOVER=ON)
(ADDRESS=(PROTOCOL=TCP)(HOST=server01)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=server02)(PORT=1521))
(CONNECT_DATA=
(SERVICE_NAME=ORCL)
(FAILOVER_MODE=
(TYPE=SELECT)
(METHOD=BASIC)
(RETRIES=20)
(DELAY=15)
)
)
)
export NUM=1
export CANT=$2
let CANT=CANT-1
while [ $NUM -le $CANT ]; do
let NUM=$NUM+1
sqlplus -s user/password@$1<<!
set heading off
select '$NUM) Instancia: '||instance_name from v\$instance;
exit
!
done
Se invoca pasandole el nombre de alias "tnsnames" y la cantidad de veces que intenta establecer la conexión.
[oracle@server1 scripts]$ ./testcon.sh ORCL 20
testcon.sh [SID] [veces]
La salida que muestra es la siguiente:
(probado en bases RAC 9i y 10g):
1) Instancia: ORCL2
2) Instancia: ORCL1
3) Instancia: ORCL1
4) Instancia: ORCL2
5) Instancia: ORCL1
6) Instancia: ORCL2
7) Instancia: ORCL1
8) Instancia: ORCL2
9) Instancia: ORCL1
10) Instancia: ORCL2
11) Instancia: ORCL1
12) Instancia: ORCL2
13) Instancia: ORCL1
14) Instancia: ORCL2
15) Instancia: ORCL1
16) Instancia: ORCL2
17) Instancia: ORCL2
18) Instancia: ORCL2
19) Instancia: ORCL2
20) Instancia: ORCL2
La entrada en el TNSNAMES.ora es:
ORCL =
(DESCRIPTION=
(LOAD_BALANCE=ON)
(FAILOVER=ON)
(ADDRESS=(PROTOCOL=TCP)(HOST=server01)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=server02)(PORT=1521))
(CONNECT_DATA=
(SERVICE_NAME=ORCL)
(FAILOVER_MODE=
(TYPE=SELECT)
(METHOD=BASIC)
(RETRIES=20)
(DELAY=15)
)
)
)
Suscribirse a:
Entradas (Atom)
