{"id":2027,"date":"2021-01-21T17:50:38","date_gmt":"2021-01-21T17:50:38","guid":{"rendered":"https:\/\/swiv.com.br\/the-oui-inventory\/"},"modified":"2026-05-27T20:02:53","modified_gmt":"2026-05-27T19:02:53","slug":"the-oui-inventory","status":"publish","type":"post","link":"https:\/\/swiv.com.br\/index.php\/2021\/01\/21\/the-oui-inventory\/","title":{"rendered":"The OUI Inventory"},"content":{"rendered":"\n<p>O OUI (Oracle Universal Installer) \u00e9 respons\u00e1vel por criar um conjunto de arquivos XMLs que armazenam informa\u00e7\u00f5es sobre todos os produtos Oracle instalados no ambiente, com detalhes sobre os Homes hospedados e por exemplo se os mesmos possuem algum patch aplicado. Devido a sua natureza de import\u00e2ncia, para evitar eventuais corrup\u00e7\u00f5es, foi implementado um mecanismo de bloqueio que impede que duas ou mais sess\u00f5es fa\u00e7am uso do arquivo. Ou seja, sempre que o OUI for invocado, um at\u00e9 mesmo um OPatch, primeiro se valida se o invent\u00e1rio j\u00e1 n\u00e3o est\u00e1 em uso, e em caso negativo, \u00e9 feito o seu lock.<\/p>\n\n\n\n<p>A localiza\u00e7\u00e3o deste invent\u00e1rio, bem como do grupo de S.O que o possui \u00e9 gravado em um arquivo chamado &#8220;oraInst.loc&#8221;. Em ambientes Linux, este arquivo fica em \/etc, conforme exemplo abaixo:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \\&quot;wp-block-syntaxhighlighter-code\\&quot;\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&#x5B;grid@oel7 ~]$ cat \/etc\/oraInst.loc\ninventory_loc=\/apl\/grid\/18.0.0\/oraInventory\ninst_group=oinstall\n&#x5B;grid@oel7 ~]$\n<\/pre><\/div>\n\n\n<p>Ao acessar o diret\u00f3rio do Invent\u00e1rio, vemos a seguinte estrutura de diret\u00f3rios:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \\&quot;wp-block-syntaxhighlighter-code\\&quot;\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\ndrwxrwx---  4 grid oinstall 4096 Jul  8  2020 backup\ndrwxrwx---  2 grid oinstall 4096 Jan 21 14:36 ContentsXML\ndrwxrwx--- 14 grid oinstall 4096 Jul 15  2020 logs\n-rw-rw----  1 grid oinstall   67 Jul  8  2020 oraInst.loc\n-rwxrwx---  1 grid oinstall 1716 Jul  8  2020 orainstRoot.sh\n&#x5B;grid@oel7 oraInventory]$ pwd\n\/apl\/grid\/18.0.0\/oraInventory\n&#x5B;grid@oel7 oraInventory]$\n<\/pre><\/div>\n\n\n<p>Ao acessar a pasta ContentsXML, podemos ver informa\u00e7\u00f5es relevantes no arquivo inventory.xml. Fiz uma c\u00f3pia dele para evitar qualquer situa\u00e7\u00e3o:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \\&quot;wp-block-syntaxhighlighter-code\\&quot;\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n&#x5B;grid@oel7 oraInventory]$ cd ContentsXML\n&#x5B;grid@oel7 ContentsXML]$ ll\ntotal 12\n-rw-rw---- 1 grid oinstall 329 Jul  8  2020 comps.xml\n-rw-rw---- 1 grid oinstall 557 Jul  8  2020 inventory.xml\n-rw-rw---- 1 grid oinstall 292 Jul  8  2020 libs.xml\n&#x5B;grid@oel7 ContentsXML]$ cp inventory.xml inventory.xml.bss\n&#x5B;grid@oel7 ContentsXML]$ cat inventory.xml.bss\n&amp;lt;?xml version=&quot;1.0&quot; standalone=&quot;yes&quot; ?&gt;\n&amp;lt;!-- Copyright (c) 1999, 2020, Oracle and\/or its affiliates.\nAll rights reserved. --&gt;\n&amp;lt;!-- Do not modify the contents of this file by hand. --&gt;\n&amp;lt;INVENTORY&gt;\n&amp;lt;VERSION_INFO&gt;\n   &amp;lt;SAVED_WITH&gt;12.2.0.4.0&amp;lt;\/SAVED_WITH&gt;\n   &amp;lt;MINIMUM_VER&gt;2.1.0.6.0&amp;lt;\/MINIMUM_VER&gt;\n&amp;lt;\/VERSION_INFO&gt;\n&amp;lt;HOME_LIST&gt;\n&amp;lt;HOME NAME=&quot;OraGI18Home1&quot; LOC=&quot;\/apl\/grid\/18.0.0\/product&quot; TYPE=&quot;O&quot; IDX=&quot;1&quot; CRS=&quot;true&quot;\/&gt;\n&amp;lt;HOME NAME=&quot;OraDB18Home1&quot; LOC=&quot;\/apl\/oracle\/18.0.0\/product&quot; TYPE=&quot;O&quot; IDX=&quot;2&quot;\/&gt;\n&amp;lt;\/HOME_LIST&gt;\n&amp;lt;COMPOSITEHOME_LIST&gt;\n&amp;lt;\/COMPOSITEHOME_LIST&gt;\n&amp;lt;\/INVENTORY&gt;\n&#x5B;grid@oel7 ContentsXML]$\n&#x5B;grid@oel7 ContentsXML]$ rm inventory.xml.bss\n&#x5B;grid@oel7 ContentsXML]$\n<\/pre><\/div>","protected":false},"excerpt":{"rendered":"<p>O OUI (Oracle Universal Installer) \u00e9 respons\u00e1vel por criar um conjunto de arquivos XMLs que armazenam informa\u00e7\u00f5es sobre todos os produtos Oracle instalados no ambiente, com detalhes sobre os Homes hospedados e por exemplo se os mesmos possuem algum patch aplicado. Devido a sua natureza de import\u00e2ncia, para evitar eventuais corrup\u00e7\u00f5es, foi implementado um mecanismo [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[19],"class_list":["post-2027","post","type-post","status-publish","format-standard","hentry","category-administration","tag-oracle-database"],"_links":{"self":[{"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/posts\/2027","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/comments?post=2027"}],"version-history":[{"count":1,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/posts\/2027\/revisions"}],"predecessor-version":[{"id":9277,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/posts\/2027\/revisions\/9277"}],"wp:attachment":[{"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=2027"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/categories?post=2027"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/tags?post=2027"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}