AUMENTAR PARÁMETRO DE LA SGA | ORACLE PERFORMANCE

Posted by josefabre | Posted in Administración, Base de Datos, Noticias, Oracle, Proyectos, Refundation, Software Libre, Tips, Unix/Linux | Posted on 09-07-2015

3

AUMENTAR PARÁMETRO DE LA SGA
Hoy vamos a enseñar a aumentar el parámetro SGA de la base de datos Oracle, esto surgido por un problema al momento de generar un export.

[localhost@oracle ~]$ expdp full=y dumpfile=fulldb.dmp logfile=fulldb.log directory=EXPORT system/pasword

Export: Release 10.2.0.1.0 – Production on Tuesday, 16 December, 2008 17:07:44

Copyright (c) 2003, 2005, Oracle. All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – Production
With the Partitioning, OLAP and Data Mining options
FLASHBACK automatically enabled to preserve database integrity.
Starting “SYSTEM”.”SYS_EXPORT_FULL_02″: full=y dumpfile=fulldb.dmp directory=d userid=system/********
Estimate in progress using BLOCKS method…
Processing object type DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA
ORA-39125: Worker unexpected fatal error in KUPW$WORKER.GET_TABLE_DATA_OBJECTS while calling DBMS_METADATA.FETCH_XML_CLOB []
ORA-04031: unable to allocate 28 bytes of shared memory (“shared pool”,”SELECT /*+rule*/ SYS_XMLGEN(…”,”sql area”,”ub1[]: qkexrXformVal”)

ORA-06512: at “SYS.DBMS_SYS_ERROR”, line 95
ORA-06512: at “SYS.KUPW$WORKER”, line 6235

—– PL/SQL Call Stack —–
object line object
handle number name
64E077B4 14916 package body SYS.KUPW$WORKER
64E077B4 6300 package body SYS.KUPW$WORKER
64E077B4 9120 package body SYS.KUPW$WORKER
64E077B4 1880 package body SYS.KUPW$WORKER
64E077B4 6861 package body SYS.KUPW$WORKER
64E077B4 1262 package body SYS.KUPW$WORKER
64CB4398 2 anonymous block

Job “SYSTEM”.”SYS_EXPORT_FULL_02″ stopped due to fatal error at 17:08:03

La causa del error

El error ORA-04031, Oracle hace un barrido del espacio de memoria de objetos que ya no están en uso , si aun así no existe suficiente espacio disponible para satisfacer la solicitud devuelve este error.

Solución

la solución es aumentar el parámetro SGA.

Nota: Para esto deben tomar en cuenta que su base debe estar in-disponible ya que se debe reiniciar.

SQL> show parameter sga_t

NAME TYPE VALUE
———————————— ———– ——————————
sga_target big integer 772M

SQL> show parameter sga_max

NAME TYPE VALUE
———————————— ———– ——————————
sga_max_size big integer 800M

En la configuracón la SGA_TARGET de pende de la SGA_MAX_SIZE asi que debemos cambiar ambas para que tenga el efecto esperado.

SQL> alter system set sga_max_size=900M scope=spfile;

System altered.

SQL> alter system set sga_target=950M scope=spfile;

System altered.

SQL> startup force
ORACLE instance started.

Total System Global Area 314572800 bytes
Fixed Size 1248768 bytes
Variable Size 96469504 bytes
Database Buffers 209715200 bytes
Redo Buffers 7139328 bytes
Database mounted.
Database opened.

SQL> show parameter sga_target

NAME TYPE VALUE
———————————— ———– ——————————
sga_target big integer 900M

 

Referencia -> http://oracle-facil.blogspot.com/

Linux: Pasos para bajar una base de datos ORACLE en forma segura

Posted by josefabre | Posted in Base de Datos, Noticias, Oracle, Software Libre, Unix/Linux | Posted on 21-05-2014

Tags: , ,

2

Cuando se generen inconvenientes en su empresa y por A o B razón deben bajar las bases de datos, la forma segura de realizar esto es siguiendo los siguientes pasos:

1.-Ingresar al servidor 

ssh o por telnet para ingresar al SQLPlus* ya sea por putty , SSH-Security o cualquier herramienta que maneje su negocio para administrar servidores

2.-Cargar las variables de ambiente

Nota:Este paso es necesario cuando el ambiente de oracle no se encuentra cargado en la sesión actual de sistema operativo

[oracle@docec admin]$ cd

[oracle@docec ~]$ . ./.bash_profile

[oracle@docec ~]$ . oraenv
ORACLE_SID = [nueva] ? nueva
ORACLE_HOME = [/home/oracle] ? /u01/app/oracle/product/11.2.0/dbhome_1
The Oracle base remains unchanged with value /u01/app/oracle

3.-Detener el listener

Esta acción permite que usuarios nuevos no puedan conectarse

[oracle@docec ~]$ lsnrctl stop

LSNRCTL for Linux: Version 12.1.0.1.0 – Production on 21-MAY-2014 14:24:08

Copyright (c) 1991, 2013, Oracle. All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1521)))
The command completed successfully

4.-Apagar la base de forma segura

[oracle@docec ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.1.0 Production on Wed May 21 14:25:16 2014

Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 – 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL> shutdown immediate;

Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> exit

5.- Apagar el sistema operativo

[oracle@docec ~]$ poweroff

 

Nota: Realizar los pasos 2 y 4 por cada Instancia (SID) que se tenga en el servidor

 

DATABASE LINK

Posted by josefabre | Posted in Base de Datos, Entrenamiento, Oracle, Software Libre, Unix/Linux | Posted on 21-05-2014

Tags: , ,

1

DATABASE LINK

 



Para que sirve un DBLink?

Un conexión de base de datos externa o simplemente DBLink, sirve para conectarte con otra base de datos y así poder extraer información de esa base.

Creación del DBLink

Para crear un dblink se deben tomar en cuenta los siguientes puntos
– Agregar la entrada de conexión en el tnsname.ora

[host@local ~]$ vim $ORACLE_HOME/networck/admin/tnsname.ora

Descripción de la nueva entrada:

NUEVA_ENTRADA =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = nueva_entrada.rfcg.com)

)

)

Nota: Para validar que todo se encuentre funcionando, realizamos una prueba ejecutando

[host@local ~]$ tnsping NUEVA_ENTRADA

TNS Ping Utility for Linux: Version 12.1.0.1.0 – Production on 21-MAY-2014 12:09:23

Copyright (c) 1997, 2013, Oracle.  All rights reserved.

Used parameter files:
Used TNSNAMES adapter to resolve the alias

Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = nuva.rfcg.com)))

OK (10 msec)
-En SQLPlus*, Toad , SqlDeveloper o cualquier ambiente que se tenga para poder ejecutar el scrip ejecutamos.

Formato:

CREATE [PUBLIC] DATABASE LINK <NOMBRE DEL DBLINK>

CONNECT TO <NOMBRE DEL USUARIO>

IDENTIFIED BY <CLAVE DEL USUARIO>

USING <NOMBRE DE LA ENTRADA EN EL TNSNAME>



Ejemplo:



SQL> CREATE PUBLIC DATABASE LINK “DBL_CONEXION_PROD.RGCG.COM”

CONNECT TO JFABRE

IDENTIFIED PassWOrD

USING ‘NUVA_ENTRADA';














Auditoria en Oracle 11g

Posted by josefabre | Posted in Administración, Aplicaciones, Base de Datos, Oracle, Proyectos, Software Libre, Unix/Linux | Posted on 15-05-2014

Tags: , ,

4

AUDITORIA EN ORACLE

VERSIÓN: 11G




  1. Auditoria informática
  2. Auditoria en Oracle
  3. Tablas y Vistas
  4. Comprobar activación de auditoria
  5. Comandos audit y noaudit
  6. Consultas de auditoria
  7. Descripción de tablas de auditoria

Auditoria informática

Consiste en recoger, agrupar y evaluar evidencias para determinar si un sistema de información salvaguarda el activo empresarial, mantiene la integridad de los datos, lleva a cabo eficazmente los fines de la organización, utiliza eficientemente los recursos, y cumple con las leyes y regulaciones establecidas.

Auditoria para Oracle

En el caso de Oracle, la auditoría es un conjunto de características que permite al administrador de la base de datos y a los usuarios hacer un seguimiento del uso de la base de datos. El administrador de base de datos puede definir la actividad de auditoría predeterminada. La información de las auditorías se almacena en el diccionario de datos, en la tabla SYS.AUD$ o en la pista de auditoría del sistema operativo (si lo permite). Lo anterior viene definido en el parámetro audit_trail.

Se pueden auditar tres tipos de acciones: intentos de inicio de sesión, accesos a objetos y acciones de la base de datos. Cuando se realizan auditorías, la funcionalidad de la base de datos es dejar constancia de los comandos correctos e incorrectos. Esto puede modificarse cuando se configura cada tipo de auditoría.

 Tablas y Vistas

Oracle almacena en la tabla SYS.AUD$ o en la pista de auditoría del sistema operativo (si lo permite).

