{"id":1936,"date":"2018-05-01T21:05:09","date_gmt":"2018-05-01T19:05:09","guid":{"rendered":"http:\/\/clemente.pamplona.name\/dba\/?p=1936"},"modified":"2018-08-31T11:58:24","modified_gmt":"2018-08-31T09:58:24","slug":"version-del-parcheado-de-la-base-de-datos","status":"publish","type":"post","link":"http:\/\/clemente.pamplona.name\/dba\/version-del-parcheado-de-la-base-de-datos\/","title":{"rendered":"Version del parcheado de la base de datos"},"content":{"rendered":"<p>Hoy vamos a ver otra de estas entradas para dummies utiles en el dia a dia.<br \/>\nComo sabemos  en que version de parcheado nos encontramos?<\/p>\n<p>La primera opcion y mas sencilla es la del uso del binario del sistema operativo <i> opatch<\/i>, pero , como podemos estar seguros de que el parche\/psu se ha ejecutado correctamente y se ha aplicado tambien la parte SQL <\/p>\n<h1>Oracle 11g <\/h1>\n<p>Si estamos en la version 11g deberemos de hacerlo consultando la tabla del diccionario  sys.registry$history <\/p>\n<pre>\r\nSET LINESIZE 180 PAGESIZE 90 \r\nCOLUMN FECHA FORMAT A18\r\nCOLUMN action FORMAT A20\r\nCOLUMN version FORMAT A10\r\nCOLUMN comments FORMAT A30\r\nCOLUMN bundle_series FORMAT A10\r\nSELECT TO_CHAR(action_time, 'YYYY-MM-DD HH24:MI') AS FECHA,\r\n       action,\r\n       namespace,\r\n       version,\r\n       comments,\r\n       bundle_series\r\nFROM   sys.registry$history\r\nORDER by action_time;\r\n<\/pre>\n<p>Lo que nos devolvera algo similar a :<\/p>\n<pre>\r\nFECHA              ACTION               NAMESPACE            VERSION    COMMENTS                       BUNDLE_SER\r\n------------------ -------------------- -------------------- ---------- ------------------------------ ----------\r\n07-JAN-2017 15:21  APPLY                SERVER               11.2.0.3   PSU 11.2.0.3.15                PSU\r\n01-DEC-2017 18:59  UPGRADE              SERVER               11.2.0.4.0 Upgraded from 11.2.0.3.0\r\n01-DEC-2017 19:00  APPLY                SERVER               11.2.0.4   PSU 11.2.0.4.171017            PSU\r\n<\/pre>\n<h1> Oracle 12c <\/h1>\n<p>Cuando estamos en la version 12c, tendremos dos maneras de encontrar esta informacion:<\/p>\n<h2> Preguntando a DBA_REGISTRY_SQLPATCH <\/h2>\n<p>La consulta sera muy similar a la anterior, pero en ved de preguntar a el dicionario <i>sys.registry$history<\/i>, lo haremos a la tabla <i>DBA_REGISTRY_SQLPATCH<\/i><\/p>\n<pre>\r\n\r\n\r\nSET LINESIZE 180 PAGESIZE 90 \r\nCOLUMN FECHA FORMAT A20\r\nCOLUMN action FORMAT A10\r\nCOLUMN status FORMAT A20\r\nCOLUMN description FORMAT A90\r\nCOLUMN version FORMAT A10\r\nCOLUMN bundle_series FORMAT A10\r\nSELECT TO_CHAR(action_time, 'YYYY-MM-DD HH24:MI:SS') AS action_time,\r\n       action,\r\n       status,\r\n       description,\r\n       version,\r\n       patch_id,\r\n       bundle_series\r\nFROM   sys.dba_registry_sqlpatch\r\nORDER by action_time;\r\n<\/pre>\n<p>Lo que nos devolvera algo similar a <\/p>\n<pre>\r\nACTION_TIME          ACTION     STATUS     DESCRIPTION                              VERSION      PATCH_ID BUNDLE_SER\r\n-------------------- ---------- ---------- ---------------------------------------- ---------- ---------- ----------\r\n07-MAR-2018 21:37:51 APPLY      SUCCESS    Database Patch Set Update : 12.1.0.2.4  12.1.0.2     20831110 PSU\r\n                                         (20831110)\r\n<\/pre>\n<h2> Mediante el package dbms_qopatch <\/h2>\n<p>En la version 12c tenemos el nuevo <i>datapatch <\/i> en los parcheados, la informacion de los parches de la base de datos esta tambien accesible con el package <i>dbms_qopatch<\/i>.<br \/>\nEsto ya lo vimos en la entrada <a href=\"http:\/\/clemente.pamplona.name\/dba\/obtener-los-parches-instalados-en-la-base-de-datos-cbd\/\" rel=\"noopener\" target=\"_blank\">Obtener los parches instalados en la base de datos CDB <\/a> que venia a decir :<\/p>\n<pre> \r\n set serverout on\r\nexec dbms_qopatch.get_sqlpatch_status;\r\n<\/pre>\n<p>Lo que nos devuelve <\/p>\n<pre>\r\nPatch Id : 25171037\r\n        Action : APPLY\r\n        Action Time : 14-JUN-2017 23:09:33\r\n        Description : DATABASE PATCH SET UPDATE 12.1.0.2.170418\r\n        Logfile :\r\n\/u01\/app\/oracle\/cfgtoollogs\/sqlpatch\/25171037\/21099266\/25171037_apply_SID_2017Jun14_23_09_20.log\r\n        Status : SUCCESS\r\nPL\/SQL procedure successfully completed.\r\n<\/pre>\n<p>Sobre el uso de dbms_qopatch tenemos la URL hay una URL <a href=\"https:\/\/blogs.oracle.com\/upgrade\/how-to-find-out-if-a-psu-has-been-applied-dbmsqopatch\" rel=\"noopener\" target=\"_blank\">Como saber si un parche esta aplicado en la BBDD <\/a>  que tiene consultas  muy utiles para obtener informacion de la base de datos (inventario,paches&#8230;) <\/p>\n<p>Esta informacion ha sido obtenido en su totalidad de las URLS:<\/p>\n<ul>\n<li><a href=\"https:\/\/blogs.oracle.com\/upgrade\/dbaregistryhistory-vs-dbaregistrysqlpatch\" rel=\"noopener\" target=\"_blank\">DBA_REGISTRY_HISTORY vs DBA_REGISTRY_SQLPATCH<\/a>\n<p><a href=\"http:\/\/clemente.pamplona.name\/dba\/que-version-tengo-de-oracle\/\" rel=\"noopener\" target=\"_blank\">Que version tengo de la base de datos<\/a>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Hoy vamos a ver otra de estas entradas para dummies utiles en el dia a dia. Como sabemos en que version de parcheado nos encontramos? La primera opcion y mas sencilla es la del uso del binario del sistema operativo &hellip; <a href=\"http:\/\/clemente.pamplona.name\/dba\/version-del-parcheado-de-la-base-de-datos\/\">Sigue leyendo <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,60,9],"tags":[249,254,917,919,766,248,772,266,840,83],"class_list":["post-1936","post","type-post","status-publish","format-standard","hentry","category-11g","category-12c","category-dummie","tag-11g","tag-12c","tag-dba_registry_history","tag-dba_registry_sqlpatch","tag-dbms_qopatch","tag-dummie","tag-parcheado","tag-patching","tag-psu","tag-version"],"_links":{"self":[{"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/posts\/1936","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/comments?post=1936"}],"version-history":[{"count":7,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/posts\/1936\/revisions"}],"predecessor-version":[{"id":1952,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/posts\/1936\/revisions\/1952"}],"wp:attachment":[{"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/media?parent=1936"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/categories?post=1936"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/clemente.pamplona.name\/dba\/wp-json\/wp\/v2\/tags?post=1936"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}