{"id":570,"date":"2020-02-22T20:47:24","date_gmt":"2020-02-22T20:47:24","guid":{"rendered":"https:\/\/swiv.com.br\/solved-issue-deploy-de-mapa-owb-com-conflito-entre-location-e-control-center\/"},"modified":"2026-05-27T20:02:55","modified_gmt":"2026-05-27T19:02:55","slug":"solved-issue-deploy-de-mapa-owb-com-conflito-entre-location-e-control-center","status":"publish","type":"post","link":"https:\/\/swiv.com.br\/index.php\/2020\/02\/22\/solved-issue-deploy-de-mapa-owb-com-conflito-entre-location-e-control-center\/","title":{"rendered":"[Solved] Issue: Deploy de Mapa OWB com conflito entre Location e Control Center."},"content":{"rendered":"\n<p>O desafio da vez foi muito pontual, na ferramenta Oracle Warehouse Builder. Esta \u00e9 a vers\u00e3o em quest\u00e3o:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/swiv.com.br\/wp-content\/uploads\/2022\/07\/image-568.png\" alt=\"\" class=\"wp-image-8428\"\/><\/figure>\n\n\n\n<p>Certo. Agora vamos ao contexto: ao se alterar alguma configura\u00e7\u00e3o do Mapa do OWB (objeto l\u00f3gico que encapsula as regras de carga, muito similar ao cen\u00e1rio, do ODI), \u00e9 sugerido e necess\u00e1rio realizar 3 etapas: Generate, Validate e Deploy (conforme destacado abaixo):<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/swiv.com.br\/wp-content\/uploads\/2022\/07\/image-569.png\" alt=\"\" class=\"wp-image-8429\"\/><\/figure>\n\n\n\n<p> Na situa\u00e7\u00e3o que vivenciei recentemente, houve uma altera\u00e7\u00e3o de Location do OWB (estrutura l\u00f3gica que realiza o apontamento para alguma origem, muito similar com a Topologia F\u00edsica do ODI), devido a migra\u00e7\u00e3o de um banco de dados. Ou seja, como este banco foi constru\u00eddo em um novo servidor, se faz necess\u00e1rio a devida altera\u00e7\u00e3o do apontamento no Location. Para chegar nesse item, basta clicar na paleta &#8220;Locations Navigator&#8221;, expandir o &#8220;Locations&#8221;, escolher o tipo (se \u00e9 banco de dados, arquivo, etc. No nosso caso \u00e9 a primeira op\u00e7\u00e3o), escolher o tipo de banco de dados (em nosso caso, Oracle), e dar um duplo clique no Location desejado. Obviamente estou apagando o nome desses objetos para sigilo do ambiente:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/swiv.com.br\/wp-content\/uploads\/2022\/07\/image-570.png\" alt=\"\" class=\"wp-image-8430\"\/><\/figure>\n\n\n\n<p>Informa\u00e7\u00f5es de conex\u00e3o do Location:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/swiv.com.br\/wp-content\/uploads\/2022\/07\/image-571.png\" alt=\"\" class=\"wp-image-8431\"\/><\/figure>\n\n\n\n<p>A modifica\u00e7\u00e3o do Location foi realizada com sucesso, usando o seguinte script (que fica na pasta OWB_HOME\/owb\/rtp\/sql):<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \\&quot;wp-block-syntaxhighlighter-code\\&quot;\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nSQL&gt; @UpdateLocation.sql\n \nThis sql script sets the host:port:service and version parameters for a\nlocation in the OWB Client Repository.  It must be run from user XXXXX.\n \nThe connection type must be host:port:service and cannot be changed\nusing this script.\n \nThe location may be registered or unregistered.\n \nRestart OWB client in order to see the new version in the UI.\n \nEnter Workspace Name: XXXX\nEnter Workspace User Name: XXXXX\nEnter Location Name: XXXXX\nNew Host: XXXXXX\nNew Port: XXXX\nNew Service Name: XXXXX\nNew Version: XXXXX\nSelect Workspace Id for workspace XXXX and user XXX\nWorkspace id = X\nUpdate location properties for XXXX\nLocation Type =  Oracle Database\nLocation XXX Found\nConnection Type = Default HOST:PORT:SERVICE Updating...\nUpdating CMPLocation_Host = XXX\nUpdating CMPLocation_Port = XXXX\nUpdating CMPLocation_ServiceName = XXXXXXX\nUpdating CMPLocation_Version = XXX\nInsertingCMPLocation_Version\n<\/pre><\/div>\n\n\n<p>Agora vamos simular o erro. Ap\u00f3s a modifica\u00e7\u00e3o do Location, vamos tentar realizar o Deploy de um mapa que utiliza este mesmo Location. Para isso, v\u00e1 na paleta &#8220;Projects Navigator&#8221;, expanda o seu projeto -> Databases -> Oracle -> seu Oracle Module -> Mappings.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/swiv.com.br\/wp-content\/uploads\/2022\/07\/image-572.png\" alt=\"\" class=\"wp-image-8432\"\/><\/figure>\n\n\n\n<p>Encontre o seu mapa e clique com o bot\u00e3o direito. Fa\u00e7a o Generate e Validate:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/swiv.com.br\/wp-content\/uploads\/2022\/07\/image-573.png\" alt=\"\" class=\"wp-image-8434\"\/><\/figure>\n\n\n\n<p>Perceba que essas etapas s\u00e3o conclu\u00eddas com sucesso:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/swiv.com.br\/wp-content\/uploads\/2022\/07\/image-574.png\" alt=\"\" class=\"wp-image-8435\"\/><\/figure>\n\n\n\n<p>Por\u00e9m, quando voc\u00ea realiza o Deploy do Mapa, o erro abaixo \u00e9 reportado:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/swiv.com.br\/wp-content\/uploads\/2022\/07\/image-575.png\" alt=\"\" class=\"wp-image-8436\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/swiv.com.br\/wp-content\/uploads\/2022\/07\/image-576.png\" alt=\"\" class=\"wp-image-8437\"\/><\/figure>\n\n\n\n<p>Nessa etapa, se voc\u00ea clicar em OK, o OWB voltar\u00e1 os par\u00e2metros de conex\u00e3o antigos do Location que voc\u00ea atualizou recentemente. A sa\u00edda \u00e9: cancelar e investigar.<\/p>\n\n\n\n<p>Ap\u00f3s algumas pesquisas no MOS, me deparei com um Oracle Note com escopo similar, onde exp\u00f5e um procedimento para alterar os novos par\u00e2metros de conex\u00e3o (realizados no Location) dentro de uma estrutura chamada Control Center (que \u00e9 reportada na mensagem de erro).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/swiv.com.br\/wp-content\/uploads\/2022\/07\/image-577-1024x307.png\" alt=\"\" class=\"wp-image-8438\"\/><\/figure>\n\n\n<figure class=\\\"wp-block-table\\\"><table><tbody><tr><td><strong>How To Update The OWB Control Center Service Credentials When Host Name\/Port\/Service Name Have Been Changed (Doc ID 434880.1)<\/strong><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n<p>Nesta nota, em resumo, \u00e9 recomendado aplicar o seguinte procedimento:<\/p>\n\n\n<ol>\n<li>Start the OWB Browser Listener:<br \/>\n<ul>\n<li>Version 10.2\n<ul>\n<li>For Windows : Start -&gt; Programs -&gt; Oracle OWB 10.2 -&gt; Warehouse Builder -&gt; Administration -&gt; Start OWB Browser Listener<\/li>\n<li>For Linux : OWB_home\/owb\/bin\/unix\/startOwbbInst.sh<\/li>\n<\/ul>\n<\/li>\n<li>Version 11g\n<ul>\n<li>For\u00a0Windows :\u00a0 Open a command window and execute Drive:\\\\OWB_home\\\\owb\\\\bin\\\\win32\\\\startOwbbInst.bat<\/li>\n<li>For Linux : OWB_home\/owb\/bin\/unix\/startOwbbInst.sh<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>Start the Repository Browser:<br \/>\n<ul>\n<li>For Windows : Start -&gt; Programs -&gt; Oracle\u00a0 -&gt; Warehouse Builder -&gt; Repository Browser<\/li>\n<li>For Linux : OWB_home\/owb\/bin\/unix\/openRAB.sh<\/li>\n<\/ul>\n<\/li>\n<li>Connect to the Warehouse Builder Browser as the Control Center Owner.<\/li>\n<li>Select &#8220;Locations Report&#8221; under Reports &#8211; Deployments.<\/li>\n<li>Select the Location named &#8220;PlatformSchema&#8221; with &#8220;Control Center&#8221; type .<br \/>Check the box in the Select column in front of the Location Name.<\/li>\n<li>Click on the link in the Validation column (last column).<\/li>\n<li>In the &#8220;Connection Details&#8221; section of the Location Validation Report page, update the Host, Port and Service Name accordingly.<\/li>\n<li>Click on the &#8220;Update Details&#8221; button.<\/li>\n<li>Test the location.\u00a0<\/li>\n<\/ol>\n\n\n<p>N\u00e3o \u00e9 mencionado na nota, mas acho relevante realizar um backup do mapa que sofrer\u00e1 o Deploy antes de qualquer coisa. Todos os mapas do OWB nada mais s\u00e3o do que packages dentro do banco de dados. Desse modo, salvei o DDL do objeto.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \\&quot;wp-block-syntaxhighlighter-code\\&quot;\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nORCL &gt; col object_name format a25\nORCL &gt; col owner format a15\nORCL &gt; col status format a20\nORCL &gt; col object_type format a20\nORCL &gt; SELECT OBJECT_NAME,OWNER,STATUS,OBJECT_TYPE FROM DBA_OBJECTS WHERE OBJECT_NAME=&#039;NOMEOBJETO1&#039;;\n \nOBJECT_NAME               OWNER           STATUS               OBJECT_TYPE\n------------------------- --------------- -------------------- --------------------\nNOMEOBJETO1               OWNER1          VALID                PACKAGE\nNOMEOBJETO1               OWNER1          VALID                PACKAGE BODY\n \nORCL &gt;\n<\/pre><\/div>\n\n\n<p>\u00d3timo. Agora vamos aplicar o procedimento:<\/p>\n\n\n\n<p>Primeiro, \u00e9 necess\u00e1rio subir o OWB Browser Listener. Como \u00e9 algo muito pontual, n\u00e3o farei em nohup, pois usarei esse listener apenas para aplicar o processo:<\/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;user@hostname unix]$ cd $OWB_HOME\/owb\/bin\/unix\/\n&#x5B;user@hostname unix]$ .\/startOwbbInst.sh\n20\/02\/22 16:17:25 Oracle Containers for J2EE 10g (10.1.3.4.0)  initialized\n<\/pre><\/div>\n\n\n<p>A segunda etapa ser\u00e1 iniciar o Repository Browser. Uma dica: se voc\u00ea n\u00e3o sabe qual \u00e9 a URL (como eu tamb\u00e9m n\u00e3o sabia), dentro do shellscript que ser\u00e1 usado no start, h\u00e1 uma refer\u00eancia sobre ela.<\/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;user@hostname ~]$ cd $OWB_HOME\/owb\/bin\/unix\/\n&#x5B;user@hostname unix]$ vi openRAB.sh\n<\/pre><\/div>\n\n\n<p>Conte\u00fado que nos interessa:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \\&quot;wp-block-syntaxhighlighter-code\\&quot;\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n#!\/bin\/sh\n \nwhile test -n &quot;$1&quot;\ndo\ncase $1 in\n    -u) echo &quot;USAGE: openRAB.sh &#x5B;-b browser_path] &#x5B;-h localhost_name] | &#x5B;-u]&quot;;\n        exit 1\n        ;;\n    -b) if test -x &quot;$2&quot;\n        then\n          browser=$2\n        else\n          echo &quot;error:the browser path you specified does not exist or you do not have a enough permission to run that program&quot;\n          exit 2;\n        fi\n        shift; shift;;\n    -h) if test -n &quot;$2&quot;\n        then\n         hostname=$2\n        else\n         echo &quot;error:wrong argument . -u for hep&quot;\n         exit 3;\n        fi\n        shift; shift;;\n    -*) echo &quot;error: wrong argument. -u for help&quot;;\n        exit 4;;\n     *) echo &quot;error: wrong argument. -u for help&quot;;\n        exit 5;;\nesac\ndone\n \nif test ! -x &quot;$browser&quot;\nthen\n if test -x  &quot;$OWB_DEFAULT_WEB_BROWSER&quot;\n then\n  browser=$OWB_DEFAULT_WEB_BROWSER\n else\n  if test -x &quot;\/usr\/local\/bin\/netscape&quot;\n  then\n   browser=\/usr\/local\/bin\/netscape\n  else\n   echo &#039;please input the full path of your web browser:(for example: \/usr\/local\/bin\/netscape)&#039;\n   read browser\n  fi\n fi\nfi\n \nif test ! -n &quot;$hostname&quot;\nthen\n domain=`domainname`\n localhost=`\/bin\/uname -n`\n if test -n &quot;$domain&quot;\n then\n  dotcount=`echo $domain | sed &#039;s\/&#x5B;^\\.]\/\/g&#039; | wc -w`\n  if test $dotcount -gt  &quot;0&quot;\n  then\n    hostname=$localhost.$domain\n  else\n    hostname=$localhost\n  fi\n else\n  hostname=$localhost\n fi\nfi\n \necho &#039;local browser path: &#039;$browser\necho &#039;local host name: &#039;$hostname\n$browser &#039;https:\/\/&#039;$hostname&#039;:8999\/owbb\/RABLogin.uix?mode=runtime&amp;amp;def_host=&amp;amp;def_port=1521&amp;amp;def_service=&amp;amp;def_net_service=&#039;\n<\/pre><\/div>\n\n\n<p>N\u00e3o \u00e9 mencionado na Nota, mas lendo o shellscript, no momento do start, h\u00e1 2 possibilidades de par\u00e2metros: a pr\u00f3pria URL ou o nome do hostname. Usarei a segunda op\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;user@hostname unix]$ .\/openRAB.sh -h hostname\nplease input the full path of your web browser:(for example: \/usr\/local\/bin\/netscape)\n<\/pre><\/div>\n\n\n<p>Ao acessar a URL, conseguimos ver a tela de Login:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/swiv.com.br\/wp-content\/uploads\/2022\/07\/image-578.png\" alt=\"\" class=\"wp-image-8439\"\/><\/figure>\n\n\n\n<p>Preencha com os dados do seu ambiente:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/swiv.com.br\/wp-content\/uploads\/2022\/07\/image-579.png\" alt=\"\" class=\"wp-image-8440\"\/><\/figure>\n\n\n\n<p>V\u00e1 na terceira op\u00e7\u00e3o:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/swiv.com.br\/wp-content\/uploads\/2022\/07\/image-580-1024x412.png\" alt=\"\" class=\"wp-image-8441\"\/><\/figure>\n\n\n\n<p>Nessa etapa, \u00e9 exibida uma lista com todos os Locations dentro do Control Center. O print ficou prejudicado pois precisei omitir todas as informa\u00e7\u00f5es, mas as colunas mais importantes s\u00e3o: Nome (nome do Location), Vers\u00e3o do Tipo (se for banco de dados, qual \u00e9 a vers\u00e3o do mesmo), Descri\u00e7\u00e3o do Servi\u00e7o (nome dado no momento da sua cria\u00e7\u00e3o) e Valida\u00e7\u00e3o (onde \u00e9 poss\u00edvel EDITAR as informa\u00e7\u00f5es internas do Location).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/swiv.com.br\/wp-content\/uploads\/2022\/07\/image-581-1024x458.png\" alt=\"\" class=\"wp-image-8442\"\/><\/figure>\n\n\n\n<p>Clique no Location que precisa ser alterado e edite as suas informa\u00e7\u00f5es de conex\u00e3o corretamente:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/swiv.com.br\/wp-content\/uploads\/2022\/07\/image-582.png\" alt=\"\" class=\"wp-image-8443\"\/><\/figure>\n\n\n\n<p>Ao clicar em Detalhes da Atualiza\u00e7\u00e3o, ser\u00e1 reportado que o Location foi atualizado. Se voc\u00ea voltar na p\u00e1gina anterior, ser\u00e1 poss\u00edvel ser os seus novos par\u00e2metros de conex\u00e3o.<\/p>\n\n\n\n<p>Agora podemos novamente tentar realizar o Deploy do Mapa:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/swiv.com.br\/wp-content\/uploads\/2022\/07\/image-583.png\" alt=\"\" class=\"wp-image-8444\"\/><\/figure>\n\n\n\n<p>O novo Location ser\u00e1 exposto, e basta voc\u00ea digitar a senha e realizar o teste de conex\u00e3o, e clicar em OK:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/swiv.com.br\/wp-content\/uploads\/2022\/07\/image-584.png\" alt=\"\" class=\"wp-image-8445\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/swiv.com.br\/wp-content\/uploads\/2022\/07\/image-585.png\" alt=\"\" class=\"wp-image-8446\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/swiv.com.br\/wp-content\/uploads\/2022\/07\/image-586.png\" alt=\"\" class=\"wp-image-8447\"\/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>O desafio da vez foi muito pontual, na ferramenta Oracle Warehouse Builder. Esta \u00e9 a vers\u00e3o em quest\u00e3o: Certo. Agora vamos ao contexto: ao se alterar alguma configura\u00e7\u00e3o do Mapa do OWB (objeto l\u00f3gico que encapsula as regras de carga, muito similar ao cen\u00e1rio, do ODI), \u00e9 sugerido e necess\u00e1rio realizar 3 etapas: Generate, Validate [&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":[23],"class_list":["post-570","post","type-post","status-publish","format-standard","hentry","category-administration","tag-owb"],"_links":{"self":[{"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/posts\/570","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=570"}],"version-history":[{"count":1,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/posts\/570\/revisions"}],"predecessor-version":[{"id":9312,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/posts\/570\/revisions\/9312"}],"wp:attachment":[{"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=570"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/categories?post=570"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/tags?post=570"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}