Existen varias vistas que se usan para ayudar a la extracción de los datos  deseado en una auditoria en esta tabla (SYS.AUD$).

  • ALL_AUDIT_POLICIES
  • ALL_AUDIT_POLICY_COLUMNS
  • ALL_DEF_AUDIT_OPTS
  • ALL_REPAUDIT_ATTRIBUTE
  • ALL_REPAUDIT_COLUMN
  • APEX_DEVELOPER_AUDIT_LOG
  • DBA_AUDIT_EXISTS
  • DBA_AUDIT_OBJECT
  • DBA_AUDIT_POLICIES
  • DBA_AUDIT_POLICY_COLUMNS
  • DBA_AUDIT_SESSION
  • DBA_AUDIT_STATEMENT
  • DBA_AUDIT_TRAIL
  • DBA_COMMON_AUDIT_TRAIL
  • DBA_FGA_AUDIT_TRAIL
  • DBA_OBJ_AUDIT_OPTS
  • DBA_PRIV_AUDIT_OPTS
  • DBA_REPAUDIT_ATTRIBUTE
  • DBA_REPAUDIT_COLUMN
  • DBA_STMT_AUDIT_OPTS
  • GV_$XML_AUDIT_TRAIL
  • KU$_AUDIT_DEFAULT_VIEW
  • KU$_AUDIT_OBJ_BASE_VIEW
  • KU$_AUDIT_OBJ_VIEW
  • KU$_AUDIT_VIEW
  • KU$_PROC_AUDIT_VIEW
  • KU$_PROCDEPOBJ_AUDIT_VIEW
  • KU$_PROCOBJ_AUDIT_VIEW
  • KU$_10_1_AUDIT_VIEW
  • MGMT$AUDIT_LOG
  • MGMT$ESA_AUDIT_SYSTEM_REPORT
  • SM$AUDIT_CONFIG
  • USER_AUDIT_OBJECT
  • USER_AUDIT_POLICIES
  • USER_AUDIT_POLICY_COLUMNS
  • USER_AUDIT_SESSION
  • USER_AUDIT_STATEMENT
  • USER_AUDIT_TRAIL
  • USER_OBJ_AUDIT_OPTS
  • USER_REPAUDIT_ATTRIBUTE
  • USER_REPAUDIT_COLUMN
  • V_$XML_AUDIT_TRAIL
Estas vistas se pueden ver ejecutando la consulta SQL:

SELECT view_name
FROM dba_views
WHERE view_name LIKE ‘%AUDIT%’
ORDER BY view_name

Las principales son:

– DBA_AUDIT_OBJECT: guarda la información relativa a la auditoría de



– DBA_AUDIT_SESSION: guarda la información relativa a la auditoría de los inicios de sesión de los usuarios.



– DBA_AUDIT_TRAIL: muestra la auditoría estándar (de la tabla AUD$)



– USER_AUDIT_TRAIL: muestra la auditoría estándar (de la tabla AUD$) relativa al usuario actual



– DBA_FGA_AUDIT_TRAIL: muestra información de auditoría de grano fino (obtenida de FGA_LOG$). La auditoría de grano fino (FGA) extiende la auditoría estándar y, además, captura la sentencia SQL que ha sido ejecutada.


Nota: Todo lo anterior estará condicionado al tipo de auditoría que se haya establecido para la base de datos Oracle,

Comprobar activación de auditoría

La activación de la auditoría en Oracle  viene definida por el valor del parámetro: audit_trail.

Para comprobar si la auditoría de la base de datos está activa ejecutamos el siguiente query :

select name, value
from v$parameter
where name like ‘audit_trail’
Valores:

– none: desactiva la auditoría de la base de datos.



– os: activa la auditoría de la base de datos. Los sucesos auditados se escribirán en la pista de auditoría del sistema operativo, no se auditará en Oracle sino en el sistema operativo anfitrión. Esta opción funcionará dependiendo del sistema operativo.



– db: activa la auditoría y los datos se almacenarán en la taba SYS.AUD$ de Oracle.



– db, extended: activa la auditoría y los datos se almacenarán en la taba SYS.AUD$ de Oracle. Además se escribirán los valores correspondientes en las columnas SQLBIND y SQLTEXT de la tabla SYS.AUD$.



– xml: activa la auditoría de la base de datos, los sucesos será escritos en ficheros XML del sistema operativo.



– xml, extended: activa la auditoría de la base de datos, los sucesos será escritos en el formato XML del sistema operativo, además se incluirán los valores de SqlText y SqlBind.


Activa la auditoria
ALTER SYSTEM SET audit_trail = “DB” SCOPE=SPFILE;
Desactivar la auditoria
ALTER SYSTEM SET audit_trail = “NONE” SCOPE=SPFILE;
Nota: En Oracle 11g la auditoria viene activada por defecto, el valor del parámetro “audit_trail” está a “DB”.

Comandos audit y noaudit

Audit

Este comando puede funcionar aunque no esté activada la auditoría de la base de datos. Pero no dejara registro alguno guardado.

Auditorías de inicio de sesión

audit session;

Nota: Auditará tanto los intentos fallidos como los aciertos.

             Sólo los intentos fallidos : audit session whenever not successful;

             Sólo los intentos fallidos : audit session whenever  successful;


Auditorías de acción

Nota: Cualquier acción que afecte a un objeto de la base de datos (tabla, enlace de base de datos, espacio de tablas, sinónimo, segmento de anulación, usuario, índice, etc.) puede auditarse

audit role; 

Nota: Este comando activará la auditoría de las acciones: create rolealter roledrop role y set role.
Auditar a un usuario al realizar la acción “update” :

audit update table by nombre_usuario;



Auditorías de objeto


Auditar las acciones de manipulación de datos sobre objetos.

Por ejemplo, para auditar los “insert” realizados sobre una  tabla:

audit insert on <TABLA> by access;


Nota: al indicar “by access” hay que tener cuidado pues registrará un suceso de auditoría por cada insert, esto puede afectar al rendimiento. De ser así siempre será mejor optar por “by session” que sólo registrará un suceso de auditoría por sesión, aunque es menos exaustivo.

Sintaxis
AUDIT { sql_statement_clause | schema_object_clause | NETWORK } [ BY { SESSION | ACCESS } ] [ WHENEVER [ NOT ] SUCCESSFUL ] ; 
  • sql_statement_clause: activa la auditoría para una sentencia SQL concreta.
  • schema_object_clause: activa la auditoría para un objeto concreto de la base de datos.
  • WHENEVER SUCCESSFUL: activa la auditoría sólo para operaciones e instrucciones SQL en objetos de esquema que se completen con éxito.
  • WHENEVER NOT SUCCESSFUL: activa la auditoría sólo para operaciones e instrucciones SQL en objetos de esquema que originen error.


Noaudit

La instrucción noaudit se utiliza para detener la actividad de auditoría que se había activado previamente con la instrucción audit.

La instrucción noaudit debe tener la misma sintaxis que la instrucción audit que queramos detener.

Por ejemplo, si hemos auditado un usuario con:

audit session by alonso;

Auditará los inicios de sesión para el usuario de Oracle “alonso”, tanto los fallidos como los correctos. Para desactivar esta auditoría ejecutaremos el comando:
noaudit session by alonso;


Sintaxis

NOAUDIT { sql_statement_clause | schema_object_clause | NETWORK} [ WHENEVER [ NOT ] SUCCESSFUL ] ;  
  • sql_statement_clause: detiene la auditoria de una sentencia SQL concreta.
  • schema_object_clause: detiene la auditoría para un objeto concreto de la base de datos.
  • WHENEVER SUCCESSFUL: detiene la auditoría sólo para operaciones e instrucciones SQL en objetos de esquema que se completen con éxito.
  • WHENEVER NOT SUCCESSFUL: detiene la auditoría sólo para operaciones e instrucciones SQL en objetos de esquema que originen error.

Consultas de auditoria

  • Auditoria en inicio de sesión :
    select OS_Username Usuario_SO, Username Usuario_Oracle, Terminal ID_Terminal, DECODE (Returncode, '0', 'Conectado', '1005', 'Fallo - Null', 1017, 'Fallo', Returncode) Tipo_Suceso, TO_CHAR(Timestamp, 'DD-MM-YY HH24:MI:SS') Hora_Inicio_Sesion, TO_CHAR(Logoff_Time, 'DD-MM-YY HH24:MI:SS') Hora_Fin_Sesion from DBA_AUDIT_SESSION;
  • Auditoria por acción :
    select OS_Username Usuario_SO, Username Usuario_Oracle, Terminal ID_Terminal, Owner Propietario_Objeto, Obj_Name Nombre_Objeto, Action_Name Accion, DECODE (Returncode, '0', 'Realizado', 'Returncode') Tipo_Suceso, TO_CHAR (Timestamp, 'DD-MM-YY HH24:MI:SS') Hora from DBA_AUDIT_OBJECT;

    Descripción de tablas de auditoria

    Estructura de la tabla SYS.AUD$:

