GPO ( Grupo de Profissionais Oracle )
A maior comunidade Oracle do Brasil !

Alterar Job de outro usuário

Não sei se alguém sabe um jeito mais fácil de alterar Jobs de usuários sem ter ou alterar a senha deles, mas segue aqui como consegui.

[oracle@Oracle-01 ~]$ sqlplus SCOTT/TIGER

 SQL*Plus: Release 11.2.0.1.0 Production on Thu Sep 9 13:30:14 2010

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options

SQL> VARIABLE JOB NUMBER
SQL> EXEC DBMS_JOB.SUBMIT( :JOB, 'NULL;', SYSDATE, 'TRUNC(SYSDATE+1)' )

PL/SQL procedure successfully completed.

SQL> CONN / AS SYSDBA
Connected.
SQL> SET PAGES 1000
SQL> SET LINES 210
SQL> COL WHAT FORMAT A20
SQL> /

JOB SCHEMA_USER              WHAT               NEXT_DATE B
---------- ------------------------------ -------------------- --------- -
3 SCOTT              NULL;            10-SEP-10 N

SQL> EXEC DBMS_JOB.RUN(3);
BEGIN DBMS_JOB.RUN(3); END;

*
ERROR at line 1:
ORA-23421: job number 3 is not a job in the job queue
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86
ORA-06512: at "SYS.DBMS_IJOB", line 793
ORA-06512: at "SYS.DBMS_JOB", line 267
ORA-06512: at line 1

SQL> CREATE PROCEDURE SCOTT.BREAK_JOB (JOB BINARY_INTEGER, BROKEN BOOLEAN)
2  AUTHID DEFINER
3  IS
4  BEGIN
5      DBMS_JOB.BROKEN(JOB, BROKEN);
6  END;
7  /

Procedure created.

SQL> SELECT JOB, SCHEMA_USER, WHAT, NEXT_DATE, BROKEN FROM DBA_JOBS WHERE SCHEMA_USER = 'SCOTT';

JOB SCHEMA_USER              WHAT               NEXT_DATE B
---------- ------------------------------ -------------------- --------- -
3 SCOTT              NULL;            10-SEP-10 N

SQL> EXEC SCOTT.BREAK_JOB(3, TRUE);

PL/SQL procedure successfully completed.

SQL> SELECT JOB, SCHEMA_USER, WHAT, NEXT_DATE, BROKEN FROM DBA_JOBS WHERE SCHEMA_USER = 'SCOTT';

JOB SCHEMA_USER              WHAT               NEXT_DATE B
---------- ------------------------------ -------------------- --------- -
3 SCOTT              NULL;            01-JAN-00 Y

 SQL>

Share

You may also like...

2 Responses

  1. Grande Portilho,

    Tudo bem?

    Faz tempo que não tenho uma demanda dessas, mas quando precisei alterar job de outro usuário, eu usei a DBMS_IJOB.

    Abraços

    Vinicius

  2. Blz Vinicius?

    Pois é, ontem um amigo do trabalho me falou da DBMS_IJOB também. Como raramente eu faço algo com Jobs, não conhecia.
    Caso não exista no Banco, ela é criada com o script $ORACLE_HOME/rdbms/admin/prvtjob.plb.

    Grande abraço !

Deixe um comentário

O seu endereço de e-mail não será publicado.