ORAMON el otro Background
Técnologia, investigación y metodología
Friday, January 11, 2013
Como cambiar el UUID de un Disco Virtual en VirtualBox
Cuando necesitamos clonar una VM en VirtualBox, nos ha ocurrido que copiamos los discos virtuales directamente a un nuevo directorio y creamos una nueva máquina a partir de la configurada originalmente; Pero cuando asignamos los discos clonados manualmente, nos entrega el siguiente error
¿Qué es el UUID?
Para el Hipervisor existen dos UUID. Uno para referenciar a la Máquina Virtual y el otro para referenciar a los discos virtuales. En este caso nos referimos al UUID de cada disco, ya que la problemática se origina al copiar manualmente los discos y asignarlos a una nueva Máquina Virtual; pero estos UUID están siendo referenciados por la Máquina original y es ahí donde se presenta el problema.
Como podemos observar, dentro de la configuración de la Máquina Virtual, se hace referencia al UUIDs de los discos en el parámetro HardDisk_uuid:
Este cambio se debe realizar con el comando de sistemas llamado VBoxManage internalcommands sethduuid y se debe referenciar la ruta completa con el nombre del disco que se requiere modificar el UUID. En este caso, tengo dos discos llamados disk2_1.vmdk y disk2_2.vmdk:
Ahora ejecutamos el comando para cambiar el UUID de ambos discos:
Como podemos observar, al agregar los discos a la controladora, no se generan los problemas presentados anteriormente:
Y como siempre...
VIVA LINUX!!!
Alberto Silva Gallardo.
Etiquetas:
Virtualbox
Thursday, January 10, 2013
Instalando Solaris 11 en VirtualBox - EN CONSTRUCCION
Estoy trabajando en un proyecto de implementacion de Solaris VM sobre virtualbox. Para esto voy a presentar aspectos prácticos y básicos de la instalación para ir avanzando hasta llegar a la configuracion de Infraestructura de Grid, ASM y finalmente un servidor Standalone de Base de Datos.
Etiquetas:
Oracle Solaris,
Virtualbox
Tuesday, October 18, 2011
Como borrar las Alertas de Oracle Enterprise Manager
Hace un tiempo estaba revisando un Grid Control que tenía alertas reportadas desde hace mucho (más de 3 años), la cual depuraré sin misericordia…Jajajajaja.
Estas alertas jamás podrían ser eliminadas ya que, si bien tienen un estado "limpio"; pero se encuentran dentro del umbral crítico definido para esta alerta; por lo tanto, nunca seran eliminadas por el agente. De esta manera se puede aplicar este WorkAround, el cual obviamente Oracle no publica nada al respecto y tampoco soporta como procedimiento oficial.
Esto funciona así:
El procedimiento bajo el esquema SYSMAN llamado em_severity.delete_current_severity posee 3 variables de entrada llamadas:
P_TARGET_GUID
P_METRIC_GUID
P_KEY_VALUE
Los valores son rescatadas por la consulta ejecutada a la tabla sysman.mgmt_targets, para luego armar un script dinámico que permita "fumigar" de una vez estas alertas que siempre quedan dando vuelta.
Además, para asegurar que la alerta que será eliminada corresponde al día y hora señalada, se recomienda cambiar la configuración del parámetro NLS_DATE_FORMAT para obtener un resultado más detallado:
alter session set NLS_DATE_FORMAT='DD-MM-YYYY HH24:MI:SS';
select t.target_name
, collection_timestamp
, message
, 'Ejecutar Comando bajo la cuenta SYSMAN :'||'exec em_severity.delete_current_severity(''' ||
t.target_guid || ''',''' ||
metric_guid || ''',''' ||
key_value || ''')' em_severity
from mgmt_targets t
inner join
mgmt_current_severity s
on
t.target_guid = s.target_guid
where
target_name like '&SERVIDOR_ALERTADO'
Resultado
JUDAS1
05-04-2009 17:35:23
Metrics "Global Cache Average CR Get Time" is at 2.29141
Ejecutar Comando bajo la cuenta SYSMAN:
exec em_severity.delete_current_severity('5E0A6DF17A248B926C8A33C034123EE9','97C89AFFEE006CBA603A30604D5A4A00',' ')
Luego verificar que las alertas sean eliminadas desde Grid Control -> bajar al final en el Link Alertas -> navegar al Tab Crítica!!!
Y como siempre...
VIVA LINUX!!!
Alberto Silva Gallardo.
Estas alertas jamás podrían ser eliminadas ya que, si bien tienen un estado "limpio"; pero se encuentran dentro del umbral crítico definido para esta alerta; por lo tanto, nunca seran eliminadas por el agente. De esta manera se puede aplicar este WorkAround, el cual obviamente Oracle no publica nada al respecto y tampoco soporta como procedimiento oficial.
Esto funciona así:
El procedimiento bajo el esquema SYSMAN llamado em_severity.delete_current_severity posee 3 variables de entrada llamadas:
P_TARGET_GUID
P_METRIC_GUID
P_KEY_VALUE
Los valores son rescatadas por la consulta ejecutada a la tabla sysman.mgmt_targets, para luego armar un script dinámico que permita "fumigar" de una vez estas alertas que siempre quedan dando vuelta.
Además, para asegurar que la alerta que será eliminada corresponde al día y hora señalada, se recomienda cambiar la configuración del parámetro NLS_DATE_FORMAT para obtener un resultado más detallado:
alter session set NLS_DATE_FORMAT='DD-MM-YYYY HH24:MI:SS';
select t.target_name
, collection_timestamp
, message
, 'Ejecutar Comando bajo la cuenta SYSMAN :'||'exec em_severity.delete_current_severity(''' ||
t.target_guid || ''',''' ||
metric_guid || ''',''' ||
key_value || ''')' em_severity
from mgmt_targets t
inner join
mgmt_current_severity s
on
t.target_guid = s.target_guid
where
target_name like '&SERVIDOR_ALERTADO'
Resultado
JUDAS1
05-04-2009 17:35:23
Metrics "Global Cache Average CR Get Time" is at 2.29141
Ejecutar Comando bajo la cuenta SYSMAN:
exec em_severity.delete_current_severity('5E0A6DF17A248B926C8A33C034123EE9','97C89AFFEE006CBA603A30604D5A4A00',' ')
Luego verificar que las alertas sean eliminadas desde Grid Control -> bajar al final en el Link Alertas -> navegar al Tab Crítica!!!
Y como siempre...
VIVA LINUX!!!
Alberto Silva Gallardo.
Etiquetas:
Alertas,
em_severity,
Grid Control
Friday, September 23, 2011
Método para exportar particiones con el API Data Pump
Con el siguiente procedimiento PL/SQL es posible exportar una partición y utilizar todas las ventajas que nos ofrece siempre la programación.
La idea es exportar una partición que tiene un tamaño de 1,5GB desde una tabla. Este procedimiento es muy útil y es muy efectivo. En algún momento trabajare en el método para Importar particiones, ahora si hay algún "amigo" que pueda aportar con el Import siempre será bienvenido por compartir lo que sabe globalmente.
Procedimiento para export particiones
DECLARE
l_dp_handle NUMBER;
BEGIN
l_dp_handle := DBMS_DATAPUMP.open(
operation => 'EXPORT',
job_mode => 'TABLE',
remote_link => NULL,
job_name => 'JOB_EXPORTA_PARTICION',
version => 'LATEST');
DBMS_DATAPUMP.add_file(
handle => l_dp_handle,
filename => 'test_part1.dmp',
directory => 'EXP');
DBMS_DATAPUMP.add_file(
handle => l_dp_handle,
filename => 'test_part1.log',
directory => 'EXP',
filetype => DBMS_DATAPUMP.KU$_FILE_TYPE_LOG_FILE);
Los siguientes parámetros son los encargados de filtrar la metadata que necesitamos exportar:
DBMS_DATAPUMP.metadata_filter(
handle => l_dp_handle,
name => 'SCHEMA_LIST',
value => '''PEPITO''');
DBMS_DATAPUMP.metadata_filter(
handle => l_dp_handle,
name => 'NAME_LIST',
value => '''TABLA_TRANSACCIONES''');
Las comillas simples alrededor del nombre de la partición (que se duplica es requerido por PL / SQL)
DBMS_DATAPUMP.data_filter(
handle => l_dp_handle,
name => 'PARTITION_LIST',
value => '''PARTICION_TABLA_TRANSACCIONES''',
table_name => ' TABLA_TRANSACCIONES ',
schema_name => 'PEPITO');
DBMS_DATAPUMP.start_job(l_dp_handle);
DBMS_DATAPUMP.detach(l_dp_handle);
END;
/
LOGS DataPump
Starting "SYS"."TABLA_TRANSACCIONES":
Estimate in progress using BLOCKS method...
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 1.5 GB
Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type TABLE_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
Processing object type TABLE_EXPORT/TABLE/INDEX/INDEX
Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type TABLE_EXPORT/TABLE/AUDIT_OBJ
Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . exported "PEPITO"."TBL_TRX_TRANSACCIONES":"PARTICION_TABLA_TRANSACCIONES" 1.371 GB 4289848 rows
Master table "SYS"."TABLA_TRANSACCIONES" successfully loaded/unloaded
******************************************************************************
Dump file set for SYS.TABLA_TRANSACCIONES is:
/archive/exp/test_part1.dmp
Job "SYS"."TABLA_TRANSACCIONES" successfully completed at 10:33:01
En el Sistema Operativo
test_part1.log
test_part1.dmp
!!!!!Para Monitorear el progreso del proceso Export!!!!!
set lines 120
col opname for a25 trunc
col username for a15 trunc
col target for a20
col sid for 999999
col serial# for 999999
col %DONE for a8
select b.username,a.sid,b.opname,b.target,round(b.SOFAR*100 / b.TOTALWORK,0) || ‘%’ as “%DONE”,
b.TIME_REMAINING,to_char(b.start_time,’YYYY/MM/DD HH24:MI:SS’) START_TIME
from V$SESSION_LONGOPS b,V$SESSION a where a.sid=b.sid and TIME_REMAINING 0 order by b.SOFAR/b.TOTALWORK;
VIVA LINUX!!!!
Alberto Silva Gallardo
La idea es exportar una partición que tiene un tamaño de 1,5GB desde una tabla. Este procedimiento es muy útil y es muy efectivo. En algún momento trabajare en el método para Importar particiones, ahora si hay algún "amigo" que pueda aportar con el Import siempre será bienvenido por compartir lo que sabe globalmente.
Procedimiento para export particiones
DECLARE
l_dp_handle NUMBER;
BEGIN
l_dp_handle := DBMS_DATAPUMP.open(
operation => 'EXPORT',
job_mode => 'TABLE',
remote_link => NULL,
job_name => 'JOB_EXPORTA_PARTICION',
version => 'LATEST');
DBMS_DATAPUMP.add_file(
handle => l_dp_handle,
filename => 'test_part1.dmp',
directory => 'EXP');
DBMS_DATAPUMP.add_file(
handle => l_dp_handle,
filename => 'test_part1.log',
directory => 'EXP',
filetype => DBMS_DATAPUMP.KU$_FILE_TYPE_LOG_FILE);
Los siguientes parámetros son los encargados de filtrar la metadata que necesitamos exportar:
DBMS_DATAPUMP.metadata_filter(
handle => l_dp_handle,
name => 'SCHEMA_LIST',
value => '''PEPITO''');
DBMS_DATAPUMP.metadata_filter(
handle => l_dp_handle,
name => 'NAME_LIST',
value => '''TABLA_TRANSACCIONES''');
Las comillas simples alrededor del nombre de la partición (que se duplica es requerido por PL / SQL)
DBMS_DATAPUMP.data_filter(
handle => l_dp_handle,
name => 'PARTITION_LIST',
value => '''PARTICION_TABLA_TRANSACCIONES''',
table_name => ' TABLA_TRANSACCIONES ',
schema_name => 'PEPITO');
DBMS_DATAPUMP.start_job(l_dp_handle);
DBMS_DATAPUMP.detach(l_dp_handle);
END;
/
LOGS DataPump
Starting "SYS"."TABLA_TRANSACCIONES":
Estimate in progress using BLOCKS method...
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 1.5 GB
Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type TABLE_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
Processing object type TABLE_EXPORT/TABLE/INDEX/INDEX
Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type TABLE_EXPORT/TABLE/AUDIT_OBJ
Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . exported "PEPITO"."TBL_TRX_TRANSACCIONES":"PARTICION_TABLA_TRANSACCIONES" 1.371 GB 4289848 rows
Master table "SYS"."TABLA_TRANSACCIONES" successfully loaded/unloaded
******************************************************************************
Dump file set for SYS.TABLA_TRANSACCIONES is:
/archive/exp/test_part1.dmp
Job "SYS"."TABLA_TRANSACCIONES" successfully completed at 10:33:01
En el Sistema Operativo
test_part1.log
test_part1.dmp
!!!!!Para Monitorear el progreso del proceso Export!!!!!
set lines 120
col opname for a25 trunc
col username for a15 trunc
col target for a20
col sid for 999999
col serial# for 999999
col %DONE for a8
select b.username,a.sid,b.opname,b.target,round(b.SOFAR*100 / b.TOTALWORK,0) || ‘%’ as “%DONE”,
b.TIME_REMAINING,to_char(b.start_time,’YYYY/MM/DD HH24:MI:SS’) START_TIME
from V$SESSION_LONGOPS b,V$SESSION a where a.sid=b.sid and TIME_REMAINING 0 order by b.SOFAR/b.TOTALWORK;
VIVA LINUX!!!!
Alberto Silva Gallardo
Como mover un indice de tipo LOB a un tablespace diferente
Muchas veces se necesita realizar la tarea de mover índices a otros tablespaces debido a la ganancia en el balanceo de carga (I/O) y la ganancia que esto produce cuando no tenemos una base de datos por ejemplo configurada con ASM o en versiones antiguas de base de datos como Oracle8i y Oracle9i.
La sintaxis para mover un índice de un tablespace a otro se realiza de la siguiente manera:
alter index OWNER.INDEX_NAME rebuild tablespace TABLESPACE_DE_DESTINO;
Para calcular cuánto espacio se necesita disponible para mover este segmento de tipo índice, se puede utilizar la siguiente consulta:
select sum(bytes)/1024/1024 "Tamaño_en_MB"
from dba_extents
where segment_name ='INDEX_NAME';
Para los índices de tipo LOB que están asociados a una columna de la tabla, la cual fue creada con este tipo de segmento es necesario utilizar la siguiente consulta para determinar que índice debemos mover:
select 'alter table '||owner||'.'||table_name||' move '||chr(10)|| 'LOB ('||column_name||') store as '||'(tablespace TABLESPACE_DE_DESTINO);'
from dba_lobs
where owner ='ESQUEMA_A_MOVER';
Output:
alter table OWNER.TABLE_NAME move lob (COLUMNA_DE_TIPO_LOB) store as (tablespace TABLESPACE_DE_DESTINO);
Si no es utilizado este método para mover el índice de tipo LOB al nuevo tablespace, Oracle nos entrega el siguiente error:
ORA-02327: cannot create index on expression with datatype LOB
VIVA LINUX!!!!
Alberto Silva Gallardo.
La sintaxis para mover un índice de un tablespace a otro se realiza de la siguiente manera:
alter index OWNER.INDEX_NAME rebuild tablespace TABLESPACE_DE_DESTINO;
Para calcular cuánto espacio se necesita disponible para mover este segmento de tipo índice, se puede utilizar la siguiente consulta:
select sum(bytes)/1024/1024 "Tamaño_en_MB"
from dba_extents
where segment_name ='INDEX_NAME';
Para los índices de tipo LOB que están asociados a una columna de la tabla, la cual fue creada con este tipo de segmento es necesario utilizar la siguiente consulta para determinar que índice debemos mover:
select 'alter table '||owner||'.'||table_name||' move '||chr(10)|| 'LOB ('||column_name||') store as '||'(tablespace TABLESPACE_DE_DESTINO);'
from dba_lobs
where owner ='ESQUEMA_A_MOVER';
Output:
alter table OWNER.TABLE_NAME move lob (COLUMNA_DE_TIPO_LOB) store as (tablespace TABLESPACE_DE_DESTINO);
Si no es utilizado este método para mover el índice de tipo LOB al nuevo tablespace, Oracle nos entrega el siguiente error:
ORA-02327: cannot create index on expression with datatype LOB
VIVA LINUX!!!!
Alberto Silva Gallardo.
Monday, March 07, 2011
VM Console error VncViewer.class not found
Hace un tiempo estoy trabajando en el mundo de la vitalización, revisando e investigando las mejores formas de optimizar la plataforma con respecto a la velocidad, tiempo que lleva realizar un Deploy de sistemas ya existentes y la unificación de sistemas físicos para ser llevados a una arquitectura virtual. Básicamente en este caso ya previa configuración de Oracle VM Manager y Oracle VM Server, se me ha presentado un problema al momento de iniciar la consola VNC desde el browser para tener acceso al sistema operativo. Más adelante publicare una nota donde hablare de la implementación, sizing y consideraciones de la plataforma Oracle VM. Obviamente, es en base a la experiencia y lecturas que he realizado este último tiempo.
Aquí va el primer problema:
cargar: clase VncViewer.class no encontrada.
Output Error:
cargar: clase VncViewer.class no encontrada.
java.lang.ClassNotFoundException: VncViewer.class
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: open HTTP connection failed:https://172.1.1.35:4443/OVS/faces/app/VncViewer/class.class
at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
... 9 more
Excepción: java.lang.ClassNotFoundException: VncViewer.class
Solución:
Efectivamente como prerrequisito en el servidor de Oracle VM Manager debe tener instalados ciertos programas para arrancar en VNC desde una consola Web. Estos packages de sistema operativo se pueden bajar directamente desde el siguiente Link:
http://oss.oracle.com/oraclevm/manager/RPMS/
Para Plaformas Linux de 64bit:
ovm-console-1.0.0-2.x86_64.rpm
Para Plaformas Linux de 32bit:
ovm-console-1.0.0-2.i386.rpm
El package tightvnc-java también es un prerrequisito y se utiliza el mismo para plaformas de 32bit o 64bit.
tightvnc-java-1.3.9-3.noarch.rpm
Método de instalación:
Ambos packages deben ser instalados en el servidor que está configurado con Oracle VM Manager. Esta máquina controla completamente el ambiente virtual y a cada Oracle VM Server configurado y que es parte de un "Server Pool".
Configurando el paquete ovm-console-1.0.0-2

Configurando el paquete tightvnc-java

Una vez, realizada la configuración de los packages no es necesario reiniciar el servidor con Oracle VM Manager, permitiendo entrar nuevamente a la consola:

Espero les sirva este WorkAround!!!!!!
Saludos.
Viva Linux.
Alberto Silva Gallardo
Aquí va el primer problema:
cargar: clase VncViewer.class no encontrada.
Output Error:
cargar: clase VncViewer.class no encontrada.
java.lang.ClassNotFoundException: VncViewer.class
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: open HTTP connection failed:https://172.1.1.35:4443/OVS/faces/app/VncViewer/class.class
at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
... 9 more
Excepción: java.lang.ClassNotFoundException: VncViewer.class
Solución:
Efectivamente como prerrequisito en el servidor de Oracle VM Manager debe tener instalados ciertos programas para arrancar en VNC desde una consola Web. Estos packages de sistema operativo se pueden bajar directamente desde el siguiente Link:
http://oss.oracle.com/oraclevm/manager/RPMS/
Para Plaformas Linux de 64bit:
ovm-console-1.0.0-2.x86_64.rpm
Para Plaformas Linux de 32bit:
ovm-console-1.0.0-2.i386.rpm
El package tightvnc-java también es un prerrequisito y se utiliza el mismo para plaformas de 32bit o 64bit.
tightvnc-java-1.3.9-3.noarch.rpm
Método de instalación:
Ambos packages deben ser instalados en el servidor que está configurado con Oracle VM Manager. Esta máquina controla completamente el ambiente virtual y a cada Oracle VM Server configurado y que es parte de un "Server Pool".
Configurando el paquete ovm-console-1.0.0-2
Configurando el paquete tightvnc-java
Una vez, realizada la configuración de los packages no es necesario reiniciar el servidor con Oracle VM Manager, permitiendo entrar nuevamente a la consola:

Espero les sirva este WorkAround!!!!!!
Saludos.
Viva Linux.
Alberto Silva Gallardo
Etiquetas:
Oracle VM,
Oracle VM Server,
VncViewer
Monday, January 10, 2011
Como eliminar el repositorio de Oracle Enterprise Manager 11gR1
A veces estamos complicados por la instalación y configuración del repositorio de Oracle Enterprise Manager (10.2.0.5 o 11gR1) y la verdad que no basta con solo eliminar los binarios, también es importante eliminar el repositorio que ha sido creado en la base de datos existente.
Para recrear el repositorio de OEM, una alternativa que pueden utilizar es eliminar el usuario SYSMAN y SYSMAN_MDS del repositorio.
Vamos a explicar cada uno de los argumentos que el utilitario RepManager utiliza para la eliminación del repositorio:
$/sysman/admin/emdrep/bin/RepManager
1.-
Hostname donde reside el servidor de base de datos.
2.-
Puerto donde escucha el proceso listener.
3.-
SID = Oracle System ID, utilizado para identificar una base de datos en el sistema.
4.- -dbUser sys
Usuario dueño del diccionario de Datos.
5.- -dbPassword
Clave del usuario sys
6.- -dbRole sysdba
7.- -reposName sysman
Nombre de esquema dueño del repositorio de Enterprise Manager
8.- -reposPassword
Clave del usuario sysman
9.- -action dropall
El argumento "-action dropall" va a eliminar completamente el repositorio de Oracle Enterprise manager, eliminado los principales usuarios llamados SYSMAN y SYSMAN_MDS.
Existen más opciones:
CREATE, UPDATE, TRANSX, RESUME, DROP
10.- -mwHome
Directorio donde se encuentran los Home's de varios productos como por ejemplo: Agent11g, oms11g,wlserver entre otros.
11.- -mwOraHome
Directorio Instalación de Oracle Weblogic 10.3.2
12.- -oracleHome
Directorio donde se encuentra instalado el oms11g
Ejecutando RepManager:
$ORACLE_HOME/sysman/admin/emdrep/bin/RepManager oraroots 1521 reproots -action dropall -dbUser sys -dbPassword xxx?xxx -dbRole sysdba
-mwHome /oracle/app/middleware -mwOraHome /oracle/app/middleware/wlserver_10.3 -oracleHome /oracle/app/middleware/oms11g
OUTPUT:
processing arguments
compiling arguments for validation
Enter password for: sys
done checking required user credentials...
done creating arguments...
creating logger..
Connection exception in action logger path calculated: /oracle/app/middleware/oms11g/sysman/log/schemamanager/
action logger path calculated: /oracle/app/middleware/oms11g/sysman/log/schemamanager/
action logger path calculated finally: /oracle/app/middleware/oms11g/sysman/log/schemamanager/
no action logger file name from previous session
action logger filename after search: emschema.log
action logger filename finally: emschema.log
filename: /oracle/app/middleware/oms11g/sysman/log/schemamanager/emschema.log
newly created: /oracle/app/middleware/oms11g/sysman/log/schemamanager/emschema.log
Driver: oracle.jdbc.driver.OracleDriver
jdbcUrl = jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(Host=oraroots)(Port=1521)))(CONNECT_DATA=(SID=reproots)))
action to perform is: drop
action is non-transx - RCU based action
action logger path calculated finally: /oracle/app/middleware/oms11g/sysman/log/schemamanager/m_111810_0914_AM/m_111810_0914_AM.DROP/
action logger path calculated finally: /oracle/app/middleware/oms11g/sysman/log/schemamanager/m_111810_0914_AM/m_111810_0914_AM.DROP/
action logger filename finally: emschema.log.DROP
filename: /oracle/app/middleware/oms11g/sysman/log/schemamanager/m_111810_0914_AM/m_111810_0914_AM.DROP/emschema.log.DROP
already exists: /oracle/app/middleware/oms11g/sysman/log/schemamanager/m_111810_0914_AM/m_111810_0914_AM.DROP/emschema.log.DROP
action logger path calculated finally: /oracle/app/middleware/oms11g/sysman/log/schemamanager/m_111810_0914_AM/m_111810_0914_AM.DROP/
process_id:7ylvziv43e9i
Still Running...
Processing command line ....
Repository Creation Utility - Checking Prerequisites
Checking Global Prerequisites
Still Running...
Still Running...
Repository Creation Utility - Checking Prerequisites
Checking Component Prerequisites
Repository Creation Utility - Drop
Repository Drop in progress.
Still Running...
Percent Complete: 9
Still Running...
Still Running...
Percent Complete: 45
Percent Complete: 49
Still Running...
Percent Complete: 100
Repository Creation Utility: Drop - Completion Summary
Database details:
Connect Descriptor : (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(Host=oraroots)(Port=1521)))(CONNECT_DATA=(SID=reproots)))
Connected As : sys
Prefix for (prefixable) Schema Owners : DEFAULT_PREFIX
RCU Logfile : /oracle/app/middleware/oms11g/sysman/log/schemamanager/m_111810_0914_AM/m_111810_0914_AM.DROP/rcu.log
Component schemas dropped:
Component Status Logfile
EM Repository Drop Success /oracle/app/middleware/oms11g/sysman/log/schemamanager/m_111810_0914_AM/m_111810_0914_AM.DROP/em_repos_drop.log
Repository Creation Utility - Drop : Operation Completed
Completed...
exiting the thread...
[Initializing the EM RCU Runner, Running the Schema Action, Schema Action Completed Successfully]
action logger path calculated finally: /oracle/app/middleware/oms11g/sysman/log/schemamanager/m_111810_0914_AM/m_111810_0914_AM.DROP/
drop mds schema...
Enter DBA Password
Processing command line ....
Repository Creation Utility - Checking Prerequisites
Checking Global Prerequisites
Repository Creation Utility - Checking Prerequisites
Checking Component Prerequisites
Repository Creation Utility - Drop
Repository Drop in progress.
Percent Complete: 9
Percent Complete: 9
Percent Complete: 18
Percent Complete: 47
Percent Complete: 100
Repository Creation Utility: Drop - Completion Summary
Database details:
Connect Descriptor : (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(Host=oraroots)(Port=1521)))(CONNECT_DATA=(SID=reproots)))
Connected As : sys
Prefix for (prefixable) Schema Owners : SYSMAN
RCU Logfile : /oracle/app/middleware/oms11g/emmds.log
Component schemas dropped:
Component Status Logfile
Metadata Services Success /oracle/app/middleware/oms11g/mds.log
Saludos,
Alberto Silva Gallardo.
Viva Linux!!!!!
Para recrear el repositorio de OEM, una alternativa que pueden utilizar es eliminar el usuario SYSMAN y SYSMAN_MDS del repositorio.
Vamos a explicar cada uno de los argumentos que el utilitario RepManager utiliza para la eliminación del repositorio:
$
1.-
Hostname donde reside el servidor de base de datos.
2.-
Puerto donde escucha el proceso listener.
3.-
SID = Oracle System ID, utilizado para identificar una base de datos en el sistema.
4.- -dbUser sys
Usuario dueño del diccionario de Datos.
5.- -dbPassword
Clave del usuario sys
6.- -dbRole sysdba
7.- -reposName sysman
Nombre de esquema dueño del repositorio de Enterprise Manager
8.- -reposPassword
Clave del usuario sysman
9.- -action dropall
El argumento "-action dropall" va a eliminar completamente el repositorio de Oracle Enterprise manager, eliminado los principales usuarios llamados SYSMAN y SYSMAN_MDS.
Existen más opciones:
CREATE, UPDATE, TRANSX, RESUME, DROP
10.- -mwHome
Directorio donde se encuentran los Home's de varios productos como por ejemplo: Agent11g, oms11g,wlserver entre otros.
11.- -mwOraHome
Directorio Instalación de Oracle Weblogic 10.3.2
12.- -oracleHome
Directorio donde se encuentra instalado el oms11g
Ejecutando RepManager:
$ORACLE_HOME/sysman/admin/emdrep/bin/RepManager oraroots 1521 reproots -action dropall -dbUser sys -dbPassword xxx?xxx -dbRole sysdba
-mwHome /oracle/app/middleware -mwOraHome /oracle/app/middleware/wlserver_10.3 -oracleHome /oracle/app/middleware/oms11g
OUTPUT:
processing arguments
compiling arguments for validation
Enter password for: sys
done checking required user credentials...
done creating arguments...
creating logger..
Connection exception in action logger path calculated: /oracle/app/middleware/oms11g/sysman/log/schemamanager/
action logger path calculated: /oracle/app/middleware/oms11g/sysman/log/schemamanager/
action logger path calculated finally: /oracle/app/middleware/oms11g/sysman/log/schemamanager/
no action logger file name from previous session
action logger filename after search: emschema.log
action logger filename finally: emschema.log
filename: /oracle/app/middleware/oms11g/sysman/log/schemamanager/emschema.log
newly created: /oracle/app/middleware/oms11g/sysman/log/schemamanager/emschema.log
Driver: oracle.jdbc.driver.OracleDriver
jdbcUrl = jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(Host=oraroots)(Port=1521)))(CONNECT_DATA=(SID=reproots)))
action to perform is: drop
action is non-transx - RCU based action
action logger path calculated finally: /oracle/app/middleware/oms11g/sysman/log/schemamanager/m_111810_0914_AM/m_111810_0914_AM.DROP/
action logger path calculated finally: /oracle/app/middleware/oms11g/sysman/log/schemamanager/m_111810_0914_AM/m_111810_0914_AM.DROP/
action logger filename finally: emschema.log.DROP
filename: /oracle/app/middleware/oms11g/sysman/log/schemamanager/m_111810_0914_AM/m_111810_0914_AM.DROP/emschema.log.DROP
already exists: /oracle/app/middleware/oms11g/sysman/log/schemamanager/m_111810_0914_AM/m_111810_0914_AM.DROP/emschema.log.DROP
action logger path calculated finally: /oracle/app/middleware/oms11g/sysman/log/schemamanager/m_111810_0914_AM/m_111810_0914_AM.DROP/
process_id:7ylvziv43e9i
Still Running...
Processing command line ....
Repository Creation Utility - Checking Prerequisites
Checking Global Prerequisites
Still Running...
Still Running...
Repository Creation Utility - Checking Prerequisites
Checking Component Prerequisites
Repository Creation Utility - Drop
Repository Drop in progress.
Still Running...
Percent Complete: 9
Still Running...
Still Running...
Percent Complete: 45
Percent Complete: 49
Still Running...
Percent Complete: 100
Repository Creation Utility: Drop - Completion Summary
Database details:
Connect Descriptor : (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(Host=oraroots)(Port=1521)))(CONNECT_DATA=(SID=reproots)))
Connected As : sys
Prefix for (prefixable) Schema Owners : DEFAULT_PREFIX
RCU Logfile : /oracle/app/middleware/oms11g/sysman/log/schemamanager/m_111810_0914_AM/m_111810_0914_AM.DROP/rcu.log
Component schemas dropped:
Component Status Logfile
EM Repository Drop Success /oracle/app/middleware/oms11g/sysman/log/schemamanager/m_111810_0914_AM/m_111810_0914_AM.DROP/em_repos_drop.log
Repository Creation Utility - Drop : Operation Completed
Completed...
exiting the thread...
[Initializing the EM RCU Runner, Running the Schema Action, Schema Action Completed Successfully]
action logger path calculated finally: /oracle/app/middleware/oms11g/sysman/log/schemamanager/m_111810_0914_AM/m_111810_0914_AM.DROP/
drop mds schema...
Enter DBA Password
Processing command line ....
Repository Creation Utility - Checking Prerequisites
Checking Global Prerequisites
Repository Creation Utility - Checking Prerequisites
Checking Component Prerequisites
Repository Creation Utility - Drop
Repository Drop in progress.
Percent Complete: 9
Percent Complete: 9
Percent Complete: 18
Percent Complete: 47
Percent Complete: 100
Repository Creation Utility: Drop - Completion Summary
Database details:
Connect Descriptor : (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(Host=oraroots)(Port=1521)))(CONNECT_DATA=(SID=reproots)))
Connected As : sys
Prefix for (prefixable) Schema Owners : SYSMAN
RCU Logfile : /oracle/app/middleware/oms11g/emmds.log
Component schemas dropped:
Component Status Logfile
Metadata Services Success /oracle/app/middleware/oms11g/mds.log
Saludos,
Alberto Silva Gallardo.
Viva Linux!!!!!
Etiquetas:
Grid Control,
WebLogic Server
Friday, December 10, 2010
Patching - Oracle Weblogic 10.3.2 para Grid Control 11gR1
Smart Update bsu es un utilitario que permite instalar parches al software de Weblogic. Existen varias opciones que nos pueden ayudar a determinar si están instalados los parches, removerlos entre otras cosas.
Aquí algunos de los parámetros y argumentos más importantes de bsu:

Como Instalar el Patch Set WDJ7
1.- Abrir un Service Request en Metalink para solicitar el Patch Set WDJ7, ya que se esta instalando y configurando Oracle Enterprise Manager 11gR1.
2.- Instalar Oracle Web Logic 10.3.2
3.- Aplicando el Patch Set con BSU
Acceder al directorio:
oracle@vmlinux01[dbrepos]:/u01/oracle/app/product/oracle/MDW01/utils/bsu$
cd cache_dir/
Copiar el Patch Set WDJ7.zip en el siguiente directorio:
oracle@vmlinux01[dbrepos]:/u01/oracle/app/product/oracle/MDW01/utils/bsu/cache_dir$
Descomprimir el archivo con unzip:
unzip WDJ7.zip
oracle@vmlinux01[dbrepos]:/u01/oracle/app/product/oracle/MDW01/utils/bsu/cache_dir/WDJ7$
$ ls -tlr
-rw-r--r-- 1 oracle oinstall 9917387 Dic 07 2010 patch-catalog.xml
-rw-r--r-- 1 oracle oinstall 131678 Dic 07 2010 prod-info.xml
-rw-r--r-- 1 oracle oinstall 4904 Dic 07 2010 XLXA.jar
-rw-r--r-- 1 oracle oinstall 3652 Dic 07 2010 NIXN.jar
-rw-r--r-- 1 oracle oinstall 8683 Dic 07 2010 4D53.jar
-rw-r--r-- 1 oracle oinstall 387 Dic 07 2010 WDJ7.jar
Ejecutando vía comandos el instalador bsu con las siguientes opciones:
-prod_dir: BEA_HOME donde se encuentra instalado el Weblogic Server, en este caso corresponde al directorio:
/u01/oracle/app/product/oracle/MDW01/wlserver_10.3
-patchlist: Nombre del Patch Set o lista de parches a instalar. En este caso colocamos WDJ7
-verbose: Muestra detalles de cada parche instalado.
-install patch_download_dir: Directorio donde se encuentra el Parch Set o parches a instalar. En este caso se descomprime el archivo WDJ7.zip en el directorio :
/u01/oracle/app/product/oracle/MDW01/utils/bsu/cache_dir/
ejecutando la shell bsu.sh
oracle@vmlinux01[dbrepos]:/u01/oracle/app/product/oracle/MDW01/utils/bsu$ ./bsu.sh -prod_dir=/u01/oracle/app/product/oracle/MDW01/wlserver_10.3 -patchlist=WDJ7 -verbose -install patch_download_dir=/u01/oracle/app/product/oracle/MDW01/utils/bsu/cache_dir/WDJ7
Checking for conflicts..
No conflict(s) detected
Installing Patch Set ID: WDJ7
Starting installation of Patch ID: XLXA
Installing /u01/oracle/app/product/oracle/MDW01/utils/bsu/cache_dir/WDJ7/XLXA.jar
Extracting /u01/oracle/app/product/oracle/MDW01/patch_wls1032/patch_jars/Bug9221722_1032.jar
Updating /u01/oracle/app/product/oracle/MDW01/patch_wls1032/profiles/default/sys_manifest_classpath/weblogic_patch.jar
Old manifest value: Class-Path=
New manifest value: Class-Path=../../../patch_jars/Bug9221722_1032.jar
Result: Success
Starting installation of Patch ID: 4D53
Installing /u01/oracle/app/product/oracle/MDW01/utils/bsu/cache_dir/WDJ7/4D53.jar
Extracting /u01/oracle/app/product/oracle/MDW01/patch_wls1032/patch_jars/Bug9100465_1032.jar
Updating /u01/oracle/app/product/oracle/MDW01/patch_wls1032/profiles/default/sys_manifest_classpath/weblogic_patch.jar
Old manifest value: Class-Path=../../../patch_jars/Bug9221722_1032.jar
New manifest value: Class-Path=../../../patch_jars/Bug9100465_1032.jar ../../../patch_jars/Bug9221722_1032.jar
Result: Success
Starting installation of Patch ID: NIXN
Installing /u01/oracle/app/product/oracle/MDW01/utils/bsu/cache_dir/WDJ7/NIXN.jar
Extracting /u01/oracle/app/product/oracle/MDW01/patch_wls1032/patch_jars/bug8990616_1032.jar
Updating /u01/oracle/app/product/oracle/MDW01/patch_wls1032/profiles/default/sys_manifest_classpath/weblogic_patch.jar
Old manifest value: Class-Path=../../../patch_jars/Bug9100465_1032.jar ../../../patch_jars/Bug9221722_1032.jar
New manifest value: Class-Path=../../../patch_jars/bug8990616_1032.jar ../../../patch_jars/Bug9100465_1032.jar ../../../patch_jars/Bug9221722_1032.jar
Result: Success
Como verificar el estado de los parches instalados con bsu
bsu.sh -view -status=applied -prod_dir=/u01/oracle/app/product/oracle/MDW0/wlserver_10.3
ProductName: WebLogic Server
ProductVersion: 10.3 MP2
Components: WebLogic Server/Core Application Server,WebLogic Server/Admi
nistration Console,WebLogic Server/Configuration Wizard and
Upgrade Framework,WebLogic Server/Web 2.0 HTTP Pub-Sub Serve
r,WebLogic Server/WebLogic SCA,WebLogic Server/WebLogic JDBC
Drivers,WebLogic Server/Third Party JDBC Drivers,WebLogic S
erver/WebLogic Server Clients,WebLogic Server/WebLogic Web S
erver Plugins,WebLogic Server/UDDI and Xquery Support,WebLog
ic Server/Workshop Code Completion Support
BEAHome: /u01/oracle/app/product/oracle/MDW01
ProductHome: /u01/oracle/app/product/oracle/MDW01/wlserver_10.3
PatchSystemDir: /u01/oracle/app/product/oracle/MDW01/utils/bsu
PatchDir: /u01/oracle/app/product/oracle/MDW01/patch_wls1032
Profile: Default
DownloadDir: /u01/oracle/app/product/oracle/MDW01/utils/bsu/cache_dir/WDJ7
JavaVersion: 1.6.0_14
JavaVendor: Sun
Patch Set ID: WDJ7 (9438213)
Patch ID: XLXA (9221722)
Patch ID: 4D53 (9100465)
Patch ID: NIXN (BUG8990616)
Hasta aquí, se ha revisado completamente el método de parchado de Oracle WebLogic para ser configurado con Oracle Enterprise Manager 11gR1.
Viva Linux!!!
Saludos,
Albero Silva Gallardo.
Aquí algunos de los parámetros y argumentos más importantes de bsu:
Como Instalar el Patch Set WDJ7
1.- Abrir un Service Request en Metalink para solicitar el Patch Set WDJ7, ya que se esta instalando y configurando Oracle Enterprise Manager 11gR1.
2.- Instalar Oracle Web Logic 10.3.2
3.- Aplicando el Patch Set con BSU
Acceder al directorio:
oracle@vmlinux01[dbrepos]:/u01/oracle/app/product/oracle/MDW01/utils/bsu$
cd cache_dir/
Copiar el Patch Set WDJ7.zip en el siguiente directorio:
oracle@vmlinux01[dbrepos]:/u01/oracle/app/product/oracle/MDW01/utils/bsu/cache_dir$
Descomprimir el archivo con unzip:
unzip WDJ7.zip
oracle@vmlinux01[dbrepos]:/u01/oracle/app/product/oracle/MDW01/utils/bsu/cache_dir/WDJ7$
$ ls -tlr
-rw-r--r-- 1 oracle oinstall 9917387 Dic 07 2010 patch-catalog.xml
-rw-r--r-- 1 oracle oinstall 131678 Dic 07 2010 prod-info.xml
-rw-r--r-- 1 oracle oinstall 4904 Dic 07 2010 XLXA.jar
-rw-r--r-- 1 oracle oinstall 3652 Dic 07 2010 NIXN.jar
-rw-r--r-- 1 oracle oinstall 8683 Dic 07 2010 4D53.jar
-rw-r--r-- 1 oracle oinstall 387 Dic 07 2010 WDJ7.jar
Ejecutando vía comandos el instalador bsu con las siguientes opciones:
-prod_dir: BEA_HOME donde se encuentra instalado el Weblogic Server, en este caso corresponde al directorio:
/u01/oracle/app/product/oracle/MDW01/wlserver_10.3
-patchlist: Nombre del Patch Set o lista de parches a instalar. En este caso colocamos WDJ7
-verbose: Muestra detalles de cada parche instalado.
-install patch_download_dir: Directorio donde se encuentra el Parch Set o parches a instalar. En este caso se descomprime el archivo WDJ7.zip en el directorio :
/u01/oracle/app/product/oracle/MDW01/utils/bsu/cache_dir/
ejecutando la shell bsu.sh
oracle@vmlinux01[dbrepos]:/u01/oracle/app/product/oracle/MDW01/utils/bsu$ ./bsu.sh -prod_dir=/u01/oracle/app/product/oracle/MDW01/wlserver_10.3 -patchlist=WDJ7 -verbose -install patch_download_dir=/u01/oracle/app/product/oracle/MDW01/utils/bsu/cache_dir/WDJ7
Checking for conflicts..
No conflict(s) detected
Installing Patch Set ID: WDJ7
Starting installation of Patch ID: XLXA
Installing /u01/oracle/app/product/oracle/MDW01/utils/bsu/cache_dir/WDJ7/XLXA.jar
Extracting /u01/oracle/app/product/oracle/MDW01/patch_wls1032/patch_jars/Bug9221722_1032.jar
Updating /u01/oracle/app/product/oracle/MDW01/patch_wls1032/profiles/default/sys_manifest_classpath/weblogic_patch.jar
Old manifest value: Class-Path=
New manifest value: Class-Path=../../../patch_jars/Bug9221722_1032.jar
Result: Success
Starting installation of Patch ID: 4D53
Installing /u01/oracle/app/product/oracle/MDW01/utils/bsu/cache_dir/WDJ7/4D53.jar
Extracting /u01/oracle/app/product/oracle/MDW01/patch_wls1032/patch_jars/Bug9100465_1032.jar
Updating /u01/oracle/app/product/oracle/MDW01/patch_wls1032/profiles/default/sys_manifest_classpath/weblogic_patch.jar
Old manifest value: Class-Path=../../../patch_jars/Bug9221722_1032.jar
New manifest value: Class-Path=../../../patch_jars/Bug9100465_1032.jar ../../../patch_jars/Bug9221722_1032.jar
Result: Success
Starting installation of Patch ID: NIXN
Installing /u01/oracle/app/product/oracle/MDW01/utils/bsu/cache_dir/WDJ7/NIXN.jar
Extracting /u01/oracle/app/product/oracle/MDW01/patch_wls1032/patch_jars/bug8990616_1032.jar
Updating /u01/oracle/app/product/oracle/MDW01/patch_wls1032/profiles/default/sys_manifest_classpath/weblogic_patch.jar
Old manifest value: Class-Path=../../../patch_jars/Bug9100465_1032.jar ../../../patch_jars/Bug9221722_1032.jar
New manifest value: Class-Path=../../../patch_jars/bug8990616_1032.jar ../../../patch_jars/Bug9100465_1032.jar ../../../patch_jars/Bug9221722_1032.jar
Result: Success
Como verificar el estado de los parches instalados con bsu
bsu.sh -view -status=applied -prod_dir=/u01/oracle/app/product/oracle/MDW0/wlserver_10.3
ProductName: WebLogic Server
ProductVersion: 10.3 MP2
Components: WebLogic Server/Core Application Server,WebLogic Server/Admi
nistration Console,WebLogic Server/Configuration Wizard and
Upgrade Framework,WebLogic Server/Web 2.0 HTTP Pub-Sub Serve
r,WebLogic Server/WebLogic SCA,WebLogic Server/WebLogic JDBC
Drivers,WebLogic Server/Third Party JDBC Drivers,WebLogic S
erver/WebLogic Server Clients,WebLogic Server/WebLogic Web S
erver Plugins,WebLogic Server/UDDI and Xquery Support,WebLog
ic Server/Workshop Code Completion Support
BEAHome: /u01/oracle/app/product/oracle/MDW01
ProductHome: /u01/oracle/app/product/oracle/MDW01/wlserver_10.3
PatchSystemDir: /u01/oracle/app/product/oracle/MDW01/utils/bsu
PatchDir: /u01/oracle/app/product/oracle/MDW01/patch_wls1032
Profile: Default
DownloadDir: /u01/oracle/app/product/oracle/MDW01/utils/bsu/cache_dir/WDJ7
JavaVersion: 1.6.0_14
JavaVendor: Sun
Patch Set ID: WDJ7 (9438213)
Patch ID: XLXA (9221722)
Patch ID: 4D53 (9100465)
Patch ID: NIXN (BUG8990616)
Hasta aquí, se ha revisado completamente el método de parchado de Oracle WebLogic para ser configurado con Oracle Enterprise Manager 11gR1.
Viva Linux!!!
Saludos,
Albero Silva Gallardo.
Etiquetas:
BSU,
Grid Control,
Patching,
WDJ7,
WebLogic Server
Subscribe to:
Posts (Atom)