Campo Tipo de datos Tamaño Permite nulos
SESSIONID NUMBER 22 N
ENTRYID NUMBER 22 N
STATEMENT NUMBER 22 N
TIMESTAMP# DATE 7 Y
USERID VARCHAR2 30 Y
USERHOST VARCHAR2 128 Y
TERMINAL VARCHAR2 255 Y
ACTION# NUMBER 22 N
RETURNCODE NUMBER 22 N
OBJ$CREATOR VARCHAR2 30 Y
OBJ$NAME VARCHAR2 128 Y
AUTH$PRIVILEGES VARCHAR2 16 Y
AUTH$GRANTEE VARCHAR2 30 Y
NEW$OWNER VARCHAR2 30 Y
NEW$NAME VARCHAR2 128 Y
SES$ACTIONS VARCHAR2 19 Y
SES$TID NUMBER 22 Y
LOGOFF$LREAD NUMBER 22 Y
LOGOFF$PREAD NUMBER 22 Y
LOGOFF$LWRITE NUMBER 22 Y
LOGOFF$DEAD NUMBER 22 Y
LOGOFF$TIME DATE 7 Y
COMMENT$TEXT VARCHAR2 4000 Y
CLIENTID VARCHAR2 64 Y
SPARE1 VARCHAR2 255 Y
SPARE2 NUMBER 22 Y
OBJ$LABEL RAW 255 Y
SES$LABEL RAW 255 Y
PRIV$USED NUMBER 22 Y
SESSIONCPU NUMBER 22 Y
NTIMESTAMP# TIMESTAMP(6) 11 Y
PROXY$SID NUMBER 22 Y
USER$GUID VARCHAR2 32 Y
INSTANCE# NUMBER 22 Y
PROCESS# VARCHAR2 16 Y
XID RAW 8 Y
AUDITID VARCHAR2 64 Y
SCN NUMBER 22 Y
DBID NUMBER 22 Y
SQLBIND CLOB 4000 Y
SQLTEXT CLOB 4000 Y
OBJ$EDITION VARCHAR2 30 Y

RECUPERACIÓN ANTE DESASTRES – ORACLE DataGuard 11.2.0.4

Posted by josefabre | Posted in Administración, Aplicaciones, Base de Datos, Entrenamiento, Opinión, Oracle, Software Libre, Tips, Unix/Linux | Posted on 12-05-2014

Tags: ,

2

 

RECUPERACIÓN  ANTE DESASTRES

 

Guía de instalación para Oracle Data Guard
Base de datos 11g
Version 11.2.0.4

 

Índice General
1.       Introducción
2.     Arquitectura de data guard 11g
3.     Datos Generales
4.      Consejos (antes de empezar)
5.      Configurar servidor principal (Producción)
6.     Obtener los archivos de parámetros.
7.      Sincronizados los servidores con RMAN
8.      Sincronizados los servidores con Duplicate
9.      Configurar servidor secundario (Standby)
10.   Enviar archivelog’s (Switch log file)
11.   Convertir servidor secundario a principal (Switchover)
12.   Hacer permanente servidor secundario principal (Failover)   
13.   Conclusiones
1.  Introducción

 

En la mayoría de empresas se han ido implantando durante los últimos años planes de recuperación ante desastres o DR (Disaster Recovery). Estos planes comprenden un conjunto de recursos hardware, software y procedimientos que deben permitir a una empresa continuar ofreciendo sus servicios (o los considerados mínimos) en caso de que ocurran problemas graves en los sistemas informáticos.

En el caso de Oracle y para intentar minimizar este tipo de problemas, existen configuraciones de DR data guard que nos permiten mantener en ubicaciones físicamente separadas sistemas de contingencia denominados standby que podrán seguir dando servicio en caso de caída de los sistemas principales.

El concepto de Alta disponibilidad o HA (High Availability) es indispensable en una empresa por lo que DR. puede  disponer de discos, o tarjetas de red duplicados en un servidor es una solución de alta disponibilidad (HA), disponer de un segundo servidor en otra ciudad replicado con el primero es protección ante desastres (DR).

Finalmente existen las soluciones que nos aporta Oracle: las BDD Standby y el producto DataGuard (que ya viene integrado en las BDD EE) “.Solo aplicable para Enterprise Edition”

Una BDD Standby física (existen Standby “lógicas” de las que hablaremos en otra ocasión) es una copia “bit a bit” de nuestra BDD productiva, separada de ésta varias decenas, centenares o miles de kilómetros. Los cambios se trasmiten de la principal a la Standby y se aplican posteriormente en ésta.

Las trasmisiones de datos se realizan de manera comprimida y optimizada ocupando un mínimo de ancho de banda, y los datos pueden aplicarse en la standby “al momento” o con un cierto retardo, de manera que en caso de errores lógicos (modificación o borrado por error de gran cantidad de datos en la principal) se pueda ir a consultar los datos “del pasado” en la standby.


2. Arquitectura

 

3. Datos Generales
Sistema Operativo
Oracle Linux Server release 6.4  
Instaladores del software Oracle 12c 

*Para descargar los instaladores se debe crear una cuenta en Oracle http://www.oracle.com/ y descargar los  paquetes de 12.1.0.1 para Linuxhttp://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

Una vez los paquetes descargados copiar en la partición o en la partición donde se tenga espacio para instalar la base.

/u01/database/



4. Consejos

4.1. Se debe constatar que tanto la base como el sistema operativo sean iguales en los dos servidores mismo Hadware y Software.

4.2. Los dos servidores deben tener instalados los paquetes necesarios para el correcto funcionamiento del oracle consulta el siguiente link http://docs.oracle.com/cd/B28359_01/install.111/b32002/pre_install.htm#LADBI214

4.2. El primer servidor de producción contiene la base con listener el segundo solo el software de oracle y listener con los mismos parámetros que se configuro el principal

4.3. Deben tener las mismas características físicas los dos servidores

4.4. Crear archivo de variables de ambiente en el servidor de standby “.bash_profile”

Sentencias útiles para ver la versión del sistema operativo

Nombre tipo y versión de S.O.

[oracle@rfcg ~]$ lsb_release -a

Consulta para la versión del software de  Oracle

SQL> select value from v$system_parameter where name = ‘compatible’

Consulta Para ver los parámetros de configuración de la base de datos

SQL> SELECT * FROM NLS_DATABASE_PARAMETERS

        CONSULTAS ÚTILES

       – Consulta identifica si es primario o secundario

SELECT name,open_mode,database_role,db_unique_name,protection_modeFROM v$database;

         -Identificar el rol actiual del servidor

SELECT database_role FROM v$database;

5. Configurar servidor principal (Producción)

5.1. Poner la base principal en modo archivelog

Nota: Para verificar el modo actual de tu servidor principal

SQL> SELECT log_mode FROM v$database;

LOG_MODE
————
NOARCHIVELOG

Poner en modo archivelog

SQL> SHUTDOWN IMMEDIATE;

SQL> STARTUP MOUNT;

SQL> ALTER DATABASE ARCHIVELOG;

SQL> ALTER DATABASE OPEN;
5.2.Habilitar el registro forzado

SQL> ALTER DATABASE FORCE LOGGING;

5.3.Verificar la configuración de db_name y db_unique_name en ambos casos debe ser el nombre de la instancia de producción

SQL> show parameter db_name

NAME    TYPEVALUE
———————————— ———– ——————————
db_name     string DB11G

SQL> show parameter db_unique_name

NAME    TYPEVALUE
———————————— ———– ——————————
db_unique_name     string DB11G

5.4.Configurar el archivelog para stanby

SQL> ALTER SYSTEM SET LOG_ARCHIVE_CONFIG=’DG_CONFIG=(DB11G,DB11G_STBY)';

SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_2=’SERVICE=db11g_stby NOAFFIRM ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=DB11G_STBY';

SQL>ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;
5.5.Configurar el passwordfile

SQL> ALTER SYSTEM SET LOG_ARCHIVE_FORMAT=’%t_%s_%r.arc’ SCOPE=SPFILE;

SQL> ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=30;

SQL> ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE SCOPE=SPFILE;

5.6.Configurar el envio de spfile a standby

SQL> ALTER SYSTEM SET FAL_SERVER=DB11G_STBY;

SQL> ALTER SYSTEM SET DB_FILE_NAME_CONVERT=’DB11G_STBY’,’DB11G’ SCOPE=SPFILE;

SQL> ALTER SYSTEM SET LOG_FILE_NAME_CONVERT=’DB11G_STBY’,’DB11G’ SCOPE=SPFILE;

SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO;
5.7.Configurar el tnsname.ora 

Se debe agregar manual o con el utilitario netmgr el servicio de standby que se creo en el servidor secundario. 

[oracle@host ~]$ vim $ORACLE_HOME/network/admin/tnsnames.ora

/***************************************************

DGARD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = rfcg.oracle.com)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = dgard.oracle.com)
)
)

DGARD_STBY =
  (DESCRIPTION =    (ADDRESS_LIST =     (ADDRESS = (PROTOCOL = TCP)(HOST = rfcg2.oracle.com)(PORT = 1521)) )

    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = dgard_stby.oracle.com)
    )
  )

***************************************************/

Nota: Para probar si se tiene conexión entre los dos servidores se recomienda ejecutar el comando tnsping <nombre del servicio>

[oracle@host ~]$ tnsping DGARD_STBY

6. Obtener los archivos de parámetros

6.1. Crear el controlfile y parameterfile para standby

Ejecutar en el principal

SQL>ALTER DATABASE CREATE STANDBY CONTROLFILE AS ‘/tmp/db11g_stby.ctl';

