{"id":2113,"date":"2016-06-15T14:38:22","date_gmt":"2016-06-15T17:38:22","guid":{"rendered":"http:\/\/www.dbarj.com.br\/?p=2113"},"modified":"2016-08-16T09:36:31","modified_gmt":"2016-08-16T12:36:31","slug":"oracle-scheduler-jobs-e-database-vault","status":"publish","type":"post","link":"https:\/\/www.dbarj.com.br\/pt-br\/2016\/06\/oracle-scheduler-jobs-e-database-vault\/","title":{"rendered":"Oracle Scheduler Jobs e Database Vault"},"content":{"rendered":"<p>Como todos j\u00e1 sabem, o &#8220;Oracle Scheduler&#8221; \u00e9 o agendador de tarefas oficial do Banco de Dados Oracle. Ele \u00e9 uma ferramenta robusta e complexa, permitindo criar cadeias de execu\u00e7\u00f5es, intervalos parametrizados em diversas m\u00e9tricas de datas,\u00a0janelas de execu\u00e7\u00f5es, etc.<\/p>\n<p><strong>Artigo Publicado na OTN:\u00a0<a href=\"http:\/\/www.oracle.com\/technetwork\/pt\/articles\/database-performance\/oracle-scheduler-jobs-3021419-ptb.html\" target=\"_blank\">http:\/\/www.oracle.com\/technetwork\/pt\/articles\/database-performance\/oracle-scheduler-jobs-3021419-ptb.html<\/a><\/strong><\/p>\n<p>Na maioria dos casos, quando um job \u00e9 criado, alterado e executado pelo seu pr\u00f3prio dono, n\u00e3o h\u00e1 muitas\u00a0complica\u00e7\u00f5es. No entanto, as coisas podem ficar realmente confusas\u00a0principalmente quando trabalhamos em sistemas que envolvem a camada de seguran\u00e7a do Oracle Database Vault e se o job for criado\u00a0por um usu\u00e1rio diferente do seu propriet\u00e1rio.<\/p>\n<p>Neste artigo, irei mostrar os usu\u00e1rios envolvidos em um Scheduler Job e o papel de cada um.<\/p>\n<p>Bom, para come\u00e7ar, existem basicamente\u00a0<strong>3 usu\u00e1rios<\/strong>\u00a0que participam de um Oracle Scheduler Job. S\u00e3o eles:<\/p>\n<ul>\n<li><strong>O Dono do Job<\/strong>\u00a0\u2013 \u00a0Coluna &#8220;OWNER&#8221; da\u00a0view <em>all_scheduler_jobs.<\/em><\/li>\n<li><strong>O Criador do Job<\/strong>\u00a0\u2013 \u00a0Coluna &#8220;JOB_CREATOR&#8221; da view\u00a0<em>all_scheduler_jobs.<\/em><\/li>\n<li><strong>O \u00daltimo &#8220;modificador&#8221; do Job<\/strong>\u00a0\u2013 Essa informa\u00e7\u00e3o\u00a0n\u00e3o est\u00e1 presente na\u00a0view <em>all_scheduler_jobs<\/em> e precisa ser obtida atrav\u00e9s de consultas em tabelas do dicion\u00e1rio.<\/li>\n<\/ul>\n<p>Para que serve cada usu\u00e1rio \u00e9 o que iremos ver\u00a0a seguir.<\/p>\n<h3><strong>1 \u2013 O Dono do Job<\/strong><\/h3>\n<p>O dono do job \u00e9 o schema informado dentro do par\u00e2metro JOB_NAME ao se criar um Job. Se omitido, o dono ser\u00e1 o mesmo usu\u00e1rio que executou o comando de cria\u00e7\u00e3o. No exemplo abaixo, o owner\u00a0\u00e9 o usu\u00e1rio &#8220;SCOTT&#8221;.<\/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>O dono do job ser\u00e1 tamb\u00e9m o seu\u00a0<strong><u>executor<\/u><\/strong>. Se a tarefa roda\u00a0uma procedure ou PL\/SQL, este usu\u00e1rio precisa, portanto,\u00a0<u>ter a permiss\u00e3o<\/u>\u00a0de executar a procedure ou privil\u00e9gios nos objetos acessados pelo c\u00f3digo PL\/SQL. Caso contr\u00e1rio, receber\u00e1 um erro como &#8220;<em>ORA-00942: table or view does not exist<\/em>&#8220;.<\/p>\n<p>Em caso de execu\u00e7\u00e3o de um PL\/SQL, as vari\u00e1veis de ambiente\u00a0<em>CURRENT_USER<\/em> (esquema cujos privil\u00e9gios est\u00e3o ativos no momento) e <em>CURRENT_SCHEMA<\/em> (esquema default ativo no momento) ser\u00e3o obviamente o dono do job pois, como j\u00e1 informado, ele \u00e9 o executor.<\/p>\n<p>No entanto, em caso de execu\u00e7\u00e3o de uma Procedure, as vari\u00e1veis \u00a0<em>CURRENT_USER<\/em> e <em>CURRENT_SCHEMA<\/em> apontar\u00e3o para o dono da Procedure, j\u00e1 que\u00a0uma procedure ao ser chamada \u00e9 executada com os privil\u00e9gios e padr\u00f5es de seu propriet\u00e1rio (exceto se ela possuir\u00a0&#8220;AUTHID CURRENT_USER&#8221; que, neste caso, se comportaria similar a um bloco PL\/SQL informado acima).<\/p>\n<p>E se lockarmos o usu\u00e1rio que \u00e9 propriet\u00e1rio? Neste cen\u00e1rio, nada\u00a0interfere e a tarefa continuar\u00e1 executando na forma agendada sem problemas. No entanto, se o propriet\u00e1rio do job for removido, por pertenc\u00ea-lo o agendamento tamb\u00e9m ser\u00e1 apagado.<\/p>\n<h3><strong>2 \u2013 O Criador\u00a0do Job<\/strong><\/h3>\n<p>O criador\u00a0do job \u00e9 o schema que executou a procedure\u00a0DBMS_SCHEDULER.CREATE_JOB. Caso voc\u00ea crie um job para outro usu\u00e1rio, voc\u00ea ser\u00e1 definido como o\u00a0<strong><u>criador<\/u><\/strong>\u00a0daquele job.<\/p>\n<p><em>OBS: Lembrando que para criar um job em outro schema \u00e9 necess\u00e1rio ter o privil\u00e9gio &#8220;CREATE ANY JOB&#8221;.<\/em><\/p>\n<p>O criador do job ser\u00e1 o usu\u00e1rio que se conectar\u00e1 na base antes de\u00a0execut\u00e1-lo, apesar do executor ser o propriet\u00e1rio.\u00a0Portanto, a vari\u00e1vel de ambiente\u00a0SESSION_USER apontar\u00e1 sempre para o criador. No entanto, quem cria n\u00e3o precisa de quaisquer privil\u00e9gios nos objetos envolvidos e executados pelo job.<\/p>\n<p>Durante a execu\u00e7\u00e3o do agendamento, se consultarmos a coluna &#8220;USERNAME&#8221; da v$session, ela retornar\u00e1 o usu\u00e1rio criador (pois \u00e9 ele quem efetuou o login).<\/p>\n<p>No exemplo do item anterior, se o job SCOTT.JOB1 tiver sido criado pelo usu\u00e1rio INFRAUSR, este seria o output da\u00a0<strong>v$session<\/strong>\u00a0durante a execu\u00e7\u00e3o da tarefa:<\/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>Apesar do usu\u00e1rio que criou ser o utilizado para logar, se ele\u00a0for\u00a0lockado (ou revogarem\u00a0os seus privil\u00e9gios de CREATE SESSION), o job continuar\u00e1 executando normalmente. Isso porque a forma do login para\u00a0a execu\u00e7\u00e3o de um job \u00e9\u00a0diferente. No entanto, fique atento pois jobs disparam triggers de &#8220;BEFORE LOGIN&#8221;.<\/p>\n<p>E se deletarmos o usu\u00e1rio que criou o job? Nesta situa\u00e7\u00e3o, o job\u00a0<strong>n\u00e3o<\/strong>\u00a0\u00e9 deletado, apenas \u00e9 desativado. Ao\u00a0tentar ativ\u00e1-lo, o status do job na all_scheduler_job_logs ser\u00e1 de\u00a0BROKEN. Ser\u00e1 necess\u00e1rio recri\u00e1-lo para que volte a funcionar.<\/p>\n<h3><strong>3 \u2013\u00a0O \u00daltimo &#8220;modificador&#8221; do Job<\/strong><\/h3>\n<p>O que pouca gente sabe, \u00e9 que o Oracle mant\u00e9m em seus registros qual foi o usu\u00e1rio que alterou um job pela \u00faltima vez. Esse papel \u00e9 importante apenas em Banco de Dados que possuem Database Vault configurado e quando o job est\u00e1 protegido por um Realm.<\/p>\n<p>Isto porque a \u00faltima pessoa que alterou uma determinada tarefa\u00a0passa a ser monitorada pelo Oracle Database Vault e apenas usu\u00e1rios que possuem\u00a0libera\u00e7\u00e3o em uma camada especial ser\u00e3o liberados.<\/p>\n<p><strong>Qual o motivo desta prote\u00e7\u00e3o?<\/strong>\u00a0Um usu\u00e1rio com o privil\u00e9gio &#8220;CREATE ANY JOB&#8221; poderia facilmente comprometer o BD ou conseguir uma\u00a0escala\u00e7\u00e3o de privil\u00e9gios,\u00a0criando\/alterando um job de um outro usu\u00e1rio que \u00e9 DBA fazendo com que aquele processo\u00a0fizesse o que ele bem desejasse.<\/p>\n<p><strong>Exemplo:<\/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>No Oracle Database Vault, isso n\u00e3o seria poss\u00edvel.<\/p>\n<p>Para obtermos o ultimo usu\u00e1rio que alterou um job, precisamos consultar a coluna &#8220;<strong>RUN_INVOKER<\/strong>&#8221; da tabela\u00a0<strong>SYS.SCHEDULER$_JOB<\/strong>:<\/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>No exemplo acima, o job foi modificado pela \u00faltima vez pelo usu\u00e1rio do\u00a0Oracle OPERUSR.\u00a0Isso significa que caso o OPERUSR n\u00e3o tenha privil\u00e9gios no DB Vault para execut\u00e1-lo, o job apresentar\u00e1 o erro:<\/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>Este erro n\u00e3o tem nada a ver com as permiss\u00f5es nos objetos envolvidos, at\u00e9 porque os privil\u00e9gios nos objetos envolvidos, como j\u00e1 dito, quem precisa ter \u00e9 o dono do job, que no caso \u00e9 o SCOTT.<\/p>\n<p><strong>Ent\u00e3o qual privil\u00e9gio \u00e9 necess\u00e1rio?<\/strong> Apenas o simples privil\u00e9gio de que aquele job estar\u00e1 liberado a executar para\u00a0o usu\u00e1rio que o modificou pela \u00faltima vez.<\/p>\n<p>No Database Vault, logado como DV Owner, esta autoriza\u00e7\u00e3o pode ser concedida\/consultada executando:<\/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>Por fim, como pudemos ver neste artigo, um job pode ser mais complexo do que parece. Caso voc\u00ea esteja tendo problemas de privil\u00e9gio em alguma de suas tarefas agendadas, n\u00e3o esque\u00e7a de consultar qual \u00e9 o papel de cada usu\u00e1rio que est\u00e1 participando e se todos t\u00eam os privil\u00e9gios adequados.<\/p>\n<p>&nbsp;<\/p>\n<b>Gostou? N\u00e3o deixe de comentar ou deixar um \ud83d\udc4d!<\/b>\n<div class='watch-action'><div class='watch-position align-left'><div class='action-like'><a class='lbg-style2 like-2113 jlk' href='javascript:void(0)' data-task='like' data-post_id='2113' data-nonce='7596861fb6' 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-2113 lc'>+4<\/span><\/a><\/div><\/div> <div class='status-2113 status align-left'><\/div><\/div><div class='wti-clear'><\/div>","protected":false},"excerpt":{"rendered":"<p>Como todos j\u00e1 sabem, o &#8220;Oracle Scheduler&#8221; \u00e9 o agendador de tarefas oficial do Banco de Dados Oracle. Ele \u00e9 uma ferramenta robusta e complexa, permitindo criar cadeias de execu\u00e7\u00f5es, intervalos parametrizados em diversas m\u00e9tricas de datas,\u00a0janelas de execu\u00e7\u00f5es, etc. Artigo Publicado na OTN:\u00a0http:\/\/www.oracle.com\/technetwork\/pt\/articles\/database-performance\/oracle-scheduler-jobs-3021419-ptb.html Na maioria dos casos, quando um job \u00e9 criado, alterado e &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"https:\/\/www.dbarj.com.br\/pt-br\/2016\/06\/oracle-scheduler-jobs-e-database-vault\/\">Continue lendo<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19,2],"tags":[],"class_list":["post-2113","post","type-post","status-publish","format-standard","hentry","category-security","category-database","item-wrap"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Oracle Scheduler Jobs e Database Vault - DBA - Rodrigo Jorge - Oracle Tips and Guides<\/title>\n<meta name=\"description\" content=\"Quais s\u00e3o os pap\u00e9is dos usu\u00e1rios no Oracle Scheduler Jobs e como ele se relaciona com o Oracle Database Vault.\" \/>\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\/pt-br\/2016\/06\/oracle-scheduler-jobs-e-database-vault\/\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"DBA RJ\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/2016\\\/06\\\/oracle-scheduler-jobs-e-database-vault\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/2016\\\/06\\\/oracle-scheduler-jobs-e-database-vault\\\/\"},\"author\":{\"name\":\"DBA RJ\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/#\\\/schema\\\/person\\\/28a44ca3a6633fe4156ad1ea209d40a9\"},\"headline\":\"Oracle Scheduler Jobs e Database Vault\",\"datePublished\":\"2016-06-15T17:38:22+00:00\",\"dateModified\":\"2016-08-16T12:36:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/2016\\\/06\\\/oracle-scheduler-jobs-e-database-vault\\\/\"},\"wordCount\":1097,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/#\\\/schema\\\/person\\\/28a44ca3a6633fe4156ad1ea209d40a9\"},\"articleSection\":[\"Database Security\",\"Oracle Database General\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/2016\\\/06\\\/oracle-scheduler-jobs-e-database-vault\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/2016\\\/06\\\/oracle-scheduler-jobs-e-database-vault\\\/\",\"url\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/2016\\\/06\\\/oracle-scheduler-jobs-e-database-vault\\\/\",\"name\":\"Oracle Scheduler Jobs e Database Vault - DBA - Rodrigo Jorge - Oracle Tips and Guides\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/#website\"},\"datePublished\":\"2016-06-15T17:38:22+00:00\",\"dateModified\":\"2016-08-16T12:36:31+00:00\",\"description\":\"Quais s\u00e3o os pap\u00e9is dos usu\u00e1rios no Oracle Scheduler Jobs e como ele se relaciona com o Oracle Database Vault.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/2016\\\/06\\\/oracle-scheduler-jobs-e-database-vault\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/2016\\\/06\\\/oracle-scheduler-jobs-e-database-vault\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/2016\\\/06\\\/oracle-scheduler-jobs-e-database-vault\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Oracle Scheduler Jobs e Database Vault\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/#website\",\"url\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/\",\"name\":\"DBA - Rodrigo Jorge - Oracle Tips and Guides\",\"description\":\"Blog about Databases, Security and High Availability\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/#\\\/schema\\\/person\\\/28a44ca3a6633fe4156ad1ea209d40a9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.dbarj.com.br\\\/pt-br\\\/#\\\/schema\\\/person\\\/28a44ca3a6633fe4156ad1ea209d40a9\",\"name\":\"DBA RJ\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@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 e Database Vault - DBA - Rodrigo Jorge - Oracle Tips and Guides","description":"Quais s\u00e3o os pap\u00e9is dos usu\u00e1rios no Oracle Scheduler Jobs e como ele se relaciona com o Oracle Database Vault.","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\/pt-br\/2016\/06\/oracle-scheduler-jobs-e-database-vault\/","twitter_misc":{"Escrito por":"DBA RJ","Est. tempo de leitura":"7 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbarj.com.br\/pt-br\/2016\/06\/oracle-scheduler-jobs-e-database-vault\/#article","isPartOf":{"@id":"https:\/\/www.dbarj.com.br\/pt-br\/2016\/06\/oracle-scheduler-jobs-e-database-vault\/"},"author":{"name":"DBA RJ","@id":"https:\/\/www.dbarj.com.br\/pt-br\/#\/schema\/person\/28a44ca3a6633fe4156ad1ea209d40a9"},"headline":"Oracle Scheduler Jobs e Database Vault","datePublished":"2016-06-15T17:38:22+00:00","dateModified":"2016-08-16T12:36:31+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbarj.com.br\/pt-br\/2016\/06\/oracle-scheduler-jobs-e-database-vault\/"},"wordCount":1097,"commentCount":0,"publisher":{"@id":"https:\/\/www.dbarj.com.br\/pt-br\/#\/schema\/person\/28a44ca3a6633fe4156ad1ea209d40a9"},"articleSection":["Database Security","Oracle Database General"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbarj.com.br\/pt-br\/2016\/06\/oracle-scheduler-jobs-e-database-vault\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbarj.com.br\/pt-br\/2016\/06\/oracle-scheduler-jobs-e-database-vault\/","url":"https:\/\/www.dbarj.com.br\/pt-br\/2016\/06\/oracle-scheduler-jobs-e-database-vault\/","name":"Oracle Scheduler Jobs e Database Vault - DBA - Rodrigo Jorge - Oracle Tips and Guides","isPartOf":{"@id":"https:\/\/www.dbarj.com.br\/pt-br\/#website"},"datePublished":"2016-06-15T17:38:22+00:00","dateModified":"2016-08-16T12:36:31+00:00","description":"Quais s\u00e3o os pap\u00e9is dos usu\u00e1rios no Oracle Scheduler Jobs e como ele se relaciona com o Oracle Database Vault.","breadcrumb":{"@id":"https:\/\/www.dbarj.com.br\/pt-br\/2016\/06\/oracle-scheduler-jobs-e-database-vault\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbarj.com.br\/pt-br\/2016\/06\/oracle-scheduler-jobs-e-database-vault\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbarj.com.br\/pt-br\/2016\/06\/oracle-scheduler-jobs-e-database-vault\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.dbarj.com.br\/pt-br\/"},{"@type":"ListItem","position":2,"name":"Oracle Scheduler Jobs e Database Vault"}]},{"@type":"WebSite","@id":"https:\/\/www.dbarj.com.br\/pt-br\/#website","url":"https:\/\/www.dbarj.com.br\/pt-br\/","name":"DBA - Rodrigo Jorge - Oracle Tips and Guides","description":"Blog about Databases, Security and High Availability","publisher":{"@id":"https:\/\/www.dbarj.com.br\/pt-br\/#\/schema\/person\/28a44ca3a6633fe4156ad1ea209d40a9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbarj.com.br\/pt-br\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":["Person","Organization"],"@id":"https:\/\/www.dbarj.com.br\/pt-br\/#\/schema\/person\/28a44ca3a6633fe4156ad1ea209d40a9","name":"DBA RJ","image":{"@type":"ImageObject","inLanguage":"pt-BR","@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\/pt-br\/wp-json\/wp\/v2\/posts\/2113","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbarj.com.br\/pt-br\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbarj.com.br\/pt-br\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbarj.com.br\/pt-br\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbarj.com.br\/pt-br\/wp-json\/wp\/v2\/comments?post=2113"}],"version-history":[{"count":0,"href":"https:\/\/www.dbarj.com.br\/pt-br\/wp-json\/wp\/v2\/posts\/2113\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dbarj.com.br\/pt-br\/wp-json\/wp\/v2\/media?parent=2113"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbarj.com.br\/pt-br\/wp-json\/wp\/v2\/categories?post=2113"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbarj.com.br\/pt-br\/wp-json\/wp\/v2\/tags?post=2113"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}