{"id":2125,"date":"2016-08-16T13:36:10","date_gmt":"2016-08-16T16:36:10","guid":{"rendered":"http:\/\/www.dbarj.com.br\/en\/?p=2125"},"modified":"2016-08-16T14:49:51","modified_gmt":"2016-08-16T17:49:51","slug":"oracle-scheduler-jobs-database-vault","status":"publish","type":"post","link":"https:\/\/www.dbarj.com.br\/en\/2016\/08\/oracle-scheduler-jobs-database-vault\/","title":{"rendered":"Oracle Scheduler Jobs and Database Vault"},"content":{"rendered":"<p>As everybody knows, the &#8220;Oracle Scheduler&#8221; is the official task manager for an\u00a0Oracle Database. It is a robust and complex tool, allowing the user to create chains, parameterized intervals on several types of metrics, execution windows, etc.<\/p>\n<p>In most cases, when a job is created, modified and executed by its owner, there are not many complications. However, things can get confusing especially when you are working on systems that has\u00a0the security layer of Oracle Database Vault and if the job was created by an user other than its owner.<\/p>\n<p>In this article, I will show the users that are involved in a Scheduler Job and the role of each.<\/p>\n<p>Well, first, there are basically <strong>3 users<\/strong> participating in an Oracle Scheduler Job:<\/p>\n<ul>\n<li><strong>The Job Owner<\/strong>\u00a0\u2013\u00a0&#8220;OWNER&#8221; column of <em>all_scheduler_jobs.<\/em> view<\/li>\n<li><strong>The Job Creator<\/strong>\u00a0\u2013 &#8220;JOB_CREATOR&#8221; column of <em>all_scheduler_jobs.<\/em> view<\/li>\n<li><strong>The Job latest &#8220;Modifier&#8221;<\/strong>\u00a0\u2013 This information is not present in <em>all_scheduler_jobs<\/em> view and must be obtained through queries on dictionary tables.<\/li>\n<\/ul>\n<p>The attribution of each role is what we will see next.<\/p>\n<h3><strong>1 \u2013 The Job Owner<\/strong><\/h3>\n<p>The job owner is the schema informed within the JOB_NAME parameter when creating a Job. If omitted, the owner will be the same user who\u00a0executed the CREATE_JOB procedure. In the next example, the owner is &#8220;SCOTT&#8221; user.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"oracledb\">BEGIN\r\n DBMS_SCHEDULER.CREATE_JOB(JOB_NAME  =&gt; 'SCOTT.JOB1', ..........);\r\nEND;\r\n\/<\/pre>\n<p>The owner will also be the <strong><u>executor<\/u><\/strong>. If the task runs a procedure or PL\/SQL, this user must therefore <u>be allowed<\/u> to execute the procedure or privileges on the objects accessed by PL\/SQL code. Otherwise, you will receive an error such as &#8220;<em>ORA-00942: table or view does not exist<\/em>&#8220;.<\/p>\n<p>In case of executing\u00a0a PL\/SQL, the environment variables <em>CURRENT_USER<\/em> (user whose privileges are currently active) and <em>CURRENT_SCHEMA<\/em> (active default schema at the time) will obviously be the job owner because, as already mentioned, he is the executor.<\/p>\n<p>However, in case of running\u00a0a Procedure, the variables <em>CURRENT_USER<\/em> and <em>CURRENT_SCHEMA<\/em> show the owner of the Procedure since\u00a0when it is called, it executes with the privileges of its owner (except if it has &#8220;AUTHID CURRENT_USER&#8221; and in this case would behave similar to a PL\/SQL explained above).<\/p>\n<p>And what happens if we lock the user who owns the job? In this scenario, nothing interferes and the task will continue to run\u00a0on the scheduled time\u00a0without any problems. However, if the owner is removed, the scheduled job will also be deleted.<\/p>\n<h3><strong>2 \u2013 The Job Creator<\/strong><\/h3>\n<p>The job creator is the schema that runs the procedure DBMS_SCHEDULER.CREATE_JOB. If you create a job to another user, you will be defined\u00a0as the <strong><u>creator<\/u><\/strong>\u00a0of that job.<\/p>\n<p><em>NOTE: Remember that to create a job in another schema you must have the privilege &#8220;CREATE ANY JOB.&#8221;<\/em><\/p>\n<p>The job creator is the user that will connect to the database before running it, despite the executor be the owner. Therefore, the environment variable SESSION_USER always points to the creator. However, those who create do not need any privileges on the objects involved and executed by the job.<\/p>\n<p>During the execution of the scheduled job, if we query the column &#8220;USERNAME&#8221; from v$session, it returns the job creator user (as he is the one who logged in).<\/p>\n<p>In the latest example, if the SCOTT.JOB1 job was created by INFRAUSR, this would be the output of the <strong>v$session<\/strong> while the task was running:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"oracledb\">SQL&gt; select username,schemaname,status,program,type,module,action from v$session where module='DBMS_SCHEDULER';\r\n \r\nUSERNAME       SCHEMANAME      STATUS   PROGRAM                      TYPE       MODULE              ACTION\r\n-------------- --------------- -------- ---------------------------- ---------- ------------------- --------\r\nINFRAUSR       SCOTT           ACTIVE   oracle@localhost (J000)      USER       DBMS_SCHEDULER      JOB1\r\n \r\nSQL&gt;<\/pre>\n<p>Despite the user who created be used to log in, if it is locked (or revoked the\u00a0CREATE SESSION privilege), the job will continue to run normally. This is because the\u00a0internal behind the\u00a0sign in for the execution of a job is different. Be aware that, even so, jobs trigger &#8220;BEFORE LOGIN&#8221; actions.<\/p>\n<p>And what if we delete the user who created the job? In this situation, the job <strong>isn&#8217;t<\/strong> deleted, only disabled. When trying to activate it, the job status in all_scheduler_job_logs will be changed to BROKEN. You will need to recreate it to make it work again.<\/p>\n<h3><strong>3 \u2013\u00a0The Job latest &#8220;Modifier&#8221;<\/strong><\/h3>\n<p>What a few people know is that Oracle maintains in its records the user who changed a\u00a0job for the last time. This information is important only if the database has &#8220;Database Vault&#8221; feature enabled\u00a0and when the job is also protected by a Realm.<\/p>\n<p>This happens because the last one\u00a0who changes a particular task is monitored by Oracle Database Vault and only jobs modified by users who have a special privilege on a separated job layer will be authorized to run.<\/p>\n<p><strong>What is the reason for this protection?<\/strong> A user with the &#8220;CREATE ANY JOB&#8221; privilege could easily compromise the DB or explore\u00a0a privilege escalation by creating\/changing a job from another user who is DBA making that process do whatever he wanted.<\/p>\n<p><strong>Example:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"oracledb\">BEGIN\r\n DBMS_SCHEDULER.CREATE_JOB(\r\n  JOB_NAME =&gt; 'SCOTT.JOB_TEMP',\r\n  JOB_TYPE =&gt; 'PLSQL_BLOCK',\r\n  JOB_ACTION =&gt; q'[BEGIN EXECUTE IMMEDIATE 'GRANT SELECT ON SCOTT.EMP TO MYUSER'; END;]',\r\n  ENABLED =&gt; TRUE);\r\nEND;\r\n\/ \r\n<\/pre>\n<p>With Oracle Database Vault feature, this would not be possible.<\/p>\n<p>To get the last user who changed a job, we need to query the &#8220;<strong>RUN_INVOKER<\/strong>&#8221; column on <strong>SYS.SCHEDULER$_JOB<\/strong> table:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"oracledb\">SQL&gt; col job_creator format a25\r\nSQL&gt; col job_owner format a25\r\nSQL&gt; col job_name format a25\r\nSQL&gt; col perms_check_user format a25\r\n \r\nSQL&gt; SELECT JU.NAME   \"JOB_OWNER\",\r\n  2         JO.NAME   \"JOB_NAME\",\r\n  3         J.CREATOR \"JOB_CREATOR\",\r\n  4         JR.NAME   \"JOB_MODIFIER\"\r\n  5  FROM   SYS.SCHEDULER$_JOB J,\r\n  6         SYS.USER$ JU,\r\n  7         SYS.USER$ JR,\r\n  8         SYS.OBJ$ JO\r\n  9  WHERE  J.RUN_INVOKER = JR.USER# (+)\r\n 10  AND    J.OBJ# = JO.OBJ#\r\n 11  AND    JO.OWNER# = JU.USER#\r\n 12  AND    JO.NAME = 'JOB_TEST';\r\n \r\nJOB_OWNER                 JOB_NAME                  JOB_CREATOR               JOB_MODIFIER\r\n------------------------- ------------------------- ------------------------- -------------------------\r\nSCOTT                     JOB_TEST                  INFRAUSR                  OPERUSR<\/pre>\n<p>In the example above, the job was last modified by OPERUSR. This means that if the OPERUSR has no privileges on DB Vault to run it, the job will display the error upon execution:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"oracledb\">ORA-12012: error on auto execute of job \"SCOTT\".\"JOB_TEST\"\r\nORA-01031: insufficient privileges\r\nORA-06512: at line 2<\/pre>\n<p>This error has nothing to do with the permissions on the objects involved, because privileges on those\u00a0objects, as already said, who needs to have is the job owner, which in this case is SCOTT.<\/p>\n<p><strong>So what privilege it is necessary?<\/strong> Only the simple authorization\u00a0that this job will be allowed\u00a0to run for the user who last modified it.<\/p>\n<p>In the Database, logged in as a DV Owner account, this authorization may be granted\/consulted by running:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"oracledb\">SQL&gt; EXEC DVSYS.DBMS_MACADM.AUTHORIZE_SCHEDULER_USER(UNAME =&gt; 'OPERUSR', SNAME =&gt; 'SCOTT');\r\n \r\nPL\/SQL procedure successfully completed.\r\n \r\nSQL&gt; col grantee format a30\r\nSQL&gt; col schema format a30\r\nSQL&gt; select * from dvsys.dba_dv_job_auth;\r\n \r\nGRANTEE                        SCHEMA\r\n------------------------------ ------------------------------\r\nOPERUSR                        SCOTT<\/pre>\n<p>Lastly, as we saw in this article, a job may be more complex than it seems. If you are having problems privilege in any of your scheduled tasks, be sure to check what is the role of each user who is participating and that all have the appropriate privileges.<\/p>\n<p>&nbsp;<\/p>\n<b>Have you enjoyed? Please leave a comment or give a \ud83d\udc4d!<\/b>\n<div class='watch-action'><div class='watch-position align-left'><div class='action-like'><a class='lbg-style2 like-2125 jlk' href='javascript:void(0)' data-task='like' data-post_id='2125' data-nonce='de4404f630' rel='nofollow'><img class='wti-pixel' src='https:\/\/www.dbarj.com.br\/wp-content\/plugins\/wti-like-post\/images\/pixel.gif' title='Like' \/><span class='lc-2125 lc'>+8<\/span><\/a><\/div><\/div> <div class='status-2125 status align-left'><\/div><\/div><div class='wti-clear'><\/div>","protected":false},"excerpt":{"rendered":"<p>As everybody knows, the &#8220;Oracle Scheduler&#8221; is the official task manager for an\u00a0Oracle Database. It is a robust and complex tool, allowing the user to create chains, parameterized intervals on several types of metrics, execution windows, etc. In most cases, when a job is created, modified and executed by its owner, there are not many &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"https:\/\/www.dbarj.com.br\/en\/2016\/08\/oracle-scheduler-jobs-database-vault\/\">Continue reading<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20,15],"tags":[],"class_list":["post-2125","post","type-post","status-publish","format-standard","hentry","category-security-en","category-database-en","item-wrap"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Oracle Scheduler Jobs and Database Vault - DBA - Rodrigo Jorge - Oracle Tips and Guides<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbarj.com.br\/en\/2016\/08\/oracle-scheduler-jobs-database-vault\/\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DBA RJ\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2016\\\/08\\\/oracle-scheduler-jobs-database-vault\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2016\\\/08\\\/oracle-scheduler-jobs-database-vault\\\/\"},\"author\":{\"name\":\"DBA RJ\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/#\\\/schema\\\/person\\\/28a44ca3a6633fe4156ad1ea209d40a9\"},\"headline\":\"Oracle Scheduler Jobs and Database Vault\",\"datePublished\":\"2016-08-16T16:36:10+00:00\",\"dateModified\":\"2016-08-16T17:49:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2016\\\/08\\\/oracle-scheduler-jobs-database-vault\\\/\"},\"wordCount\":1009,\"commentCount\":4,\"publisher\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/#\\\/schema\\\/person\\\/28a44ca3a6633fe4156ad1ea209d40a9\"},\"articleSection\":[\"Database Security\",\"Oracle Database General\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2016\\\/08\\\/oracle-scheduler-jobs-database-vault\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2016\\\/08\\\/oracle-scheduler-jobs-database-vault\\\/\",\"url\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2016\\\/08\\\/oracle-scheduler-jobs-database-vault\\\/\",\"name\":\"Oracle Scheduler Jobs and Database Vault - DBA - Rodrigo Jorge - Oracle Tips and Guides\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/#website\"},\"datePublished\":\"2016-08-16T16:36:10+00:00\",\"dateModified\":\"2016-08-16T17:49:51+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2016\\\/08\\\/oracle-scheduler-jobs-database-vault\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2016\\\/08\\\/oracle-scheduler-jobs-database-vault\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/2016\\\/08\\\/oracle-scheduler-jobs-database-vault\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Oracle Scheduler Jobs and Database Vault\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/\",\"name\":\"DBA - Rodrigo Jorge - Oracle Tips and Guides\",\"description\":\"Blog about Databases, Security and High Availability\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/#\\\/schema\\\/person\\\/28a44ca3a6633fe4156ad1ea209d40a9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/en\\\/#\\\/schema\\\/person\\\/28a44ca3a6633fe4156ad1ea209d40a9\",\"name\":\"DBA RJ\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/RodrigoJorgePOUG19.png\",\"url\":\"https:\\\/\\\/www.dbarj.com.br\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/RodrigoJorgePOUG19.png\",\"contentUrl\":\"https:\\\/\\\/www.dbarj.com.br\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/RodrigoJorgePOUG19.png\",\"width\":712,\"height\":712,\"caption\":\"DBA RJ\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/RodrigoJorgePOUG19.png\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Oracle Scheduler Jobs and Database Vault - DBA - Rodrigo Jorge - Oracle Tips and Guides","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbarj.com.br\/en\/2016\/08\/oracle-scheduler-jobs-database-vault\/","twitter_misc":{"Written by":"DBA RJ","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbarj.com.br\/en\/2016\/08\/oracle-scheduler-jobs-database-vault\/#article","isPartOf":{"@id":"https:\/\/www.dbarj.com.br\/en\/2016\/08\/oracle-scheduler-jobs-database-vault\/"},"author":{"name":"DBA RJ","@id":"https:\/\/www.dbarj.com.br\/en\/#\/schema\/person\/28a44ca3a6633fe4156ad1ea209d40a9"},"headline":"Oracle Scheduler Jobs and Database Vault","datePublished":"2016-08-16T16:36:10+00:00","dateModified":"2016-08-16T17:49:51+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbarj.com.br\/en\/2016\/08\/oracle-scheduler-jobs-database-vault\/"},"wordCount":1009,"commentCount":4,"publisher":{"@id":"https:\/\/www.dbarj.com.br\/en\/#\/schema\/person\/28a44ca3a6633fe4156ad1ea209d40a9"},"articleSection":["Database Security","Oracle Database General"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbarj.com.br\/en\/2016\/08\/oracle-scheduler-jobs-database-vault\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbarj.com.br\/en\/2016\/08\/oracle-scheduler-jobs-database-vault\/","url":"https:\/\/www.dbarj.com.br\/en\/2016\/08\/oracle-scheduler-jobs-database-vault\/","name":"Oracle Scheduler Jobs and Database Vault - DBA - Rodrigo Jorge - Oracle Tips and Guides","isPartOf":{"@id":"https:\/\/www.dbarj.com.br\/en\/#website"},"datePublished":"2016-08-16T16:36:10+00:00","dateModified":"2016-08-16T17:49:51+00:00","breadcrumb":{"@id":"https:\/\/www.dbarj.com.br\/en\/2016\/08\/oracle-scheduler-jobs-database-vault\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbarj.com.br\/en\/2016\/08\/oracle-scheduler-jobs-database-vault\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbarj.com.br\/en\/2016\/08\/oracle-scheduler-jobs-database-vault\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.dbarj.com.br\/en\/"},{"@type":"ListItem","position":2,"name":"Oracle Scheduler Jobs and Database Vault"}]},{"@type":"WebSite","@id":"https:\/\/www.dbarj.com.br\/en\/#website","url":"https:\/\/www.dbarj.com.br\/en\/","name":"DBA - Rodrigo Jorge - Oracle Tips and Guides","description":"Blog about Databases, Security and High Availability","publisher":{"@id":"https:\/\/www.dbarj.com.br\/en\/#\/schema\/person\/28a44ca3a6633fe4156ad1ea209d40a9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbarj.com.br\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.dbarj.com.br\/en\/#\/schema\/person\/28a44ca3a6633fe4156ad1ea209d40a9","name":"DBA RJ","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2019\/09\/RodrigoJorgePOUG19.png","url":"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2019\/09\/RodrigoJorgePOUG19.png","contentUrl":"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2019\/09\/RodrigoJorgePOUG19.png","width":712,"height":712,"caption":"DBA RJ"},"logo":{"@id":"https:\/\/www.dbarj.com.br\/wp-content\/uploads\/2019\/09\/RodrigoJorgePOUG19.png"}}]}},"_links":{"self":[{"href":"https:\/\/www.dbarj.com.br\/en\/wp-json\/wp\/v2\/posts\/2125","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbarj.com.br\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbarj.com.br\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbarj.com.br\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbarj.com.br\/en\/wp-json\/wp\/v2\/comments?post=2125"}],"version-history":[{"count":0,"href":"https:\/\/www.dbarj.com.br\/en\/wp-json\/wp\/v2\/posts\/2125\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dbarj.com.br\/en\/wp-json\/wp\/v2\/media?parent=2125"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbarj.com.br\/en\/wp-json\/wp\/v2\/categories?post=2125"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbarj.com.br\/en\/wp-json\/wp\/v2\/tags?post=2125"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}