SQL>CREATE PFILE=’/tmp/initDB11G_stby.ora’ FROM SPFILE;

6.2. Cambiar en el archivo de controlfile creado para standby anteriromente

*Cambiar las lineas con -> lo que se tiene en la derecha es lo original por lo de la izquierda.

Original -> Nuevo Valor

[oracle@host ~]$ vim /tmp/initDB11G_stby.ora

/************************************************************************

dgard.__db_cache_size=503316480 -> dgard_stby.__db_cache_size=503316480
dgard.__java_pool_size=16777216 -> dgard_stby.__java_pool_size=16777216
dgard.__large_pool_size=16777216 -> dgard_stby.__large_pool_size=16777216
dgard.__oracle_base=’/u01/app/oracle’#ORACLE_BASE set from environment
->  dgard_stby.__oracle_base=’/u01/app/oracle’#ORACLE_BASE set from environment
dgard.__pga_aggregate_target=754974720 -> dgard_stby.__pga_aggregate_target=754974720
dgard.__sga_target=855638016 -> dgard_stby.__sga_target=855638016
dgard.__shared_io_pool_size=0 -> dgard_stby.__shared_io_pool_size=0
dgard.__shared_pool_size=268435456 -> dgard_stby.__shared_pool_size=268435456
dgard.__streams_pool_size=33554432 -> dgard_stby.__streams_pool_size=33554432
*.audit_file_dest=’/u01/app/oracle/admin/dgard/adump’
-> *.audit_file_dest=’/u01/app/oracle/admin/dgard_stby/adump’
*.audit_trail=’db’
*.compatible=’11.2.0.0.0′
*.control_files=’/u01/app/oracle/oradata/dgard/control01.ctl’,’/u01/app/oracle/fast_recovery_area/dgard/control02.ctl’
->
*.control_files=’/u01/app/oracle/oradata/dgard_stby/control01.ctl’,’/u01/app/oracle/fast_recovery_area/dgard_stby/control02.ctl’
*.db_block_size=8192
*.db_domain=’oracle.com’
*.db_file_name_convert=’dgard_stby’,’dgard’ ->  *.db_file_name_convert=’dgard’,’dgard_stby’
*.db_name=’dgard’
Aumentar esta Linea————> *.db_unique_name=’dgard_stby’
*.db_recovery_file_dest=’/u01/app/oracle/fast_recovery_area’
*.db_recovery_file_dest_size=4322230272
*.diagnostic_dest=’/u01/app/oracle’
*.dispatchers='(PROTOCOL=TCP) (SERVICE=dgardXDB)’
*.fal_server=’DGARD_STBY’ -> *.fal_server=’DGARD’
*.log_archive_config=’DG_CONFIG=(dgard_stby,dgard)’ ->*.log_archive_config=’DG_CONFIG=(dgard,dgard_stby)’
*.log_archive_dest_2=’SERVICE=dgard NOAFFIRM ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=dgard_stby’
-> *.log_archive_dest_2=’SERVICE=dgard NOAFFIRM ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=dgard’
*.log_archive_dest_state_2=’ENABLE’
*.log_archive_format=’%t_%s_%r.arc’
*.log_archive_max_processes=30
*.log_file_name_convert=’dgard_stby’,’dgard’ -> *.log_file_name_convert=’dgard’,’dgard_stby’
*.memory_target=1603272704
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile=’EXCLUSIVE’
*.standby_file_management=’AUTO’
*.undo_tablespace=’UNDOTBS1′

************************************************************************/

7. Sincronizados los servidores con RMAN

7.1. Sacar backup de la base primaria

Ejecutar en el principal

[oracle@host ~]$ rman target=/

RMAN> BACKUP DATABASE PLUS ARCHIVELOG;
7.2. Crear los directorios como se tiene en el servidor de producción

Ejecutar en el secundario

[oracle@host ~]$ mkdir -p /u01/app/oracle/oradata/dbg11_stby

[oracle@host ~]$ mkdir -p /u01/app/oracle/fast_recovery_area/dbg11_stby

[oracle@host ~]$ mkdir -p /u01/app/oracle/admin/dbg11_stby/adump

7.3. Copiar los archivos de configuración de producción a standby

Ejecutar en el primario

*Controlfile

[oracle@host_stby ~]$ scp oracle@ol5-112-dga1:/tmp/db11g_stby.ctl /u01/app/oracle/oradata/dbg11_stby/control01.ctl

[oracle@host_stby ~]$ cp /u01/app/oracle/oradata/DB11G/control01.ctl /u01/app/oracle/fast_recovery_area/dbg11_stby/control02.ctl

*Archivelogs and backups

[oracle@host_stby ~]$ scp -r oracle@ol5-112-dga1:/u01/app/oracle/fast_recovery_area/DB11G/archivelog /u01/app/oracle/fast_recovery_area/dbg11_stby

[oracle@host_stby ~]$ scp -r oracle@ol5-112-dga1:/u01/app/oracle/fast_recovery_area/DB11G/backupset /u01/app/oracle/fast_recovery_area/dbg11_stby

*Parameter file.

[oracle@host_stby ~]$ scp oracle@ol5-112-dga1:/tmp/initDB11G_stby.ora /tmp/initDB11G_stby.ora

*Login password file.

[oracle@host_stby ~]$ scp oracle@ol5-112-dga1:$ORACLE_HOME/dbs/orapwDB11G $ORACLE_HOME/dbs

*Tnsname

[oracle@host_stby ~]$ scp oracle@ol5-112-dga1:$ORACLE_HOME/network/admin/tnsname.ora $ORACLE_HOME/network/admin/tnsname.ora

7.4. Levantar el listener

[oracle@host_stby ~]$ lsnrctl reload

7.5. Restaurar el backup en el servidor de standby con el spfile

[oracle@host_stby ~]$ export ORACLE_SID=DB11G

[oracle@host_stby ~]$ sqlplus / as sysdba

SQL> CREATE SPFILE FROM PFILE=’/tmp/initDB11G_stby.ora';

[oracle@host_stby ~]$ rman target=/

RMAN> STARTUP MOUNT;

RMAN> RESTORE DATABASE;

7.6. Crear los logfile

SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=MANUAL;

SQL> ALTER DATABASE ADD STANDBY LOGFILE (‘/u01/app/oracle/oradata/dgard_stby/standby_redo01.log’) SIZE 50M;

SQL> ALTER DATABASE ADD STANDBY LOGFILE (‘/u01/app/oracle/oradata/dgard_stby/standby_redo02.log’) SIZE 50M;

SQL> ALTER DATABASE ADD STANDBY LOGFILE (‘/u01/app/oracle/oradata/dgard_stby/standby_redo03.log’) SIZE 50M;

SQL> ALTER DATABASE ADD STANDBY LOGFILE (‘/u01/app/oracle/oradata/dgard_stby/standby_redo04.log’) SIZE 50M;

8. Sincronizados los servidores con Duplicate

8.1. Copiar los archivos de configuración de producción a standby

Ejecutar en el principal

*Controlfile

[oracle@host_stby ~]$ scp oracle@ol5-112-dga1:/tmp/db11g_stby.ctl /u01/app/oracle/oradata/dbg11_stby/control01.ctl

[oracle@host_stby ~]$ cp /u01/app/oracle/oradata/DB11G/control01.ctl /u01/app/oracle/fast_recovery_area/dbg11_stby/control02.ctl

*Parameter file.

[oracle@host_stby ~]$ scp oracle@ol5-112-dga1:/tmp/initDB11G_stby.ora /tmp/initDB11G_stby.ora

*Login password file.

[oracle@host_stby ~]$ scp oracle@ol5-112-dga1:$ORACLE_HOME/dbs/orapwDB11G $ORACLE_HOME/dbs

*Tnsname

[oracle@host_stby ~]$ scp oracle@ol5-112-dga1:$ORACLE_HOME/network/admin/tnsname.ora $ORACLE_HOME/network/admin/tnsname.ora

8.2. Crear los los redo de standby en el principal

Ejecutar en el principal

SQL> ALTER DATABASE ADD STANDBY LOGFILE (‘/u01/app/oracle/oradata/DB11G/standby_redo01.log’) SIZE 50M;

SQL> ALTER DATABASE ADD STANDBY LOGFILE (‘/u01/app/oracle/oradata/DB11G/standby_redo02.log’) SIZE 50M;

SQL> ALTER DATABASE ADD STANDBY LOGFILE (‘/u01/app/oracle/oradata/DB11G/standby_redo03.log’) SIZE 50M;

SQL> ALTER DATABASE ADD STANDBY LOGFILE (‘/u01/app/oracle/oradata/DB11G/standby_redo04.log’) SIZE 50M;

Ejecutar en el secundario

8.3. Levantar el listener

[oracle@host_stby ~]$ lsnrctl reload

8.3. Usar duplicate

[oracle@host_stby ~] export ORACLE_SID=DB11G

[oracle@host_stby ~] sqlplus / as sysdba

SQL> STARTUP NOMOUNT PFILE=’/tmp/initDB11G_stby.ora';

8.4. Conectarse a RMAN y ejecutar script de duplicate

Ejecutar en el principal

