{"id":153,"date":"2020-11-27T01:43:07","date_gmt":"2020-11-27T01:43:07","guid":{"rendered":"https:\/\/adrianotanaka.com.br\/?p=153"},"modified":"2020-11-27T01:43:09","modified_gmt":"2020-11-27T01:43:09","slug":"atualizar-apex-4-x-para-20-x","status":"publish","type":"post","link":"https:\/\/adrianotanaka.com.br\/index.php\/2020\/11\/27\/atualizar-apex-4-x-para-20-x\/","title":{"rendered":"Atualizar Apex 4.x para 20.x"},"content":{"rendered":"\n<p>Nesse post vou mostrar como \u00e9 f\u00e1cil realizar a atualiza\u00e7\u00e3o(ou instala\u00e7\u00e3o) do Apex para a vers\u00e3o mais nova, esse procedimento pode ser aplicado em qualquer vers\u00e3o e no meu lab estou rodando o banco 12.1.0.2.0 (sem PDB) com Apex 4.2.5.00.08 e vou atualizar para a vers\u00e3o 20.2.0.00.20 ,<strong> um detalhe muito importante \u00e9 que a partir da vers\u00e3o 20.1 voc\u00ea precisa usar o ORDS, n\u00e3o existe mais suporte ao EPG, ent\u00e3o recomendo dar uma olhada nesse link <a rel=\"noreferrer noopener\" href=\"https:\/\/docs.oracle.com\/en\/database\/oracle\/application-express\/20.2\/htmig\/downloading-installing-ords.html#GUID-A39B8770-8FE9-41DA-AC2C-5E3723BF0C19\" target=\"_blank\">https:\/\/docs.oracle.com\/en\/database\/oracle\/application-express\/20.2\/htmig\/downloading-installing-ords.html#GUID-A39B8770-8FE9-41DA-AC2C-5E3723BF0C19<\/a> onde mostra como baixar e instalar o ORDS (se for um ambiente simples voc\u00ea pode rodar no modo Standalone).<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Download<\/h2>\n\n\n\n<p>O Apex pode ser baixado no seguinte link <a href=\"https:\/\/www.oracle.com\/tools\/downloads\/apex-v191-downloads.html\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.oracle.com\/tools\/downloads\/apex-v191-downloads.html<\/a>, voc\u00ea tem a op\u00e7\u00e3o de baixar a vers\u00e3o somente em Ingl\u00eas (apex_xx.x_<strong>en<\/strong>.zip) ou a vers\u00e3o multi idiomas (apex_20.2.zip), escolha a vers\u00e3o que voc\u00ea deseja rodar, baixe e coloque no servidor de banco de dados, ou fa\u00e7a um <strong>wget <\/strong>direto para no servidor, basta mandar fazer o download na sua m\u00e1quina e copiar a url que ele gerar (com a parte AuthParam).<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">[oracle@db12c-single ~]$ wget https:\/\/download.oracle.com\/otn\/java\/appexpress\/apex_20.2.zip?AuthParam=XXXXXXX<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Extraia o arquivo<\/h2>\n\n\n\n<p>Ap\u00f3s o download, extraia o arquivo:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">unzip apex_xx.x.zip<\/pre>\n\n\n\n<p>A seguinte estrutura de diret\u00f3rios\/arquivos vai estar dispon\u00edvel:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">[oracle@db12c-single apex]$ ls\napexins1.sql         apexins.sql                 apxappcon.sql       apxdvins_nocdb.sql  apxpatch.sql        apxrtins1.sql         apxrtins.sql      core          dbcsconf.sql\napexins2.sql         apex_rest_config_cdb.sql    apxchpwd.sql        apxdvins.sql        apxremov1.sql       apxrtins2.sql         apxsdoins.sql     coreins2.sql  dbcsins.sql\napexins3.sql         apex_rest_config_core.sql   apxdevrm_cdb.sql    apxdwngrd.sql       apxremov2.sql       apxrtins3.sql         apxsilentins.sql  coreins3.sql  devins.sql\napexins_cdb.sql      apex_rest_config_nocdb.sql  apxdevrm_nocdb.sql  apxexit.sql         apxremov_cdb.sql    apxrtins_cdb.sql      apxupgrd.sql      coreins4.sql  images\napexins_cdb_upg.sql  apex_rest_config.sql        apxdevrm.sql        apxpatch_cdb.sql    apxremov_nocdb.sql  apxrtins_cdb_upg.sql  builder           coreins5.sql  load_trans.sql\napexins_nocdb.sql    appins.sql                  apxdvins_cdb.sql    apxpatch_nocdb.sql  apxremov.sql        apxrtins_nocdb.sql    catapx.sql        coreins.sql   utilities\n[oracle@db12c-single apex]$ \n<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Requisito<\/h2>\n\n\n\n<p>Voc\u00ea precisa criar uma tablespace(caso esteja instalando pela primeira vez) que vai ser utilizada para armazenar os objetos do Apex, rodar o script de instala\u00e7\u00e3o\/update, criar(caso n\u00e3o existam) alguns usu\u00e1rios e subir o ORDS.<\/p>\n\n\n\n<p>Criar a tablespace<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">SQL> create tablespace apx_tbs datafile '\/u01\/app\/oracle\/oradata\/orcl12\/apx_tbs01.dbf' size 200M autoextend on maxsize unlimited;\n\nTablespace created.\n\nSQL> \n<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Script de instala\u00e7\u00e3o\/update<\/h2>\n\n\n\n<p>Conecte no banco com o usu\u00e1rio SYS e rode o seguinte comando estando dentro da pasta descompactada do Apex:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">@apexins.sql APX_TBS APX_TBS TEMP \/i\/<\/pre>\n\n\n\n<p>Onde os dois primeiros par\u00e2metros(APX_TBS) apontam em qual tablespace o Apex vai ser instalado, o terceiro(TEMP) qual a tablespace tempor\u00e1ria que ele vai usar e o ultimo o caminho da imagens.<\/p>\n\n\n\n<p>No meu lab, com 1 core e 1.6G de RAM, a instala\u00e7\u00e3o levou quase 10 minutos:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\nThank you for installing Oracle Application Express 20.2.0.00.20\n\nOracle Application Express is installed in the APEX_200200 schema.\n\nThe structure of the link to the Application Express administration services is as follows:\nhttp:\/\/host:port\/ords\/apex_admin\n\nThe structure of the link to the Application Express development interface is as follows:\nhttp:\/\/host:port\/ords\n\ntiming for: Phase 3 (Switch)\nElapsed: 00:00:55.97\ntiming for: Complete Installation\nElapsed: 00:09:47.14\n\nPL\/SQL procedure successfully completed.\n<\/pre>\n\n\n\n<p>Se for uma atualiza\u00e7\u00e3o voc\u00ea j\u00e1 pode acessar a sua vers\u00e3o atualizada, caso seja uma instala\u00e7\u00e3o nova(Instalou o banco e nunca instalou ou atualizou o Apex, voc\u00ea precisa executar os pr\u00f3ximos passos):<\/p>\n\n\n\n<p>Crie os usu\u00e1rios do Apex<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">@apex_rest_config.sql<\/pre>\n\n\n\n<p>Altere a senha do usu\u00e1rio admin<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">@apxchpwd.sql<\/pre>\n\n\n\n<p>A senha precisa atender a complexidade minima:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">* Password must contain at least one numeric character (0123456789).\n* Password must contain at least one punctuation character (!\"#$%&amp;()``*+,-\/:;?_)\n.\n* Password must contain at least one upper-case alphabetic character.\n<\/pre>\n\n\n\n<p>Ap\u00f3s isso voc\u00ea pode executar o seguinte comando para configurar o ORDS para o Apex:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">java -jar ords.war install advanced<\/pre>\n\n\n\n<p>E ap\u00f3s isso executar no modo standalone:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">java -jar ords.war standalone<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Nesse post vou mostrar como \u00e9 f\u00e1cil realizar a atualiza\u00e7\u00e3o(ou instala\u00e7\u00e3o) do Apex para a vers\u00e3o mais nova, esse procedimento pode ser aplicado em qualquer vers\u00e3o e no meu lab estou rodando o banco 12.1.0.2.0 (sem PDB) com Apex 4.2.5.00.08 e vou atualizar para a vers\u00e3o 20.2.0.00.20 , um detalhe muito importante \u00e9 que a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":163,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"material-hide-sections":[],"footnotes":""},"categories":[1],"tags":[],"class_list":["post-153","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/posts\/153","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/comments?post=153"}],"version-history":[{"count":12,"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/posts\/153\/revisions"}],"predecessor-version":[{"id":166,"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/posts\/153\/revisions\/166"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/media\/163"}],"wp:attachment":[{"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=153"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/categories?post=153"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/adrianotanaka.com.br\/index.php\/wp-json\/wp\/v2\/tags?post=153"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}