{"id":4785,"date":"2021-05-26T08:32:36","date_gmt":"2021-05-26T08:32:36","guid":{"rendered":"https:\/\/swiv.com.br\/performing-pitr-in-a-pugglabe-database-with-local-undo\/"},"modified":"2026-05-27T20:02:32","modified_gmt":"2026-05-27T19:02:32","slug":"performing-pitr-in-a-pugglabe-database-with-local-undo","status":"publish","type":"post","link":"https:\/\/swiv.com.br\/index.php\/2021\/05\/26\/performing-pitr-in-a-pugglabe-database-with-local-undo\/","title":{"rendered":"Performing PITR in a Pugglabe Database with Local UNDO"},"content":{"rendered":"\n<p>Este artigo aborda a execu\u00e7\u00e3o de um Point-in-Time Recovery em um PDB espec\u00edfico, mas considerando que o ambiente esteja com a configura\u00e7\u00e3o da LOCAL UNDO habilitada. Para os casos onde a UNDO est\u00e1 compartilhada entre CDB$ROOT e demais PDBs (obrigatoriamente da 12.1), a abordagem desta implementa\u00e7\u00e3o \u00e9 diferente e ser\u00e1 tratada em outro momento.<\/p>\n\n\n\n<p>Validado se nosso ambiente est\u00e1 configurado com LOCAL UNDO:<\/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@oel7 dados]$ sqlplus \/ as sysdba\n \nSQL*Plus: Release 19.0.0.0.0 - Production on Wed May 26 05:03:43 2021\nVersion 19.3.0.0.0\n \nCopyright (c) 1982, 2019, Oracle.  All rights reserved.\n \n \nConnected to:\nOracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production\nVersion 19.3.0.0.0\n \nSQL&gt; col PROPERTY_NAME format a25\nSQL&gt; col PROPERTY_VALUE format a10\nSQL&gt; SELECT PROPERTY_NAME, PROPERTY_VALUE FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME = &#039;LOCAL_UNDO_ENABLED&#039;;\n \nPROPERTY_NAME             PROPERTY_V\n------------------------- ----------\nLOCAL_UNDO_ENABLED        TRUE\n<\/pre><\/div>\n\n\n<p>Realizando um backup do CDB e seus PDBs:<\/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@oel7 dados]$ rman target \/\n \nRecovery Manager: Release 19.0.0.0.0 - Production on Wed May 26 05:04:14 2021\nVersion 19.3.0.0.0\n \nCopyright (c) 1982, 2019, Oracle and\/or its affiliates.  All rights reserved.\n \nconnected to target database: ASWN (DBID=3842619206)\n \nRMAN&gt; BACKUP DATABASE PLUS ARCHIVELOG;\n \n \nStarting backup at 26-MAY-21\ncurrent log archived\nusing target database control file instead of recovery catalog\nallocated channel: ORA_DISK_1\nchannel ORA_DISK_1: SID=7 device type=DISK\nchannel ORA_DISK_1: starting archived log backup set\nchannel ORA_DISK_1: specifying archived log(s) in backup set\ninput archived log thread=1 sequence=6 RECID=1 STAMP=1073538273\nchannel ORA_DISK_1: starting piece 1 at 26-MAY-21\nchannel ORA_DISK_1: finished piece 1 at 26-MAY-21\npiece handle=\/oracle\/fra\/ASWN\/backupset\/2021_05_26\/o1_mf_annnn_TAG20210526T050434_jbw08lyp_.bkp tag=TAG20210526T050434 comment=NONE\nchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:07\nFinished backup at 26-MAY-21\n \nStarting backup at 26-MAY-21\nusing channel ORA_DISK_1\nchannel ORA_DISK_1: starting full datafile backup set\nchannel ORA_DISK_1: specifying datafile(s) in backup set\ninput datafile file number=00001 name=\/oracle\/dados\/ASWN\/datafile\/o1_mf_system_jbvxxtmm_.dbf\ninput datafile file number=00003 name=\/oracle\/dados\/ASWN\/datafile\/o1_mf_sysaux_jbvy05r2_.dbf\ninput datafile file number=00004 name=\/oracle\/dados\/ASWN\/datafile\/o1_mf_undotbs1_jbvy18tj_.dbf\ninput datafile file number=00007 name=\/oracle\/dados\/ASWN\/datafile\/o1_mf_users_jbvy1cwc_.dbf\nchannel ORA_DISK_1: starting piece 1 at 26-MAY-21\nchannel ORA_DISK_1: finished piece 1 at 26-MAY-21\npiece handle=\/oracle\/fra\/ASWN\/backupset\/2021_05_26\/o1_mf_nnndf_TAG20210526T050442_jbw08tbv_.bkp tag=TAG20210526T050442 comment=NONE\nchannel ORA_DISK_1: backup set complete, elapsed time: 00:01:25\nchannel ORA_DISK_1: starting full datafile backup set\nchannel ORA_DISK_1: specifying datafile(s) in backup set\ninput datafile file number=00010 name=\/oracle\/dados\/ASWN\/C3380A6B7D7F3074E0536C00A8C08618\/datafile\/o1_mf_sysaux_jbw01lh8_.dbf\ninput datafile file number=00009 name=\/oracle\/dados\/ASWN\/C3380A6B7D7F3074E0536C00A8C08618\/datafile\/o1_mf_system_jbw01lh3_.dbf\ninput datafile file number=00011 name=\/oracle\/dados\/ASWN\/C3380A6B7D7F3074E0536C00A8C08618\/datafile\/o1_mf_undotbs1_jbw01lh9_.dbf\ninput datafile file number=00012 name=\/oracle\/dados\/ASWN\/C3380A6B7D7F3074E0536C00A8C08618\/datafile\/o1_mf_users_jbw042o2_.dbf\nchannel ORA_DISK_1: starting piece 1 at 26-MAY-21\nchannel ORA_DISK_1: finished piece 1 at 26-MAY-21\npiece handle=\/oracle\/fra\/ASWN\/C3380A6B7D7F3074E0536C00A8C08618\/backupset\/2021_05_26\/o1_mf_nnndf_TAG20210526T050442_jbw0cjcr_.bkp tag=TAG20210526T050442 comment=NONE\nchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:35\nchannel ORA_DISK_1: starting full datafile backup set\nchannel ORA_DISK_1: specifying datafile(s) in backup set\ninput datafile file number=00006 name=\/oracle\/dados\/ASWN\/datafile\/o1_mf_sysaux_jbvyhq7z_.dbf\ninput datafile file number=00005 name=\/oracle\/dados\/ASWN\/datafile\/o1_mf_system_jbvyhq5r_.dbf\ninput datafile file number=00008 name=\/oracle\/dados\/ASWN\/datafile\/o1_mf_undotbs1_jbvyhq89_.dbf\nchannel ORA_DISK_1: starting piece 1 at 26-MAY-21\nchannel ORA_DISK_1: finished piece 1 at 26-MAY-21\npiece handle=\/oracle\/fra\/ASWN\/C337AF22DF9E22E0E0536C00A8C0D589\/backupset\/2021_05_26\/o1_mf_nnndf_TAG20210526T050442_jbw0dm45_.bkp tag=TAG20210526T050442 comment=NONE\nchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:35\nFinished backup at 26-MAY-21\n \nStarting backup at 26-MAY-21\ncurrent log archived\nusing channel ORA_DISK_1\nchannel ORA_DISK_1: starting archived log backup set\nchannel ORA_DISK_1: specifying archived log(s) in backup set\ninput archived log thread=1 sequence=7 RECID=2 STAMP=1073538438\nchannel ORA_DISK_1: starting piece 1 at 26-MAY-21\nchannel ORA_DISK_1: finished piece 1 at 26-MAY-21\npiece handle=\/oracle\/fra\/ASWN\/backupset\/2021_05_26\/o1_mf_annnn_TAG20210526T050718_jbw0fpyn_.bkp tag=TAG20210526T050718 comment=NONE\nchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:01\nFinished backup at 26-MAY-21\n \nStarting Control File and SPFILE Autobackup at 26-MAY-21\npiece handle=\/oracle\/fra\/ASWN\/autobackup\/2021_05_26\/o1_mf_s_1073538440_jbw0fswh_.bkp comment=NONE\nFinished Control File and SPFILE Autobackup at 26-MAY-21\n<\/pre><\/div>\n\n\n<p>Em nosso PDB que ser\u00e1 usado como teste, vamos criar uma tabela conforme abaixo, j\u00e1 populando-a:<\/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 ASWAN]$ sqlplus \/ as sysdba\n \nSQL*Plus: Release 18.0.0.0.0 - Production on Tue May 25 04:30:06 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; ALTER SESSION SET CONTAINER=HIPOFISE1;\n \nSession altered.\n \nSQL&gt; CREATE TABLE BSS1.TESTE1 (DESCRICAO VARCHAR2(20));\n \nTable created.\n \nSQL&gt; INSERT INTO BSS1.TESTE1 (DESCRICAO) VALUES (&#039;PITR PDB 1&#039;);\n \n1 row created.\n \nSQL&gt; INSERT INTO BSS1.TESTE1 (DESCRICAO) VALUES (&#039;PITR PDB 2&#039;);\n \n1 row created.\n \nSQL&gt; INSERT INTO BSS1.TESTE1 (DESCRICAO) VALUES (&#039;PITR PDB 3&#039;);\n \n1 row created.\n \nSQL&gt; COMMIT;\n \nCommit complete.\n \nSQL&gt; SELECT * FROM BSS1.TESTE1;\n \nDESCRICAO\n--------------------\nPITR PDB 1\nPITR PDB 2\nPITR PDB 3\n<\/pre><\/div>\n\n\n<p>Gerando alguns archives e realizando o backup dos mesmos:<\/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; conn \/ as sysdba\nConnected.\nSQL&gt; ALTER SYSTEM SWITCH LOGFILE;\n \nSystem altered.\n \nSQL&gt; \/\n \nSystem altered.\n<\/pre><\/div>\n\n\n<p>Verificando o atual SCN do banco:<\/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 SESSION SET CONTAINER=HIPOFISE1;\n \nSession altered.\n \nSQL&gt; SELECT CURRENT_SCN FROM V$DATABASE;\n \nCURRENT_SCN\n-----------\n    2140560\n<\/pre><\/div>\n\n\n<p>Disparando um backup dos archivelogs:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \\&quot;wp-block-syntaxhighlighter-code\\&quot;\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nRMAN&gt; BACKUP ARCHIVELOG ALL;\n \nStarting backup at 26-MAY-21\ncurrent log archived\nusing target database control file instead of recovery catalog\nallocated channel: ORA_DISK_1\nchannel ORA_DISK_1: SID=9 device type=DISK\nchannel ORA_DISK_1: starting archived log backup set\nchannel ORA_DISK_1: specifying archived log(s) in backup set\ninput archived log thread=1 sequence=6 RECID=1 STAMP=1073538273\ninput archived log thread=1 sequence=7 RECID=2 STAMP=1073538438\ninput archived log thread=1 sequence=8 RECID=3 STAMP=1073538583\ninput archived log thread=1 sequence=9 RECID=4 STAMP=1073538589\ninput archived log thread=1 sequence=10 RECID=5 STAMP=1073538671\nchannel ORA_DISK_1: starting piece 1 at 26-MAY-21\nchannel ORA_DISK_1: finished piece 1 at 26-MAY-21\npiece handle=\/oracle\/fra\/ASWN\/backupset\/2021_05_26\/o1_mf_annnn_TAG20210526T051111_jbw0nzr8_.bkp tag=TAG20210526T051111 comment=NONE\nchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:07\nFinished backup at 26-MAY-21\n \nStarting Control File and SPFILE Autobackup at 26-MAY-21\npiece handle=\/oracle\/fra\/ASWN\/autobackup\/2021_05_26\/o1_mf_s_1073538678_jbw0o71n_.bkp comment=NONE\nFinished Control File and SPFILE Autobackup at 26-MAY-21\n<\/pre><\/div>\n\n\n<p>Fazendo o delete da tabela para simularmos a situa\u00e7\u00e3o que justifique o PITR (claro que poder\u00edamos usar o Flashback tamb\u00e9m, mas n\u00e3o \u00e9 este o cerne deste artigo):<\/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 SESSION SET CONTAINER=HIPOFISE1;\n \nSession altered.\n \nSQL&gt; DELETE BSS1.TESTE1;\n \n3 rows deleted.\n \nSQL&gt; COMMIT;\n \nCommit complete.\n \nSQL&gt; SELECT COUNT(*) FROM BSS1.TESTE1;\n \n  COUNT(*)\n----------\n         0\n<\/pre><\/div>\n\n\n<p>A parte legal deste recurso de recupera\u00e7\u00e3o de um PDB em espec\u00edfico \u00e9 que o CDB$ROOT e outros PDBs do ambiente n\u00e3o s\u00e3o impactos e n\u00e3o sofrem indisponibilidade. Vamos baixar o nosso pluggable database:<\/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; conn \/ as sysdba\nConnected.\nSQL&gt; ALTER PLUGGABLE DATABASE HIPOFISE1 CLOSE IMMEDIATE;\n \nPluggable database altered.\n<\/pre><\/div>\n\n\n<p>Agora podemos disparar os comandos de restore e recover apenas do PDB, respeitando o n\u00famero de SCN informado, 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;oracle@oel7 dados]$ rman target \/\n \nRecovery Manager: Release 19.0.0.0.0 - Production on Wed May 26 05:12:40 2021\nVersion 19.3.0.0.0\n \nCopyright (c) 1982, 2019, Oracle and\/or its affiliates.  All rights reserved.\n \nconnected to target database: ASWN (DBID=3842619206)\n \nRMAN&gt; RUN {\n        SET UNTIL SCN=2140560;\n        RESTORE PLUGGABLE DATABASE HIPOFISE1;\n        RECOVER PLUGGABLE DATABASE HIPOFISE1;\n}2&gt; 3&gt; 4&gt; 5&gt;\n \nexecuting command: SET until clause\n \nStarting restore at 26-MAY-21\nusing target database control file instead of recovery catalog\nallocated channel: ORA_DISK_1\nchannel ORA_DISK_1: SID=459 device type=DISK\n \nchannel ORA_DISK_1: starting datafile backup set restore\nchannel ORA_DISK_1: specifying datafile(s) to restore from backup set\nchannel ORA_DISK_1: restoring datafile 00009 to \/oracle\/dados\/ASWN\/C3380A6B7D7F3074E0536C00A8C08618\/datafile\/o1_mf_system_jbw01lh3_.dbf\nchannel ORA_DISK_1: restoring datafile 00010 to \/oracle\/dados\/ASWN\/C3380A6B7D7F3074E0536C00A8C08618\/datafile\/o1_mf_sysaux_jbw01lh8_.dbf\nchannel ORA_DISK_1: restoring datafile 00011 to \/oracle\/dados\/ASWN\/C3380A6B7D7F3074E0536C00A8C08618\/datafile\/o1_mf_undotbs1_jbw01lh9_.dbf\nchannel ORA_DISK_1: restoring datafile 00012 to \/oracle\/dados\/ASWN\/C3380A6B7D7F3074E0536C00A8C08618\/datafile\/o1_mf_users_jbw042o2_.dbf\nchannel ORA_DISK_1: reading from backup piece \/oracle\/fra\/ASWN\/C3380A6B7D7F3074E0536C00A8C08618\/backupset\/2021_05_26\/o1_mf_nnndf_TAG20210526T050442_jbw0cjcr_.bkp\nchannel ORA_DISK_1: piece handle=\/oracle\/fra\/ASWN\/C3380A6B7D7F3074E0536C00A8C08618\/backupset\/2021_05_26\/o1_mf_nnndf_TAG20210526T050442_jbw0cjcr_.bkp tag=TAG20210526T050442\nchannel ORA_DISK_1: restored backup piece 1\nchannel ORA_DISK_1: restore complete, elapsed time: 00:00:25\nFinished restore at 26-MAY-21\n \nStarting recover at 26-MAY-21\nusing channel ORA_DISK_1\n \n \nstarting media recovery\n \narchived log for thread 1 with sequence 7 is already on disk as file \/oracle\/archives\/1_7_1073536073.dbf\narchived log for thread 1 with sequence 8 is already on disk as file \/oracle\/archives\/1_8_1073536073.dbf\narchived log for thread 1 with sequence 9 is already on disk as file \/oracle\/archives\/1_9_1073536073.dbf\narchived log for thread 1 with sequence 10 is already on disk as file \/oracle\/archives\/1_10_1073536073.dbf\nmedia recovery complete, elapsed time: 00:00:01\nFinished recover at 26-MAY-21\n<\/pre><\/div>\n\n\n<p>Abrindo o PDB em RESETLOGS:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \\&quot;wp-block-syntaxhighlighter-code\\&quot;\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nRMAN&gt; ALTER PLUGGABLE DATABASE HIPOFISE1 OPEN RESETLOGS;\n \nStatement processed\n<\/pre><\/div>\n\n\n<p>Agora podemos validar se nossa tabela de teste est\u00e1 dispon\u00edvel para uso ap\u00f3s a recupera\u00e7\u00e3o do 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 SESSION SET CONTAINER=HIPOFISE1;\n \nSession altered.\n \nSQL&gt; SELECT * FROM BSS1.TESTE1;\n \nDESCRICAO\n--------------------\nPITR PDB 1\nPITR PDB 2\nPITR PDB 3\n<\/pre><\/div>\n\n\n<p>Caso o procedimento seja realizado em um ambiente corporativo, ap\u00f3s um PITR \u00e9 sempre indicado realizar um backup FULL do ambiente.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Considera\u00e7\u00e3o adicional<\/h2>\n\n\n\n<p>As etapas deste artigo foram inicialmente testadas em um banco de dados 18.13, por\u00e9m no momento de realizar o restore\/recover do PDB, o seguinte erro era reportado:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \\&quot;wp-block-syntaxhighlighter-code\\&quot;\"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nRMAN-00571: ===========================================================\nRMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============\nRMAN-00571: ===========================================================\nRMAN-03002: failure of restore command at 05\/20\/2021 04:48:55\nRMAN-06026: some targets not found - aborting restore\nRMAN-06023: no backup or copy of datafile 11 found to restore\nRMAN-06023: no backup or copy of datafile 10 found to restore\nRMAN-06023: no backup or copy of datafile 9 found to restore\n<\/pre><\/div>\n\n\n<p>Obviamente acreditei que fosse por conta de algum pormenor t\u00e9cnico, ent\u00e3o garanti via LIST que os datafiles possu\u00edam backup. Achei algumas notas tamb\u00e9m relatando um tipo de issue quando a FRA \u00e9 usada. Realizei novos testes sem utilizar a FRA e o erro persistia. Mudei tamb\u00e9m o incarnation do banco de dados, e tamb\u00e9m n\u00e3o foi resolvido. Encontrei at\u00e9 outra nota mencionando um Bug relacionado com Tablespace PITR para PDBs, e que o Workaroud mencionava a necessidade de se usar cat\u00e1logo de backup. Assim fiz, e o erro persistia. Ap\u00f3s compartilhar a situa\u00e7\u00e3o em um grupo de DBAs, me foi sugerido realizar um teste, restaurando o PDB, e s\u00f3 depois no bloco RUN fazer o recover com o SCN desejado. O restore executou com sucesso, mas ao tentar fazer o recover, um ORA-600 \u00e9 reportado. Como j\u00e1 estava no \u00faltimo PSU da vers\u00e3o 18C e n\u00e3o encontrei nenhuma nota de refer\u00eancia, o indicado seria abrir um chamado na Oracle, mas por ser apenas ambiente de laborat\u00f3rio, n\u00e3o pude fazer isso. Mas vale a men\u00e7\u00e3o desta experi\u00eancia para os amigos que venham a passar pelo mesmo caso.<\/p>\n\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>Este artigo aborda a execu\u00e7\u00e3o de um Point-in-Time Recovery em um PDB espec\u00edfico, mas considerando que o ambiente esteja com a configura\u00e7\u00e3o da LOCAL UNDO habilitada. Para os casos onde a UNDO est\u00e1 compartilhada entre CDB$ROOT e demais PDBs (obrigatoriamente da 12.1), a abordagem desta implementa\u00e7\u00e3o \u00e9 diferente e ser\u00e1 tratada em outro momento. Validado [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,8],"tags":[],"class_list":["post-4785","post","type-post","status-publish","format-standard","hentry","category-backup-recovery","category-multitenant"],"_links":{"self":[{"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/posts\/4785","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=4785"}],"version-history":[{"count":1,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/posts\/4785\/revisions"}],"predecessor-version":[{"id":9129,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/posts\/4785\/revisions\/9129"}],"wp:attachment":[{"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=4785"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/categories?post=4785"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/tags?post=4785"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}