[oracle@host_stby ~]  rman TARGET sys/password@DB11G AUXILIARY sys/password@DB11G_STBY

RMAN > DUPLICATE TARGET DATABASE
FOR STANDBY
FROM ACTIVE DATABASE
DORECOVER
SPFILE
SET db_unique_name=’DB11G_STBY’ COMMENT ‘Is standby’
SET LOG_ARCHIVE_DEST_2=’SERVICE=db11g ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=DB11G’
SET FAL_SERVER=’DB11G’ COMMENT ‘Is primary’
NOFILENAMECHECK;

9. Configurar servidor secundario (Standby)

9.1. Permitir el recibimiento de archivelog.

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE;

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

Nota: Estas sentencias sirven para dejar abierto stanby y recibir archivelog de produccion.

Se usa 

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

Para cancelar y dejar de recibir archivelog

CONSEJO: Realizar tnsping a producción desde standby y viceversa a ambas instancias para saber que están conectadas
10. Enviar archivelog’s (Switch log file)

Ejecutar en el principal

10.1. Saber numero de transacción en la que se encuentra actualmente

SQL> ALTER SESSION SET nls_date_format=’DD-MON-YYYY HH24:MI:SS';

SQL> SELECT sequence#, first_time, next_time FROM   v$archived_log ORDER BY sequence#;

10.2. Dejar de escribir en archive y enviar a memoria sincronizando con standby

SQL> ALTER SYSTEM SWITCH LOGFILE;

10.3. Validar la transferencia de archive en standby

Ejecutar en el secundario

SQL> ALTER SESSION SET nls_date_format=’DD-MON-YYYY HH24:MI:SS';

SQL> SELECT sequence#, first_time, next_time, applied FROM   v$archived_log ORDER BY sequence#;

Nota: Verificar que el mismo número de secuencia este en ambos y el estado de la transacción sea  applied = YES

11. Convertir servidor secundario a principal (Switchover)

Ejecutar en el principal

CONSEJO: en otra terminal hacer “tail -f”  al alert log para verificar que todo se ejecute normalmente

11.1. Realizar principal servidor secundario

SQL> CONNECT / AS SYSDBA

SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO STANDBY;

SQL> SHUTDOWN IMMEDIATE;

11.2. Montar servidor principal como standby

SQL> STARTUP NOMOUNT;

SQL> ALTER DATABASE MOUNT STANDBY DATABASE;

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;


11.3. Finalizar la administracion de standby como servidor secundario

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH;


12. Hacer permanente servidor secundario principal (Failover)

Ejecutar en el secundario

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH;

SQL> ALTER DATABASE ACTIVATE STANDBY DATABASE;

Nota: Después de ejecutar el failover no se puede regresar atrás

Conclusiones

Después de realizar esta practica usted debe ser capaz de:

– Configurar un servidor de standby ante desastres.
– Conocimientos de hacer una copia de base con duplicate.
– Conocimientos de rman backup.

Elaborado por:
José Fabre
                                                                     Oracle Certified Associate
                     jose.fabre@refundation.com

Instalando Oracle 12c – 12.1.0.1

Posted by josefabre | Posted in Base de Datos, Software Libre, Unix/Linux | Posted on 12-05-2014

1

Guía de Instalación y Manejo de PDB’s
Base de Datos Oracle12c
Versión: 12.1.0.1


 

Índice General

 

 



 

1.       Arquitectura de 12c

 

2.       Datos generales
Sistema Operativo
Oracle Linux Server release 6.4  
Instaladores del software Oracle 12c 

*Para descargar los instaladores se debe crear una cuenta en Oracle http://www.oracle.com/ y descargar los  paquetes de 12.1.0.1 para Linux http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

Una vez los paquetes descargados copiar en la partición o en la partición donde se tenga espacio para instalar la base.

/u01/database/


3.      Instalación Software Oracle
Una vez iniciado el SO abrimos una terminal y ejecutamos la siguiente sentencia.
[oracle@docecdatabase]$ sh /u01/database/runInstaller



 

 

 

Se levanta el Oracle Universal Installer
Nota: Las Primeras dos opciones saltar
Escogemos la opción de instalar solo el software de Oracle
Clic Siguiente.


Seleccionamos la opción de instancia simple de base de datos
Clic Siguiente.



 

 

Idioma: Ingles (En este caso la instalación sera en ingles)
Clic Siguiente.

Escogemos Enterprise Edition ya que solo en Enterprise existe el concepto de multitenant con varias PDBs

Clic Siguiente.

 



La ruta en la que se va instalar
Oracle Base: /u01/app/Oracle
Software Location: /u01/app/Oracle/product/12.1.0/dbhome_1
Clic Siguiente.

 

Privilegios de SYS todo dba
Clic Siguiente.

 



 

Comienza el avance del proceso de  instalación.
Nota: De existir problemas en los pre-requisitos de la instalación tomar en cuenta todos esos inconvenientes y solventarlos ya que eso depende el rendimiento de nuestra base si son paquetes instalar con yum -y <Nombre Paquete>

 

Una vez que termina la instalación del software se debe ejecutar el fichero que indica el asistente de instalación esta acción se debe hacer como root..
Abrimos una terminal nueva.
Nota: Lo que hace estos archivos es cambiar el propietario a los ficheros de oracle.a todas las opciones dejarlas por defecto aplicar con la tecla enter.
[oracle@docecdatabase]$sh /u01/app/oracle/product/12.1.0/dbhome_1/root.sh


4.     
Instalación del Listener
Para la instalación del listener utilizamos el utilitario propio de oracle netca (Net Configuration Assistant)
                Abrimos una terminal y ejecutamos
      [oracle@docec database]$netca
               Seleccionamos configuración de listener
Clic siguiente.

 

             Seleccionamos Agregar un nuevo listener
Clic siguiente.


               Colocamos el nombre del Listener en este caso es LISTENER
Clic siguiente.

 

               Seleccionamos TCP para permitir conexiones de este tipo a la base
Clic siguiente.

 

                Usamos el puerto por defecto 1521
Clic siguiente.


Iniciar (lsnrctl start) o revisar (lsnrctl status) el servicio del Listener ejecutando en la terminal
[oracle@docecdatabase]$lsnrctl status

 

5.       Instalación de CDBs y PDBs
Nota: Realizar  este pasó dos veces para instalar los dos conteiner
Para la instalación de CDBs utilizamos el utilitario dbca (Database Configure Assistant)
Abrimos una termina y ejecutamos
[oracle@docec database]$dbca
               Crear una base de datos
Clic siguiente.

 

               Seleccionamos el modo Avanzado esto nos permite crear más PDBs y un CDB.

Clic siguiente.

 

Base de datos de propósito general o transaccional
Clic siguiente.
Digitamos el nombre del CDB
Global Database Bame: container1.rfcg.com y container2.rfcg.com
Seleccionamos en Crear como una base de datos Container
Seleccionamos en Crear un Container con una o más PDBs
Nota: En la instalación del segundo conteiner seleccionar Crear solo el Container
PDB Name: pdb_1
Clic siguiente.

 

Seleccionar Configurar Enterprise Manager Database Express en este caso no se necesita el Cloud Control
Clic siguiente.

 

Ingresamos la contraseña para SYS y SYSTEMClave: oracle_4UClic siguiente.



Seleccionar el Listener que se configuro anteriormente

Clic siguiente.

 

Tipo de almacenamiento File System Nota:Se puede también instalar en +ASM
Clic siguiente.

 

Tamaño de Memoria 40%

 

Máximo número de procesos: 300  
Clic siguiente.

 

Juego de caracteres: AL32UTF8
Clic siguiente.

 

Clic siguiente.
Seleccionar Crear base de datos
Clic en siguiente.

 

Resumen de la configuración con la que se instalara el CDB y PDB


Avance del Proceso de instalación.

 


6.      Crear una PDB a partir del SEED
Se crea las carpetas para la nueva PDB dentro del container pata los datafile y tempfile para esto abrimos una terminal y ejecutamos.
[oracle@docec ~]$ mkdir –p /u01/app/oracle/oradata/container1/pdb_mktg/DATAFILE
[oracle@docec ~]$ mkdir -p /u01/app/oracle/oradata/container1/pdb_mktg/TEMPFILE
A continuación se digita la sentencia para crear una PDB como base la SEED$PDB
[oracle@docec ~]$. oraenv
ORACLE_SID = [container1] ? container1
[oracle@docec ~]$ sqlplus / as sysdba
SQL> CREATE
PLUGGABLE DATABASE pdb_mktg
ADMIN USER
pdb_mktg_admin IDENTIFIED BY password
DEFAULT TABLESPACE
pdb_mktg_users_tbs
DATAFILE
‘/u01/app/oracle/oradata/container1/pdb_mktg/DATAFILE/pdb_mktg_users_tbs_01.dat’
SIZE 1g
FILE_NAME_CONVERT=(‘/u01/app/oracle/oradata/container1/pdbseed/’,’/u01/app/oracle/oradata/container1/pdb_mktg/’)
STORAGE (MAXSIZE 10g
MAX_SHARED_TEMP_SIZE 10g)
PATH_PREFIX=’/u01/app/oracle/oradata/container1/pdb_mktg/';
7.       Crear una PDB usando CLONE
Se crea las carpetas para la nueva PDB
dentro del container1 pata los datafile y tempfile para esto abrimos una
terminal y ejecutamos.
[oracle@docec ~]$ mkdir –p /u01/app/oracle/oradata/container1/pdb_mktg_dev/DATAFILE
[oracle@docec ~]$ mkdir -p /u01/app/oracle/oradata/container1/pdb_mktg_dev/TEMPFILE
A continuación se digita la sentencia para
crear una PDB usando CLONE
     [oracle@docec pdb_1_dev]$ .oraenv
