{"id":5694,"date":"2021-07-06T22:35:57","date_gmt":"2021-07-06T22:35:57","guid":{"rendered":"https:\/\/swiv.com.br\/installing-an-application-pdb-in-the-application-root\/"},"modified":"2026-05-27T20:02:30","modified_gmt":"2026-05-27T19:02:30","slug":"installing-an-application-pdb-in-the-application-root","status":"publish","type":"post","link":"https:\/\/swiv.com.br\/index.php\/2021\/07\/06\/installing-an-application-pdb-in-the-application-root\/","title":{"rendered":"Installing an Application in the Application Root"},"content":{"rendered":"\n<p>No artigo anterior, criamos um Application Root, e a partir dele podemos criar um Application PDB. Neste artigo vamos simular este processo.<\/p>\n\n\n\n<p>Conectando no Application Root:<\/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;oracle@quiasma admin]$ sqlplus sys\/oracle@HR_AC as sysdba\n \nSQL*Plus: Release 18.0.0.0.0 - Production on Tue Jul 6 19:22:36 2021\nVersion 18.13.0.0.0\n \nCopyright (c) 1982, 2018, Oracle.  All rights reserved.\n \n \nConnected to:\nOracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production\nVersion 18.13.0.0.0\n \nSQL&gt; SHOW CON_ID CON_NAME\n \nCON_ID\n------------------------------\n5\n \nCON_NAME\n------------------------------\nHR_AC\nSQL&gt;\n<\/pre><\/div>\n\n\n<p>Vamos criar um Application PDB chamado HR_APP dentro do nosso Application Root (HR_AC), utilizando o par\u00e2metro BEGIN INSTALL com o valor da vers\u00e3o da aplica\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=\"\">\nSQL&gt; ALTER PLUGGABLE DATABASE APPLICATION hr_app BEGIN INSTALL &#039;1.0&#039;;\n \nPluggable database altered.\n<\/pre><\/div>\n\n\n<p>Neste ponto, vamos criar a estrutura m\u00ednima nesse novo Application PDB, como tablespace e owner que abrigar\u00e3o os objetos:<\/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; CREATE TABLESPACE hr_tbs;\n \nTablespace created.\n \nSQL&gt; CREATE USER HR IDENTIFIED BY oracle DEFAULT TABLESPACE HR_TBS QUOTA UNLIMITED ON HR_TBS CONTAINER = ALL;\n \nUser created.\n \nSQL&gt; GRANT CREATE SESSION, CREATE TABLE, CREATE SEQUENCE, CREATE VIEW, CREATE PROCEDURE, CREATE TRIGGER TO HR;\n \nGrant succeeded.\n<\/pre><\/div>\n\n\n<p>Agora alteramos o current_schema a n\u00edvel de sess\u00e3o e criamos uma s\u00e9rie de objetos. Como o script \u00e9 longo, vou colocar o exemplo de cria\u00e7\u00e3o de tabela que representar\u00e1 o modo que os objetos est\u00e3o sendo criados:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \\&quot;wp-block-syntaxhighlighter-code\\&quot;\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nCREATE TABLE HR.JOBS SHARING=EXTENDED DATA\n(\n  JOB_ID      VARCHAR2(10 BYTE),\n  JOB_TITLE   VARCHAR2(35 BYTE) ,\n  MIN_SALARY  NUMBER(6),\n  MAX_SALARY  NUMBER(6)\n)\n;\n<\/pre><\/div>\n\n<div class=\"wp-block-syntaxhighlighter-code \\&quot;wp-block-syntaxhighlighter-code\\&quot;\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nSQL&gt; ALTER SESSION SET CURRENT_SCHEMA=hr;\n \nSession altered.\n \nSQL&gt; host mkdir \/home\/oracle\/scripts\n \nSQL&gt; host vi \/home\/oracle\/scripts\/hr_app_v1.0.sql\n \nSQL&gt; @\/home\/oracle\/scripts\/hr_app_v1.0.sql\nSQL&gt; @\/home\/oracle\/scripts\/hr_app_v1.0.sql\n \nSequence created.\n \n \nSequence created.\n \n \nSequence created.\n \n \nTable created.\n \n \nTable created.\n \n \nTable created.\n \n \nTable created.\n \n \nTable created.\n \n \nTable created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \nCommit complete.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \nCommit complete.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \nCommit complete.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \n1 row created.\n \n \nCommit complete.\n<\/pre><\/div>\n\n\n<p>S\u00f3 ent\u00e3o podemos encerrar a instala\u00e7\u00e3o de nosso Application PDB:<\/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; ALTER PLUGGABLE DATABASE APPLICATION hr_app END INSTALL &#039;1.0&#039;;\n \nPluggable database altered.\n<\/pre><\/div>\n\n\n<p>Podemos validar a cria\u00e7\u00e3o do Application PDB com a consulta abaixo:<\/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; ALTER PLUGGABLE DATABASE APPLICATION hr_app END INSTALL &#039;1.0&#039;;\n \nPluggable database altered.\n \nSQL&gt; column app_name format a15\nSQL&gt; column app_version format a10\nSQL&gt; column app_status format a15\nSQL&gt; SELECT APP_NAME, APP_VERSION, APP_STATUS FROM DBA_APPLICATIONS WHERE APP_IMPLICIT=&#039;N&#039;;\n \nAPP_NAME        APP_VERSIO APP_STATUS\n--------------- ---------- ---------------\nHR_APP          1.0        NORMAL\n<\/pre><\/div>\n\n\n<p>Obs: Este procedimento foi criado pelo senhor Ahmed Baraka (www.ahmedbaraka.com) e foi apenas reproduzido por mim em um laborat\u00f3rio pessoal para fins de aprendizado.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>No artigo anterior, criamos um Application Root, e a partir dele podemos criar um Application PDB. Neste artigo vamos simular este processo. Conectando no Application Root: Vamos criar um Application PDB chamado HR_APP dentro do nosso Application Root (HR_AC), utilizando o par\u00e2metro BEGIN INSTALL com o valor da vers\u00e3o da aplica\u00e7\u00e3o: Neste ponto, vamos criar [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-5694","post","type-post","status-publish","format-standard","hentry","category-multitenant"],"_links":{"self":[{"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/posts\/5694","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=5694"}],"version-history":[{"count":1,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/posts\/5694\/revisions"}],"predecessor-version":[{"id":9086,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/posts\/5694\/revisions\/9086"}],"wp:attachment":[{"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=5694"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/categories?post=5694"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/tags?post=5694"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}