Actualización de OEM 12cR2 a OEM 12cR3 en Oracle Linux
Enterprise Manager 12c es el producto que ofrece Oracle como solución integrada de gestión de la nube y orientada a los negocios y la empresa, no nada más al manejo de las bases de datos como solía ser en versiones anteriores, hoy en día es un producto tan robusto que te permite manejar todo el ciclo de vida de una aplicación y los costos que conlleva esta.
Pero de igual manera y como todo producto tecnológico, hay que mantenerlo a la vanguardia para que te pueda brindar las ultimas características que ofrece este. Por eso aquí te voy a platicar de cómo hacer una actualización de la versión 12cR2 (12.1.0.2) a 12cR3 (12.1.0.3).
Lo primero que hay que hacer es verificar que estamos en la versión 12cR2, ya que esto nos va a ayudar para poder cumplir los pre-requisitos para nuestra actualización.
oracle@ testhost.dlab.pythian.com [oms] /u01/OracleHomes/Middleware/oms/bin oracle $ ./emctl status oms Oracle Enterprise Manager Cloud Control 12c Release 2 Copyright (c) 1996, 2012 Oracle Corporation. All rights reserved. WebTier is Up Oracle Management Server is Up oracle@testhost.dlab.pythian.com [] /u01/OracleHomes/Middleware/oms/OPatch oracle $ ./opatchlsinventory Oracle Interim Patch Installer version 11.1.0.9.8 Copyright (c) 2012, Oracle Corporation. All rights reserved. Oracle Home : /u01/OracleHomes/Middleware/oms Central Inventory : /u01/app/oraInventory from : /u01/OracleHomes/Middleware/oms/oraInst.loc OPatchversion : 11.1.0.9.8 OUI version : 11.1.0.9.0 Log file location : /u01/OracleHomes/Middleware/oms/cfgtoollogs/opatch/ opatch2013-08-25_14-27-16PM_1.log OPatch detects the Middleware Home as "/u01/OracleHomes/Middleware" Lsinventory Output file location : /u01/OracleHomes/Middleware/oms/cfgtoollogs/opatch/lsinv/ lsinventory2013-08-25_14-27-16PM.txt ---------------------------------------------------------------------------- Installed Top-level Products (1): EM Platform (OMS) 12.1.0.2.0 There are 1 products installed in this Oracle Home. Interim patches (2) : Patch 16720037 : applied on Fri Jul 26 17:04:54 EDT 2013 Unique Patch ID: 16375977 Patch description: "ENTERPRISE MANAGER BASE PLATFORM - OMS 12.1.0.2.3 PSU (GENERIC)" Created on 11 Jul 2013, 07:07:23 hrs PST8PDT Bugs fixed: 13564862, 16026950, 15872430, 13923303, 16295882, 14582201, 14674956 14681479, 14526341, 16007962, 14355479, 13038747, 14812404, 14342208 14762857, 14769075, 14693191, 14672991, 16006811, 14010647, 16236221 14604267, 14473422, 15882400, 16417886, 14580616, 14463440, 14729169 14673451, 15845393, 16290212, 13508023, 14408052, 16595948, 14709740 16184336, 14527469, 14520274, 16384695, 15861782, 15939396, 16339981 14385641, 15943462, 15859144, 14588625, 14508734, 14623310, 14727947 14299157, 10367113, 14685307, 16492405, 10096491, 14646978, 16383091 14285253, 14562085, 14763683, 15955206, 14258259, 14761661, 14673182 14666763, 15875808, 14763575, 14594247, 14745153, 14791323, 14795109 14559710, 14749579, 16092658, 10422783, 14473995, 14508416, 14788062 14270937, 15890511, 14735169, 15830769, 14758235, 13894390, 14235906 14394014, 14182184, 14728061, 14557951, 14293602, 14587045, 14326585 14519924, 14840279, 14791371, 14594990, 16225858, 14480859, 14360903 16244433, 14235923, 14687246, 16060571, 16249001, 14302926, 16399409 16720037, 15928584, 15945297, 14550814, 16173939, 14761108, 13588621 13849711, 14693208, 14763611, 14585884, 14807230, 13550435, 13891094 14521115, 14587300, 14767273, 14397242, 16162621, 14848419, 14477373 13079372, 14223651, 16036046, 14475316, 14380701, 14351499, 14571497 14630733, 14845582, 14543562, 16201338, 14561583, 16204193, 14683668 14846905, 15887936, 14807598, 14473509, 16050320, 14485604, 14563656 15897575, 14636925, 15978947, 14377038, 15964986, 16206258, 16208410 14208766, 14495973, 14461107, 14763632, 16211946, 14675057, 14541496 14804073, 14249715, 13987830, 14032756, 14838874, 14786608, 16194290 14096173, 14306214, 14149721, 14833587, 14793497, 14775943, 14568969 14695367, 14693204, 14356241, 14691873, 14681848, 14794550, 14345046 16264015, 14651399, 14776583, 14304836, 14756522, 14336237, 14697257 14357531, 14571792, 15962488, 14544587, 14728398, 14315126, 14586919 16226201, 16195634, 14685375, 14708698, 14335511, 14777653, 14598372 Patch 13983293 : applied on Wed Jan 30 02:41:15 EST 2013 Unique Patch ID: 14779750 Created on 25 Apr 2012, 02:18:06 hrs PST8PDT Bugs fixed: 13587457, 13425845, 11822929 -------------------------------------------------------------------------------- OPatch succeeded.Como lo mencione arriba , hay que cumplir los prerrequisitos para poder actualizar OEM, y aquí no voy a entrar en todos los detalles de cómo tener todos los prerrequisitos de HW y SW cumplidos, pero si te voy a dar un tip, el 99% de los prerrequisitos se cumplen si tienes en el mismo server tienes instalado la base de datos 11gR2 y se simplifica utilizando el rpm oracle-rdbms-server-11gR2-preinstalldel repositorio yum publico de Oracle. Aunque esta en ingles, aquí te dejo la liga de cómo poder hacerlo.
Aquí te dejo un ejemplo si es que te llega a faltar un paquete, recuerda que estos cambios en el sistema se hacen con el usuario root, todos los demás se hacen con el usuario de instalación, que en general es el usuario oracle:
[root@testhost ~]# yum install setarch el5_addons | 2.9 kB 00:00 ol5_UEK_latest | 2.9 kB 00:00 ol5_latest | 3.5 kB 00:00 Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package setarch.x86_64 0:2.0-1.1 set to be updated --> Finished Dependency Resolution Dependencies Resolved ============================================================== Package Arch Version Repository Size ============================================================== Installing: setarch x86_64 2.0-1.1 ol5_latest 9.7 k Transaction Summary ============================================================== Install 1 Package(s) Upgrade 0 Package(s) Total download size: 9.7 k Is this ok [y/N]: y Downloading Packages: setarch-2.0-1.1.x86_64.rpm | 9.7 kB 00:00 Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing :setarch 1/1 Installed: setarch.x86_64 0:2.0-1.1 Complete!Es importante que una ves que hayas cumplido con todos los prerrequisitos de HW y SW , en mi caso fue súper importante que tuviéramos mas de 800mb en el /tmp ya que estábamos muy limitados de espacio ahí y nos causo problemas al correr los prerrequisitos. De igual manera te recomiendo que leas este documento de MOS (ChecklistforUpgrading Enterprise Manager Cloud Control from Version 12.1.x to 12.1.0.3 1568143.1), ya que esto te permitirá saber si necesitas un parche, que para esta actualización es necesario de aplicar el parche 11061801 a la Base de Datos del repositorio 11.2.0.3 con el ultimo opatch (MOS 6880880).
Así que para aplicar el parche en la base de datos te recomiendo que crees un punto de restauración y cerciorarte que tienes un respaldo válido antes de aplicarlo, así puedes regresar tu base en caso de ser necesario.
SQL> select count(1) from dba_objects where status<>'VALID'; COUNT(1) ---------- 0 SQL> CREATE RESTORE POINT before_patch GUARANTEE FLASHBACK DATABASE; Restorepointcreated.Una vez que creamos estos punto de restauración, hay que detener todos los servicios que le pertenecen al ORACLE_HOME que vas a actualizar y aplicar el parche.
SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> exit oracle@testhost.dlab.pythian.com [repodb] /u04/stage/db_home_patches/11061801 oracle $ lsnrctl stop listener oracle@testhost.dlab.pythian.com [repodb] /u04/stage/db_home_patches/11061801 oracle $ which opatch /u01/OracleHomes/db11g/product/11.2.0/dbhome_1/OPatch/opatch oracle@testhost.dlab.pythian.com [repodb] /u04/stage/db_home_patches/11061801 oracle $ which unzip /usr/bin/unzip oracle@testhost.dlab.pythian.com [repodb] /u04/stage/db_home_patches/11061801 oracle $ opatch apply Oracle Interim Patch Installer version 11.2.0.3.5 Copyright (c) 2013, Oracle Corporation. All rights reserved. oracle@testhost.dlab.pythian.com [repodb] /u04/stage/db_home_patches/11061801 oracle $ opatchlsinventory | grep 11061801 Patch 11061801 : applied on Sat Aug 25 16:03:09 EDT 2013 11061801Una vez que aplicaste el parche a los binario, hay que hacer los pasos post patch.
oracle@testhost.dlab.pythian.com [repodb] /u04/stage/db_home_patches/11061801 oracle $ lsnrctl start listener oracle@testhost.dlab.pythian.com [repodb] /u04/stage/db_home_patches/11061801 oracle $ sqlplus SQL*Plus: Release 11.2.0.3.0 Production on Sat Aug 25 16:05:42 2013 Copyright (c) 1982, 2011, Oracle. All rights reserved. Enter user-name: /as sysdba Connected to an idle instance. SQL> startup SQL> @@?/rdbms/admin/owmctrg.plb SQL> alter trigger wmsys.no_vm_drop_aenable ; Trigger altered. SQL> select count(1) from dba_objects where status<>'VALID'; COUNT(1) ---------- 0Una vez que finalizo en el parche en el repositorio, tenemos que hacer también ciertas verificaciones.
a) Tenemos que cerciorarnos que Oracle DatabaseVault no este habilitado.
select * from V$OPTION where PARAMETER = 'Oracle Database Vault'; PARAMETER ---------------------------------------------------------------- VALUE ---------------------------------------------------------------- Oracle Database Vault FALSEb) Verificar que no existan snapshots en las tablas del repositorio.
SQL> select master ,log_table from all_mview_logs where log_owner='SYSMAN'; no rowsselectedc ) Checar que exista una partición en la tabla MGMT_AUDIT_LOGS para el día que vas a hacer la actualización.
SQL> select object_name, SUBOBJECT_NAME, CREATED fromdba_objects 2 whereobject_name='MGMT_AUDIT_LOGS' and CREATED > sysdate-3; OBJECT_NAME ---------------------------------------- SUBOBJECT_NAME CREATED ------------------------------ --------- MGMT_AUDIT_LOGS 2013-08-26 00:00 25-AUG-13 MGMT_AUDIT_LOGS 2013-08-25 00:00 24-AUG-13 MGMT_AUDIT_LOGS 2013-08-24 00:00 23-AUG-13Asegúrate que los siguientes parámetros en tu base de datos se cumplan, al igual que deshabilitar el job de Oracle que reúne las estadísticas. Si no los tienes así, has la modificación y cuando termine la actualización, regrésalos al valor que tienen.
SQL> SQL> show parameter job_queue_processes NAME TYPE VALUE ------------------------------------ ----------- ----------- job_queue_processes integer 0 SQL> show parameter parallel_max_servers NAME TYPE VALUE ------------------------------------ ----------- ----------- parallel_max_servers integer 8 SQL> exec dbms_scheduler.disable('SYS.GATHER_STATS_JOB');Ahora si regresamos al OMS y necesitamos correr la verificación de los prerrequisitos del OMS desde donde se encuentran los archivos de instalación del OEM12cR3.
[oracle@testhostoms]$ cd /u04/stage/install/requisites/bin/ [oracle@testhost bin]$ ./emprereqkit -executionType upgrade \ > -prerequisiteXMLLoc /u01/OracleHomes/Middleware/oms/install/requisites/list/ \ > -connectString "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=testhost.dlab.pythian.com) (PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=****.oracle.com)))" \ > -dbUser SYS -dbPassword ****** -dbRolesysdba -reposUser SYSMAN -showPrereqs Oracle Enterprise Manager Cloud Control 12c Release 12.1.0.2.0 Copyright (c) 1996, 2010 Oracle Corporation. All rights reserved. Running EMPrereqKit ............ Result of prerequisite list, for scenario upgrade : -------------------------------------------------------------------------------------------------------- Prerequisite Name |Status|Corrective Action Status|Post Corrective Action Status -------------------------------------------------------------------------------------------------------- Check for invalid objects in the | NE | NA | NA | EM repository Check the CBO stats gathering job | NE | NE | NE | Check nls_length_semantics parameter | NE | NA | NA | Check for the EM Target policy | NE | NA | NA | Check for automatic UNDO management | NE | NA | NA | Ensure that the undo tablespace has | NE | NA | NA | at least one dataf Check for a DBA policy on SYSMAN | NE | NA | NA | Check DBA jobs running | NE | NA | NA | Ensure that PK, FK constraints are | NE | NA | NA | not disabled Ensure that all EM AQ queue tables | NE | NA | NA | are enabled for enq Ensure that EM triggers are not disabled | NE | NA | NA | Ensure that the SYSTEM tablespace has at | NE | NA | NA | least one dat Ensure that the EM tablespace has at | NE | NA | NA | least one datafil Ensure that the Oracle partitioningoption | NE | NA | NA | is installe Check remote_login_passwordfile parameter | NE | NA | NA | Check emkey is copied to the repository | NE | NA | NA | Check policies for MGMT_JOB table | NE | NA | NA | Check EM_USER_CONTEXT is present in | NE | NA | NA | the repository Check Abnormalcondition in the Audit | NE | NA | NA | Master Table Check EXEMPT ACCESS POLICY is grants | NE | NA | NA | Check max_enabled_rolesinit parameter | NE | NA | NA | Check executeprivilege on DBMS_RANDOM | NE | NA | NA | Check that no PAF executions are | NE | NA | NA | scheduledor running. Check if all Agents are | NE | NA | NA | securedwithlatest CA Check for the global stalepercent | NE | NA | NA | Check if SYSMAN account is locked | NE | NA | NA | Check if MGMT_VIEW account is locked | NE | NA | NA | Check if ORACLE_OCM account is locked | NE | NA | NA | Check if SYSMAN schema is present | NE | NA | NA | for upgrade Check Policies for MGMT_CORRECTIVE_ACTION | NE | NA | NA | table Check Fine-grainedaccess control option | NE | NA | NA | Check the ConnectorConfigTable | NE | NA | NA | Check ifSnapshotlogs are created on | NE | NA | NA | EM tables Check ifrequired DBMS packages are valid | NE | NA | NA | Check the existence of currentavailability| NE | NA | NA | indexes Check if SYSMAN_OPSS account is locked | NE | NA | NA | Check optimizersql plan baseline capture. | NE | NA | NA | Check iftemporarytablespace group | NE | NA | NA | TEMP exist Checksif GVM Performance collection | NE | NE | NA | job is running. Check execution_dbcolumn for | NE | NA | NA | constraintviolations. Check the processes instance | NE | NA | NA | parameter value Check the memory_target instance | NE | NA | NA | parameter value. Check the workarea_size_policy instance | NE | NA | NA | parameter valu Check the session_cached_cursors | NE | NA | NA | instance parameter va Check the job_queue_processes instance | NE | NE | NE | parameter value Check the open_cursors instance | NE | NA | NA | parameter value. Check the log_buffer instance | NE | NA | NA | parameter value. Check the shared_pool_size instance | NE | NA | NA | parameter value. Check the db_cache_size instance | NE | NA | NA | parameter value. Check the large_pool_size instance | NE | NA | NA | parameter value. Check the java_pool_size instance | NE | NA | NA | parameter value. Check the streams_pool_size instance | NE | NA | NA | parameter value. Check the timed_statistics instance | NE | NA | NA | parameter value. Check the statistics_level instance | NE | NA | NA | parameter value. Check the redo log size. | NE | NA | NA | Check the compatible instance | NE | NA | NA | parameter value. -------------------------------------------------------------------------------------------------------- NE = Not Executed NA = Not Applicable --------------------------------------------------------------------------------------------------------Si llegaras a encontrar alguna discrepancia, aquí seria el momento de corregirla, antes de correr tu actualización .
Lo que sigue, es que tenemos que copiar el emkey de OMS existente en el repositorio de gestión actual y confirmar que se copió.
[oracle@testhostoms]$ cd /u01/OracleHomes/Middleware/oms/bin [oracle@testhost bin]$./emctlconfigemkey -copy_to_repos -sysman_pwd ****** [oracle@testhost bin]$./emctl status emkey -sysman_pwd ****** Nota. Para la verificación, veras un aviso similar a este: The EM Key iscofiguredproperly, but is not secure. Secure the EMKeyby running "emctlconfigemkey -remove_from_repos".Aunque el instalador lo hace, te recomiendo que detengas OMS y el agente para la actualización :
[oracle@testhostoms]$ cd /u01/OracleHomes/Middleware/oms/bin [oracle@testhost bin]$./emctl stop oms [oracle@testhost bin]$ cd /u01/OracleHomes/agent/core/12.1.0.2.0/bin [oracle@testhost bin]$./emctl stop agentPara poder correr la actualización de manera silenciosa, construí el siguiente archivo de tipo response (upgrade.rsp). Aquí también te dejo la liga, para que puedas verificar que hace cada uno de los parámetros :
RESPONSEFILE_VERSION=2.2.1.0.0 UNIX_GROUP_NAME="oinstall" INVENTORY_LOCATION="/u01/app/oraInventory" SECURITY_UPDATES_VIA_MYORACLESUPPORT=true DECLINE_SECURITY_UPDATES=false MYORACLESUPPORT_USERNAME="your_mos_email@email.com" MYORACLESUPPORT_PASSWORD="your_mos_password" INSTALL_UPDATES_SELECTION="skip" STAGE_LOCATION=Te recomiendo que el siguiente comando lo corras desde una sesión de VNC, ya que se tarda cerca de 2 horas en correr, y si llegaras a perder tu conexión en el proceso, te complicarías las cosas.MYORACLESUPPORT_USERNAME_FOR_SOFTWAREUPDATES= MYORACLESUPPORT_PASSWORD_FOR_SOFTWAREUPDATES= ORACLE_MIDDLEWARE_HOME_LOCATION="/u04/OracleHomes/Middleware" ORACLE_INSTANCE_HOME_LOCATION= OLD_BASE_DIR="/u01/OracleHomes" ONE_SYSTEM=true SYS_PASSWORD="Welcome1" SYSMAN_PASSWORD="Welcome1" REPOSITORY_BACKUP_DONE=true b_upgrade=true EM_INSTALL_TYPE="NOSEED" FROM_LOCATION="../oms/Disk1/stage/products.xml" TOPLEVEL_COMPONENT={"oracle.sysman.top.oms","12.1.0.3.0"}
[oracle@testhostoms]$ cd /u04/stage/ [oracle@testhost stage]$./runInstaller -silent -responseFile /u04/stage/response/upgrade.rspPara poder verificar, como esta corriendo tu actualización, te recomiendo que vayas al directorio del inventario, ya ahí puedes hacer un tail.
[oracle@testhostlogs]$ pwd /u01/app/oraInventory/logs [oracle@testhostlogs]$ tail -f silentInstall2013-08-25_07-34-11-PM.logSi ya terminó el upgrade, nada más hay que correr el script allroot.sh desde la nueva locación del OMS 12cR3, esto es con el usuario root, no con el usuario oracle.
[root@testhostoms]$ pwd /u04/OracleHomes/oms/ [root@testhostoms]$ ./allroot.shAhora que terminó la actualización, podemos verificar que nuestro OMS está en la versión 12cR3.
[oracle@testhost bin]$ cd /u04/OracleHomes/oms/bin [oracle@testhost bin]$ ./emctl status oms Oracle Enterprise Manager Cloud Control 12c Release 3 Copyright (c) 1996, 2013 Oracle Corporation. All rights reserved. WebTier is Up Oracle Management Server is UpAunque ya terminamos con la actualización de nuestro OMS, no hemos terminado con toda la actualización porque necesitamos actualizar a nuestro(s) agente(s)
Para el agente del servidor OMS, hay que levantarlo primero :
[oracle@testhost bin]$ cd /u01/OracleHomes/agent/core/12.1.0.2.0/bin [oracle@testhost bin]$./emctl start agentAsegúrate de igual manera que el agente esté seguro, o sea que sea https la dirección y no http, si no es así, corre el comando.
[oracle@testhost bin]$./emctlstatusagent .. Agent URL :https://testhost.dlab.pythian.com:3872/emd/main/ Repository URL :https://testhost.dlab.pythian.com:4900/empbs/upload .. [oracle@testhostbin]$./emctlsecureagentYa para finalizar, vamos a nuestro OEM recién actualizado y lo único que tienes que confirmar es que los agentes que vayas a actualizar no se encuentren en la sección de “NotUpgradableAgents”.
Setup-> Manage Cloud Control -> Upgrade Agents -> Submit
Cuando termine, podrás ver los siguiente:
[oracle@testhost bin]$ ./emctl status agent Oracle Enterprise Manager Cloud Control 12c Release 3 Copyright (c) 1996, 2013 Oracle Corporation. All rights reserved. --------------------------------------------------------------- Agent Version : 12.1.0.3.0 OMS Version : 12.1.0.3.0 Protocol Version : 12.1.0.1.0 Agent Home : /u01/OracleHomes/agent/agent_inst AgentBinaries : /u01/OracleHomes/agent/core/12.1.0.3.0 Agent Process ID : 6381 Parent Process ID : 6323 Agent URL : https://testhost.dlab.pythian.com:3872/emd/main/ Repository URL : https://testhost.dlab.pythian.com:4900/empbs/upload Started at : 2013-09-01 00:07:35 Startedbyuser : oracle LastReload : (none) Lastsuccessfulupload : 2013-09-01 00:08:08 Lastattemptedupload : 2013-09-01 00:08:08 Total Megabytes of XML files uploaded so far : 0.01 Number of XML files pendingupload : 24 Size of XML files pendingupload(MB) : 0.05 Available disk space on uploadfilesystem : 8.55% Collection Status :Collectionsenabled Heartbeat Status : Ok Lastattemptedheartbeat to OMS : 2013-09-01 00:08:05 Lastsuccessfulheartbeat to OMS : 2013-09-01 00:08:05 Nextscheduledheartbeat to OMS : 2013-09-01 00:09:06 --------------------------------------------------------------- Agent is Running and ReadyConclusión
Como puedes ver, el proceso es largo y a la mejor un poco complejo, por eso te recomiendo que antes de empezar tengas un respaldo de tu OMS_HOME,AGENT_HOME y de tu base de datos repositorio. De igual manera , la documentación oficial siempre va a tener los pasos actualizados, así que antes de que te aventures, te recomiendo que los leas para tener una actualización exitosa.
No hay comentarios:
Publicar un comentario