ORACLE_SID =[container1] ? container1
[oracle@docec ~]$ sqlplus / as sysdba
SQL>ALTER PLUGGABLE DATABASE pdb_mktg OPEN;
SQL>ALTER PLUGGABLE DATABASE pdb_mktg CLOSE IMMEDIATE;
SQL>ALTER PLUGGABLE DATABASE pdb_mktg OPEN READ ONLY;
SQL>CREATE PLUGGABLE DATABASE pdb_mktg_dev
from pdb_mktg
STORAGE (MAXSIZE 15g
MAX_SHARED_TEMP_SIZE 15g)
FILE_NAME_CONVERT=(‘/u01/app/oracle/oradata/container1/pdb_mktg/’,’/u01/app/oracle/oradata/container1/pdb_mktg_dev/’)
 PATH_PREFIX=’/u01/app/oracle/oradata/container1/pdb_mktg_dev/';
8.      Conectar y Desconectar una PDB
[oracle@docec~]$ mkdir -p /u01/app/pdbs
[oracle@docec~]$ chmod ugo+rw /u01/app/pdbs
       [oracle@docec pdb_1_dev]$ .oraenv
       ORACLE_SID =[container1] ? container1
[oracle@docec ~]$sqlplus / as sysdba
SQL> select
host_name,instance_name,version,status from v$instance;
HOST_NAME           INSTANCE_NAME    VERSION        STATUS
—————————————– —————– ————
docec               container1         12.1.0.1.0          OPEN
SQL> @/home/oracle/pdb

CON_ID PDB_NAME     STATUS           OPEN_MODE
———- ———— ———————–
       2 PDB$SEED NORMAL           READ ONLY
       3 PDB_1    NORMAL           READ WRITE
     
SQL> spool /u01/app/pdbs/pdb_1_files.txt
SQL> select name from v$datafile
where con_id=3;
NAME
——————————————————————————————————————————————————————————————————–
/u01/app/oracle/oradata/container1/pdb_1/system01.dbf
/u01/app/oracle/oradata/container1/pdb_1/sysaux01.dbf
/u01/app/oracle/oradata/container1/pdb_1/pdb_1_users01.dbf
SQL> spool off
SQL> alter pluggable database pdb_1
unplug into ‘/u01/app/pdbs/pdb_1.xml';
alter pluggable database pdb_1 unplug
into ‘/u01/app/pdbs/pdb_1.xml’
*
ERROR at line 1:
ORA-65025: Pluggable database PDB_1 is
not closed on all instances.
SQL> alter pluggable database pdb_1
close immediate;
Pluggable database altered.
SQL> @/home/oracle/pdb

CON_ID PDB_NAME     STATUS           OPEN_MODE
———- ———— ———————–
       2 PDB$SEED NORMAL           READ ONLY
       3 PDB_1    NORMAL           MOUNTED
     
SQL> alter pluggable database pdb_1 unplug into ‘/u01/app/pdbs/pdb_1.xml';
Pluggable database altered.
SQL> @/home/oracle/pdb

CON_ID PDB_NAME     STATUS           OPEN_MODE
———- ———— ———————–
       2 PDB$SEED NORMAL           READ ONLY
       3 PDB_1    UNPLUGGED     MOUNTED
     
SQL> alter pluggable database pdb_1
open read write;
alter pluggable database pdb_1 open read
write
*
ERROR at line 1:
ORA-65086: cannot open/close the
pluggable database
SQL> exit
[oracle@docec ~]$ ls -lh /u01/app/pdbs/
total 8.0K
-rw-r–r–. 1 oracle oinstall 1.1K Apr
29 19:40 pdb_1_files.txt
-rw-r–r–. 1 oracle oinstall 4.0K Apr
29 19:43 pdb_1.xml
[oracle@docec ~]$ vim /u01/app/pdbs/pdb_1_files.txt
[oracle@docec pdbs]$ cp /u01/app/oracle/oradata/container1/pdb_1/system01.dbf /u01/app/pdbs/
[oracle@docec pdbs]$ cp /u01/app/oracle/oradata/container1/pdb_1/sysaux01.dbf /u01/app/pdbs/
[oracle@docec pdbs]$ cp /u01/app/oracle/oradata/container1/pdb_1/pdb_1_users01.dbf
/u01/app/pdbs/
Incluir en la copia al temp
[oracle@docecpdbs]$ cp /u01/app/oracle/oradata/container1/pdb_1/temp01.dbf /u01/app/pdbs/
[oracle@docecpdbs]$ ls -lh /u01/app/pdbs/
total 906M
-rw-r–r–. 1 oracle oinstall  645 Apr 29 19:51 pdb_1_files.txt
-rw-r—–. 1 oracle oinstall 5.1M Apr
29 19:59 pdb_1_users01.dbf
-rw-r–r–. 1 oracle oinstall 4.0K Apr
29 19:43 pdb_1.xml
-rw-r—–. 1 oracle oinstall 641M Apr
29 19:59 sysaux01.dbf
-rw-r—–. 1 oracle oinstall 261M Apr
29 19:53 system01.dbf
SQL> exit
[oracle@docec pdb_1_dev]$ . oraenv
ORACLE_SID = [container1] ? container2
[oracle@docec ~]$ sqlplus / as sysdba
SQL> select
host_name,instance_name,version,status from v$instance;
HOST_NAME    INSTANCE_NAME      VERSION       STATUS
—————————————————————-
—————- —————– ————
docec         container2   12.1.0.1.0          OPEN
SQL> create pluggable database
pdb_1_dev AS CLONE using ‘/u01/app/pdbs/pdb_1.xml’  FILE_NAME_CONVERT =
(‘/u01/app/oracle/oradata/container1/pdb_1/’,’/u01/app/oracle/oradata/container2/pdb_1_dev/’);
Pluggable database created.
SQL> @/home/oracle/pdb

CON_ID PDB_NAME     STATUS           OPEN_MODE
———- ———— ———————–
       2 PDB$SEED NORMAL           READ ONLY
       3 PDB_1_DEV      NEW        MOUNTED
SQL> alter pluggable database pdb_1_dev open read write;
Pluggable database altered.
SQL>exit
[oracle@docec pdb_1_dev]$ . oraenv
ORACLE_SID = [container1] ? container1
[oracle@docec ~]$ sqlplus / as sysdba
SQL> @/home/oracle/pdb

CON_ID PDB_NAME     STATUS           OPEN_MODE
———- ———— ———————–
  2     PDB$SEED NORMAL           READ ONLY
  3     PDB_1    UNPLUGGED        MOUNTED
  4     PDB_MKTG NORMAL           READ ONLY
  5     PDB_MKTG_DEV NEW           MOUNTED
SQL> drop pluggable database pdb_1;
Pluggable database dropped.
SQL> @/home/oracle/pdb

CON_ID PDB_NAME     STATUS           OPEN_MODE
———- ———— ———————–
       2 PDB$SEED NORMAL           READ ONLY
       4 PDB_MKTG NORMAL           READ ONLY
       5 PDB_MKTG_DEV NEW           MOUNTED
   CONCLUSIONES

Después de revisar y realizar toda esta práctica usted debe ser capaz de:

Instalar el software de oracle 12c 
Configurar  Container 
Crear Pluggable Dabaste de 3 formas

       – A partir de la PDB SEED
       -Utilizando CLONE
       -Conectar y Desconectar (Unplug and Plug) 
Elaborado por:
José Fabre
                                                                Oracle Certified Associate
                     Jose.fabre@refundation.com
http://oracle-facil.blogspot.com/

¿Instalando EM12c? Asegúrese de descomprimir bien los archivos

Posted by Paola Pullas | Posted in Administración, Base de Datos, Tips, Unix/Linux | Posted on 01-07-2013

Tags: , ,

0

Si se encuentran con el siguiente error:

oracle.sysman.oii.oiii.OiiiInventoryDoesNotExistException: The inventory pointer location /etc/oraInst.loc is either not readable or does not exist
at oracle.sysman.oii.oiii.OiiiInstallAreaControl.initAreaControl
(OiiiInstallAreaControl.java:1858)
at oracle.sysman.oii.oiic.OiicStandardInventorySession.initSession
(OiicStandardInventorySession.java:292)
at oracle.sysman.oii.oiic.OiicStandardInventorySession.initSession
(OiicStandardInventorySession.java:231)
at oracle.sysman.oii.oiic.OiicStandardInventorySession.initSession
(OiicStandardInventorySession.java:180)
at oracle.sysman.install.oneclick.EMGCGetUpgradeableHomes.initInventorySession
(EMGCGetUpgradeableHomes.java:411)
at oracle.sysman.install.oneclick.EMGCGetUpgradeableHomes.getHomes
(EMGCGetUpgradeableHomes.java:117)
at oracle.sysman.install.oneclick.EMGCGetUpgradeableHomes.getInstance
(EMGCGetUpgradeableHomes.java:107)
at oracle.sysman.install.oneclick.EMGCInstallSettingsDlg.m_createupgradeTblSCrollPane
(EMGCInstallSettingsDlg.java:828)
at oracle.sysman.install.oneclick.EMGCInstallSettingsDlg.createMainPanel
(EMGCInstallSettingsDlg.java:252)
at oracle.sysman.install.oneclick.EMGCInstallSettingsDlg.
(EMGCInstallSettingsDlg.java:165)
………

Muy seguramente descomprimieron el instalador en carpetas separadas, o cuando hicieron la descompresión algo no fue bien. Siempre los instaladores deben descomprimirse en la misma carpeta y debes asegurarte que el proceso sea correcto, caso contrario, pasarás horas tratando se resolver un problema que se debe a un mal proceso de descompresión de archivos.

Paola Pullas

Day 2: Creating an Oracle Database 11g

Posted by Paola Pullas | Posted in Base de Datos, Oracle, Refundation, Unix/Linux | Posted on 23-08-2010

Tags: , , , , , ,

472

First ensure that you installed the Oracle Software according the tutorial in http://www.ecuoug.org/?p=264. In this post I show you how to create an Oracle Database.

Listener Creation

When an instance starts, a listener process establishes a communication pathway to Oracle Database. When a user process makes a connection request, the listener determines whether it should use a shared server dispatcher process or a dedicated server process and establishes an appropriate connection.

In order to create a listener open a terminal in your linux box, logged in like oracle user, and call the Net Configuration Assistant with command netca.

I the next screens I will show you step by step the process to create a listener with the next information:

  • Listener Name: LISTENER

  • Protocol: TCP

  • Port: 1521

Continue with the wizard until the Finish button appears, then Click Finish.

Database Creation

After the listener creation I will continue with database creation. Open a terminal in your linux box, logged in like oracle user, and call the Database Configuration Assistant with command dbca.

In the next screen named Welcome click Next.

In the screen 1 of 14 named Operations select Create Database and click Next.

In the screen 2 of 14 named Database Templates select General Purpose and Transaction Processing template and click Next. This template contains a pre-created database, so the database could be created in minutes, as opposed to an hour or more. In case that you require to change some database characteristics like block size you should create a Custom Database because this attribute can’t be changed with templates.

In the screen 3 of 14 named Database Identification fill the text boxes with the Global Database Name and SID and click Next. In this example I will use the next information:

  • Global Database Name: eva.refundation.ec

  • SID eva

In the screen 4 of 14 named Management Options check the options:

  • Configure Enterprise Manager
  • Configure Database Control for local management

Then click Next. I won’t select the other options because these can be configured later.

In the screen 5 of 14 named Database Credentials select the option Use the Same Administrative Password for All Accounts and click Next. In this example I will use this option for easily remember the password but in productions environments we recommend choose a different password for each account:

In the screen 6 of 14 named Storage Options select the option File System and click Next. In this example I will use this option because I don’t the other options configured in my linux box, we recommend evaluate the use of Automatic Storage Management in production environments:

In the screen 7 of 14 named Database File Locations select the option Use Common Location for All Database Files, fill the text box with the desired location, in this case I will use the location $ORACLE_BASE/oradata for this example, and click Next. Don’t remember to evaluate if the other options are valid for your production environment.

In the screen 8 of 14 named Recovery Configuration check the option Specify Flash Recovery Area and click Next. I will use the next information:

  • Flash Recovery Area: {ORACLE_BASE}/flash_recovery_area

  • Flash Recovery Area Size: 2048 (MB)

I won’t check Enable Archiving option because I will configure this option later.

In the screen 9 of 14 named Database Content check the option Sample Schemas and click Next. I recommend not install the sample schemas in production environments:

In the screen 10 of 14 named Initialization Parameters you can configure: Memory, Sizing, Character Sets and Connection Model. In the next screens I will show you the options that I chose for this screen, in all cases I am using the default configuration that can be changed after the database is created. When you finished click Next.

In the screen 11 of 14 named Security Settings I will keep the settings by default and click Next.

In the screen 12 of 14 named Automatic Maintenance Tasks I will keep the settings by default and click Next.

In the screen 13 of 14 named Database Storage you can review the configuration of controlfiles, datafiles, and redo log files. When you finished click Next.

In the screen 14 of 14 named Creation Options check the option Create Database and click Finish.

A confirmation screen will be displayed and you can save this information like an HTML file. When you finished click OK.

If the database is created successfully a new screen will appear showing you the configuration information. When you finished click Exit.

How to Monitor Database from Enterprise Manager Dbconsole

In the next screen I will show you how to review the Enterprise Manager Console service.

While I was developing this post I noticed that the wizard has a bug in the graphical interfaces. There are only 14 screens in the wizard but the firsts screens show you like there are 15 screens :-) .

Author: Paola Pullas
Do you need to buy support?: Contact me at pp@refundation.com

If you think that this tutorial helped you. Make a donation to this initiative. We appreciate your support.





Day 1: Installing Oracle Database 11g on Red Hat Linux 5.1 (32 bits)

Posted by Paola Pullas | Posted in Base de Datos, Refundation, Unix/Linux | Posted on 20-08-2010

Tags: , , , , , ,

42

This guide describes how to install Oracle Database 11g Release 1 on Red Hat Enterprise Linux 5.1.

In order to install Oracle Database in production systems, we recommend to read the official installation guide in http://download.oracle.com/docs/cd/B28359_01/install.111/b32002/toc.htm.

Hardware Requirements

Oracle says that the system must have at least 1GB of RAM and for the swap space you should use the next sizes:

  • If you physical memory is between 1 GB and 2 GB, swap should be 1.5 times the size of RAM.
  • If you physical memory is between 2 GB and 16 GB, swap should be equal to the size of RAM.
  • If you physical memory is more than 16 GB, swap should be 16 GB.

To check the size of physical memory, execute:

grep MemTotal /proc/meminfo

To check the size of swap space, execute:

grep SwapTotal /proc/meminfo

Software Requirements

The next screen show you the list of packages needed to install Oracle Database 11g Release 1. You can find this information in the official installation guide:

Please note that some packages are missing in the previous list. In the next images I show you the configuration of my Red Hat Linux box for your reference. To determine whether the required packages are installed I use a command similar to the following:

# rpm -qa package_name
# rpm -qa binutils* compat-libstdc++* elfutils-libelf* gcc* glibc* libaio* libgcc* libstdc* make* numactl-devel* sysstat*

If a package is not installed, then install it from the Red Hat Linux cd’s or dvd’s, or if you purchased a Red Hat Suscription download the required package version from Red Hat Network in https://rhn.redhat.com.

If you noticed that some packages are not installed in your linux box use rpm -Uvh package_name command to install the packages.

Configure Name Resolution

Verify that the hosts file contains the fully qualified host name. You should have almost two lines in this file, one line with ip and localhost information and another line with your server ip and hostname information.

Creating Required Operating System Groups and Users

The following operating system groups and user are required if you are installing Oracle Database:

The OSDBA group (dba): You must create this group the first time you install Oracle Database software on the system. It identifies operating system user accounts that have database administrative privileges (the SYSDBA privilege).

The OSOPER group (oper): Create this group if you want a separate group of operating system users to have a limited set of database administrative privileges (the SYSOPER privilege). By default, members of the OSDBA group also have the SYSOPER privilege.

The OSASM group (asmadmin): This feature introduces a new SYSASM privilege that is specifically intended for performing Automatic Storage Management administration tasks. Using the SYSASM privilege instead of the SYSDBA privilege provides a clearer division of responsibility between Automatic Storage Management administration and database administration. Members of the OSASM group can connect as SYSASM using operating system authentication and have full access to Automatic Storage Management.

The Oracle Inventory group (oinstall): You must have a group whose members are given access to write to the Oracle Central Inventory (oraInventory).

The oracle user (oracle): The first time you install Oracle software on the system you must create the oracle user. This user owns all of the software installed during the installation. This user must have the Oracle Inventory group as its primary group. It must also have the OSDBA and OSOPER groups as secondary groups.

In the next images I show you how to create the Oracle user, the oinstall group and the dba group. Additionally I assigned the both groups to oracle user:

Identifying Required Software Directories

Create the Oracle base directory for Oracle software installations. In the next images I show you how to create a base directory and how to assign permissions in this directory to the Oracle user:

Optimal Flexible Architecture (OFA)

All Oracle components on the installation media are compliant with Optimal Flexible Architecture, which means that Oracle Universal Installer places Oracle Database components in directory locations that follow Optimal Flexible Architecture guidelines.

For Oracle 11g Database, the OFA recommends that $ORACLE_HOME path should be:

/u01/app/oracle/product/11.1.0/db_1

  • Oracle recommends to use mount points such as /u01, /u02, etc. which complies with the OFA guidelines, but others can be used, for example:

  • /disk1/app/oracle/product/11.1.0/db_1

  • app is a standard directory name:

  • /u01/app/oracle/product/11.1.0/db_1

  • oracle is the name of who owns the Oracle software, so if the user is “paola”, then the path of the $ORACLE_HOME directory should be:

  • /u01/app/paola/product/11.1.0/db_1

  • product is a standard directory name:

  • /u01/app/oracle/product/11.1.0/db_1

  • 11.1.0 is the version of the product that you are installing in your linux box:

  • /u01/app/oracle/product/11.1.0/db_1

  • db_1 is the type of installation that you are doing, for example: db for database, client for client, and so on:

  • /u01/app/oracle/product/11.1.0/db_1

Configure Oracle Installation Owner Shell Limits

To improve the performance of the software, you must increase the following shell limits for the oracle user:

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

Configuring Kernel Parameters

Verify that the kernel parameters are set to values greater than or equal to the minimum value needed by Oracle Software. If the current value for any parameter is higher than the value required, then do not change the value of that parameter. If you want that changes in kernel parameters persist when you restart your server, you should update the sysctl.conf file located in /etc folder:

fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576

Enter the following command to change the current values of the kernel parameters or restart your server in order the changes take effect in the operating system:

# /sbin/sysctl -p

Installing Oracle Software

For the installation, you need either the CD’s, DVD’s or a downloaded version of the Oracle Software that you could find in: http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html.
After you downloaded the software, compute a cyclic redundancy check (CRC) checksum for the downloaded files and compare the checksum numbers against the numbers posted on OTN’s website. For example:

cksum

In order to proceed with the installation you should authenticate in the server like oracle user, and then from the directory where the software was downloaded, open a terminal window and enter the following command:

$ /directory_path/runInstaller

Choose between the Basic and Advanced Installation Method. The first one is the default installation method and permits that you quickly install Oracle Database because this requires minimal user input. The second option lets you complete advanced tasks, for example: select a database character set or different product languages, create a database on a different file system from the software, configure Automatic Storage Management for database storage, specify different passwords for administrative schemas, configure automated backups or Oracle Enterprise Manager notification, etc. Click Next.

This screen is displayed only during the first installation of Oracle products on a system. Specify the full path of the Oracle Inventory directory. Click Next.

Choose between the different installation types: Oracle Standard Edition, Oracle Enterprise Edition, or Custom. The first one, installs an integrated set of management tools, full distribution, replication, Web features, and facilities for building business-critical applications. The second one, installs licensable Oracle Database options and database configuration and management tools in addition to all of the products that are installed during a Standard Edition installation. It also installs products most commonly used for data warehousing and transaction processing. The other one, enables you to select the individual components that you want to install from the list of all available components. Click Next.

Enter the Oracle home name and directory path in which you want to install Oracle components. The directory path should not contain spaces. Click Next.

The screen checks that the system meets the minimum requirements for the installation. Correct any errors that Oracle Universal Installer may have found, and then click Next.

Select one of the following options: Create a database, Configure Automatic Storage Management or Install database software only. The first one lets you create a database. The second one lets you create an Automatic Storage Management instance only. The other one lets you install the database software only. This option does not create a database or configure Automatic Storage Management. Click Next.

In this screen you should specify the operating system groups that you created previously to the installation. Click Next.

Review the information displayed in the screen. Click Next.

This screen displays status information while the product is being installed.

Before to accept this screen, you should read the instructions and run the scripts orainstRoot.sh and root.sh like root user in a separate terminal.

Review the information displayed in the screen. Click Exit.

Configure the environment variables in order to use the Oracle Software, in order to do that you should edit the .bash_profile file located in the $HOME of oracle user.

Author: Paola Pullas
Do you need to buy support?: Contact me at pp@refundation.com

If you think that this tutorial helped you. Make a donation to this initiative. We appreciate your support.





Entrevista a Larry Ellison sobre la adquisición de Sun

Posted by Paola Pullas | Posted in Opinión, Oracle, Software Libre, Unix/Linux | Posted on 23-05-2009

Tags: , , , , , , , ,

0

sun-oracle

Estuve leyendo una entrevista que le hicieron a Larry Ellison el 7 de Mayo, la cual es bastante interesante ya que nos permite conocer cual será el futuro de Sun una vez que se concrete la transacción, sobre todo, en lo referente a los productos de hardware.

A continuación les dejo algunos puntos importantes que se puede resaltar de la entrevista y mis apreciaciones al respecto:

  • ¿Por qué una companía como Oracle con los altos márgenes que percibe de sus productos querría incursionar en el mundo del hardware en donde los márgenes no pueden compararse?

    En este aspecto a mi me llamó mucho la atención y sobre todo muy acertada la respuesta que dio Larry Ellison al entrevistador, esto, ya que justamente habíamos estado comentando de este tema con una persona de mi oficina y llegamos a la misma conclusión. Para Larry Ellison los bajos márgenes en el negocio de hardware se deben a que los negocios no han sido llevados de la manera correcta, y cita como ejemplos de companías exitosas a Apple y Cisco y, ¿cuál es la razón de esto?, que simplemente son companías que trabajan el hardware y software de manera conjunta, lo que a decir de Ellison permite generar mejores productos.

    En mi caso puntual y después de haber probado varios equipos portátiles durante más de 8 años de trabajo vale la pena decir que aunque he tenido equipos muy buenos en cuanto a hardware, simplemente el software nunca se acopló, por ejemplo, a mí no me gusta usar Windows por el costo en horas de mantenimiento que representa, esto es, instalación de programas, formateo, actualización de antivirus, etc., pero tampoco nunca me acoplé 100% a Linux, a pesar de que en los últimos casi 5 años fui usuaria de Ubuntu y fue lo más cercano a estar satisfecha. A pesar de estar experiencias malas y no tan malas con el software de escritorio recientemente adquirí un portable Apple, y después de casi 1 mes de utilizarla definitivamente me di cuenta que con Linux viví limitada ya que muchos componentes que mis portables tenían no podían ser utilizados por falta de drivers en la mayoría de las ocasiones. Ahí es donde concuerdo con Larry Ellison, Apple ha realizado un excelente trabajo y ha hecho que los productos que desarrolla (hardware + software) sean una “experiencia especial” para los usuarios al punto que casi podría asegurar que nunca más volveré a utilizar un equipo portable que no sea de Apple.

    Basándose en esta experiencia la idea de Oracle Corporation sería incursionar en la fabricación del mejor hardware que se adapte a los productos de Oracle de tal manera que esa “experiencia especial” de la que les hablaba al referirme a Apple la tengan también los responsables de los datacenters que tengan software de Oracle corriendo sobre hardware del mismo Oracle, en ésta línea, se notó que Oracle ya tenía expectativas de incurrir en este negocio al desarrollar la Exadata Database Machine la cual Oracle asegura es hasta 10 veces más rápida que si se tuviera corriendo el software de Oracle sobre hardware convencional.

  • En cuanto al desarrollo de chips SPARC, Larry Ellison manifiesta que incrementará la inversión en este tipo de chip, ya que están interesados en desarrollar sus propios chips. Para Ellison, las máquinas SPARC son menos costosas que las máquinas Intel, sobre todo porque asegura que son más eficientes, a pesar de esta declaración hay que recordar que el Exadata Database Machine de Oracle es tecnología HP con microprocesadores Intel y durante la entrevista Larry Ellison aseguró que esto no cambiará, es decir, no se construiría una versión SPARC del Exadata Machine ya que asegura que su relación con HP es excelente y espera que esto continúe así, sin embargo, desde mi punto de vista veamos como se desenvuelven en el futuro las relaciones Oracle – HP, una vez que Oracle interfiera en el mercado de HP con sus intenciones de generar su propio hardware.

  • Para Larry Ellison el principal objetivo que se busca en el desarrollo de sus propios chips es la implementación de características que funcionarán mejor si se lo hace a nivel de hardware tal como lo hace IBM y otros grandes proveedores de sistemas, obviamente con el objetivo de competir con el gigante azul que desde mi punto de vista se convertirá en el rival número 1 de Oracle, esto, en vista de que Oracle ha manifestado su estrecho lazo con HP.

En síntesis, como ustedes podrán apreciar Oracle se va con todo, entre sus intenciones está colocar mayor inversión al desarrollo de SPARC y piensan posicionarse como el proveedor número 1 de máquinas llave en mano (hardware + software) completamente integrales que asegurarán ganar todos las pruebas de rendimiento por encima del hardware convencional. Ahora, estas espectativas que tienen con el hardware no son las únicas, desde mi punto de vista, Oracle también le sacará provecho a Java y MySQL para llegar a clientes impensables para Oracle sobre todo por los elevados costos de sus productos, Java y MySQL le asegurarán a Oracle poder competir con aquellos proveedores que ofertan soluciones de bajo costo para aplicaciones de Internet y pequeños negocios como por ejemplo lo hace Microsoft SQLServer.

Esperemos ahora a ver como se van dando las cosas después de concretarse el proceso de adquisición, por ahora lo único seguro es que Oracle ha decidido potenciar los productos de Sun para su beneficio, tal como lo ha venido haciendo con otras empresas que han sido adquiridas por el gigante rojo.

Autor: Paola Pullas