MINI MINI MANI MO

Path : /opt/oracle/product/18c/dbhomeXE/rdbms/admin/
File Upload :
Current File : //opt/oracle/product/18c/dbhomeXE/rdbms/admin/catnosch.sql

Rem
Rem $Header: rdbms/admin/catnosch.sql /main/36 2017/05/28 22:46:03 stanaya Exp $
Rem
Rem catnosch.sql
Rem
Rem Copyright (c) 2002, 2017, Oracle and/or its affiliates. 
Rem All rights reserved.
Rem
Rem    NAME
Rem      catnosch.sql - Remove Scheduler views, packages and synonyms
Rem
Rem    DESCRIPTION
Rem      This file removes packages, views and synonyms of the Scheduler
Rem      Component. 
Rem
Rem      It also removes all scheduler objects. 
Rem
Rem    NOTES
Rem      This script must be run as SYS.
Rem
Rem    BEGIN SQL_FILE_METADATA
Rem    SQL_SOURCE_FILE: rdbms/admin/catnosch.sql
Rem    SQL_SHIPPED_FILE: rdbms/admin/catnosch.sql
Rem    SQL_PHASE: UTILITY
Rem    SQL_STARTUP_MODE: NORMAL
Rem    SQL_IGNORABLE_ERRORS: NONE
Rem    END SQL_FILE_METADATA
Rem    
Rem    MODIFIED   (MM/DD/YY)
Rem    rramkiss    03/05/08 - remove 11.1 tables and views
Rem    rgmani      01/18/08 - Drop types job_definiton and job_definition_array
Rem    rramkiss    07/05/06 - update for remote database jobs 
Rem    rramkiss    03/20/06 - drop scheduler credential stuff 
Rem    samepate    07/07/05 - remove old obsolete queue code
Rem    rramkiss    05/11/05 - tweak for chains 
Rem    evoss       01/25/05 - drop scheduler$_int_array_type
Rem    rramkiss    01/06/05 - drop new chain_condition package 
Rem    evoss       06/03/04 - fix deleting global attributes and event_q 
Rem    raavudai    05/25/04 - add commit at the end and flush the shared pool
Rem    rramkiss    04/07/04 - view name updates 
Rem    rramkiss    03/26/04 - drop more chains views 
Rem    rramkiss    03/08/04 - remove all program chains 
Rem    rramkiss    03/08/04 - remove program chain views
Rem    rgmani      05/21/04 - 
Rem    rramkiss    04/21/04 - remove granted CREATE EXTERNAL JOB privs 
Rem    rramkiss    11/04/03 - lrg-1590893 
Rem    rramkiss    09/19/03 - bug-2812539
Rem    rramkiss    09/04/03 - drop job table/chain stuff 
Rem    rramkiss    06/26/03 - remove new sequence for job_name suffixes
Rem    rgmani      06/12/03 - Drop attribute views
Rem    rramkiss    06/20/03 - drop rules/rulesets on the job queue
Rem    rramkiss    02/18/03 - remove scheduler$_job_external/results type
Rem    rgmani      05/02/03 - Drop attributes table
Rem    rramkiss    02/21/03 - drop new all_* views
Rem    evoss       01/16/03 - add scheduler_running_jobs
Rem    srajagop    01/20/03 - logging changes
Rem    rramkiss    01/09/03 - JS_COORDINATOR => SCHEDULER_COORDINATOR
Rem    rramkiss    12/20/02 - update for tweaked views
Rem    rramkiss    12/05/02 - drop_class->drop_job_class
Rem    rramkiss    11/19/02 - Remove ALL_SCHEDULER_* views
Rem    rgmani      12/20/02 - Drop schedule ID index
Rem    rramkiss    10/29/02 - drop oldoids table and sequence
Rem    rramkiss    10/23/02 - drop privilege grants
Rem    rramkiss    10/15/02 - Drop schedule object export package
Rem    rramkiss    10/08/02 - Remove schedule object table and views
Rem    rramkiss    09/30/02 - Remove lines registering export callouts
Rem    rramkiss    09/24/02 - Drop all created packages
Rem    rgmani      10/14/02 - Add functional index on job queue table
Rem    rramkiss    09/05/02 - Drop window group tables, indexes and views
Rem    rgmani      09/12/02 - Change upgrade/downgrade for job tables
Rem    rramkiss    08/29/02 - rramkiss_sched-compat
Rem    rramkiss    08/26/02 - Update to drop tables and remove objects properly
Rem    rramkiss    08/23/02 - TRUNCATE base tables, DELETE cols from obj$
Rem    rramkiss    08/22/02 - Created
Rem

-- Drop scheduler objects
DECLARE
  CURSOR all_programs IS
    SELECT program_name, owner from DBA_SCHEDULER_PROGRAMS;
  CURSOR all_jobs IS
    SELECT job_name, owner from DBA_SCHEDULER_JOBS WHERE job_subname IS NULL;
  CURSOR all_windows IS
    SELECT window_name from DBA_SCHEDULER_WINDOWS;
  CURSOR all_classes IS
    SELECT job_class_name from DBA_SCHEDULER_JOB_CLASSES;
  CURSOR all_window_groups IS
    SELECT window_group_name from DBA_SCHEDULER_WINDOW_GROUPS;
  CURSOR all_schedules IS
    SELECT schedule_name, owner from DBA_SCHEDULER_SCHEDULES;
  CURSOR all_chains IS
    SELECT chain_name, owner from DBA_SCHEDULER_CHAINS;
  CURSOR all_credentials IS
    SELECT credential_name, owner from DBA_SCHEDULER_CREDENTIALS;
BEGIN
  FOR program in all_programs LOOP
    dbms_scheduler.drop_program('"' || program.owner || '"."' ||
      program.program_name || '"',
      TRUE);
  END LOOP;

  FOR job in all_jobs LOOP
    dbms_scheduler.drop_job('"' || job.owner || '"."' || job.job_name || '"',
      TRUE);
  END LOOP;

  FOR class in all_classes LOOP
    dbms_scheduler.drop_job_class('"' || class.job_class_name || '"', TRUE);
  END LOOP;

  FOR window in all_windows LOOP
    dbms_scheduler.drop_window('"' || window.window_name || '"', TRUE);
  END LOOP;

  FOR window_group in all_window_groups LOOP
    dbms_scheduler.drop_window_group('"' || window_group.window_group_name ||
      '"', TRUE);
  END LOOP;

  FOR schedule in all_schedules LOOP
    dbms_scheduler.drop_schedule('"' || schedule.owner || '"."' ||
      schedule.schedule_name || '"', TRUE);
  END LOOP;

  FOR chain in all_chains LOOP
    dbms_scheduler.drop_chain('"' || chain.owner || '"."' ||
      chain.chain_name || '"', TRUE);
  END LOOP;

  FOR credential in all_credentials LOOP
    dbms_scheduler.drop_credential('"' || credential.owner || '"."' ||
      credential.credential_name || '"', TRUE);
  END LOOP;
END;
/

DECLARE
  CURSOR all_subs IS
    SELECT agt_name FROM scheduler$_evtq_sub;
BEGIN
  FOR sub in all_subs LOOP
    dbms_scheduler.remove_event_queue_subscriber('"' || sub.agt_name || '"');
  END LOOP;
END;
/

-- Drop views and their synonyms

DROP VIEW dba_scheduler_programs;
DROP PUBLIC SYNONYM dba_scheduler_programs;
DROP VIEW user_scheduler_programs;
DROP PUBLIC SYNONYM user_scheduler_programs;
DROP VIEW all_scheduler_programs;
DROP PUBLIC SYNONYM all_scheduler_programs;
DROP VIEW dba_scheduler_jobs;
DROP PUBLIC SYNONYM dba_scheduler_jobs;
DROP VIEW user_scheduler_jobs;
DROP PUBLIC SYNONYM user_scheduler_jobs;
DROP VIEW all_scheduler_jobs;
DROP PUBLIC SYNONYM all_scheduler_jobs;
DROP VIEW dba_scheduler_job_classes;
DROP PUBLIC SYNONYM dba_scheduler_job_classes;
DROP VIEW all_scheduler_job_classes;
DROP PUBLIC SYNONYM all_scheduler_job_classes;
DROP VIEW dba_scheduler_windows;
DROP PUBLIC SYNONYM dba_scheduler_windows;
DROP VIEW all_scheduler_windows;
DROP PUBLIC SYNONYM all_scheduler_windows;
DROP VIEW dba_scheduler_program_args;
DROP PUBLIC SYNONYM dba_scheduler_program_args;
DROP VIEW user_scheduler_program_args;
DROP PUBLIC SYNONYM user_scheduler_program_args;
DROP VIEW all_scheduler_program_args;
DROP PUBLIC SYNONYM all_scheduler_program_args;
DROP VIEW dba_scheduler_job_args;
DROP PUBLIC SYNONYM dba_scheduler_job_args;
DROP VIEW user_scheduler_job_args;
DROP PUBLIC SYNONYM user_scheduler_job_args;
DROP VIEW all_scheduler_job_args;
DROP PUBLIC SYNONYM all_scheduler_job_args;
DROP VIEW dba_scheduler_job_log;
DROP PUBLIC SYNONYM dba_scheduler_job_log;
DROP VIEW dba_scheduler_job_run_details;
DROP PUBLIC SYNONYM dba_scheduler_job_run_details;
DROP VIEW user_scheduler_job_log;
DROP PUBLIC SYNONYM user_scheduler_job_log;
DROP VIEW user_scheduler_job_run_details;
DROP PUBLIC SYNONYM user_scheduler_job_run_details;
DROP VIEW all_scheduler_job_log;
DROP PUBLIC SYNONYM all_scheduler_job_log;
DROP VIEW all_scheduler_job_run_details;
DROP PUBLIC SYNONYM all_scheduler_job_run_details;
DROP VIEW dba_scheduler_window_log;
DROP PUBLIC SYNONYM dba_scheduler_window_log;
DROP VIEW dba_scheduler_window_details;
DROP PUBLIC SYNONYM dba_scheduler_window_details;
DROP VIEW all_scheduler_window_log;
DROP PUBLIC SYNONYM all_scheduler_window_log;
DROP VIEW all_scheduler_window_details;
DROP PUBLIC SYNONYM all_scheduler_window_details;
DROP VIEW dba_scheduler_window_groups;
DROP PUBLIC SYNONYM dba_scheduler_window_groups;
DROP VIEW all_scheduler_window_groups;
DROP PUBLIC SYNONYM all_scheduler_window_groups;
DROP VIEW dba_scheduler_wingroup_members;
DROP PUBLIC SYNONYM dba_scheduler_wingroup_members;
DROP VIEW all_scheduler_wingroup_members;
DROP PUBLIC SYNONYM all_scheduler_wingroup_members;
DROP VIEW dba_scheduler_schedules;
DROP PUBLIC SYNONYM dba_scheduler_schedules;
DROP VIEW user_scheduler_schedules;
DROP PUBLIC SYNONYM user_scheduler_schedules;
DROP VIEW all_scheduler_schedules;
DROP PUBLIC SYNONYM all_scheduler_schedules;
DROP VIEW dba_scheduler_running_jobs;
DROP PUBLIC SYNONYM dba_scheduler_running_jobs;
DROP VIEW user_scheduler_running_jobs;
DROP PUBLIC SYNONYM user_scheduler_running_jobs;
DROP VIEW all_scheduler_running_jobs;
DROP PUBLIC SYNONYM all_scheduler_running_jobs;
DROP VIEW dba_scheduler_global_attribute;
DROP PUBLIC SYNONYM dba_scheduler_global_attribute;
DROP VIEW all_scheduler_global_attribute;
DROP PUBLIC SYNONYM all_scheduler_global_attribute;
DROP VIEW dba_scheduler_chains;
DROP PUBLIC SYNONYM dba_scheduler_chains;
DROP VIEW user_scheduler_chains;
DROP PUBLIC SYNONYM user_scheduler_chains;
DROP VIEW all_scheduler_chains;
DROP PUBLIC SYNONYM all_scheduler_chains;
DROP VIEW dba_scheduler_chain_rules;
DROP PUBLIC SYNONYM dba_scheduler_chain_rules;
DROP VIEW user_scheduler_chain_rules;
DROP PUBLIC SYNONYM user_scheduler_chain_rules;
DROP VIEW all_scheduler_chain_rules;
DROP PUBLIC SYNONYM all_scheduler_chain_rules;
DROP VIEW dba_scheduler_chain_steps;
DROP PUBLIC SYNONYM dba_scheduler_chain_steps;
DROP VIEW user_scheduler_chain_steps;
DROP PUBLIC SYNONYM user_scheduler_chain_steps;
DROP VIEW all_scheduler_chain_steps;
DROP PUBLIC SYNONYM all_scheduler_chain_steps;
DROP VIEW dba_scheduler_running_chains;
DROP PUBLIC SYNONYM dba_scheduler_running_chains;
DROP VIEW user_scheduler_running_chains;
DROP PUBLIC SYNONYM user_scheduler_running_chains;
DROP VIEW all_scheduler_running_chains;
DROP PUBLIC SYNONYM all_scheduler_running_chains;
DROP VIEW dba_scheduler_credentials;
DROP PUBLIC SYNONYM dba_scheduler_credentials;
DROP VIEW user_scheduler_credentials;
DROP PUBLIC SYNONYM user_scheduler_credentials;
DROP VIEW all_scheduler_credentials;
DROP PUBLIC SYNONYM all_scheduler_credentials;
DROP VIEW dba_scheduler_job_roles;
DROP PUBLIC SYNONYM dba_scheduler_job_roles;
DROP VIEW scheduler_batch_errors;
DROP PUBLIC SYNONYM scheduler_batch_errors;
DROP VIEW dba_scheduler_remote_databases;
-- DROP PUBLIC SYNONYM dba_scheduler_remote_databases;
DROP VIEW all_scheduler_remote_databases;
-- DROP PUBLIC SYNONYM all_scheduler_remote_databases;
DROP VIEW dba_scheduler_remote_jobstate;
-- DROP PUBLIC SYNONYM dba_scheduler_remote_jobstate;
DROP VIEW all_scheduler_remote_jobstate;
-- DROP PUBLIC SYNONYM all_scheduler_remote_jobstate;
DROP VIEW user_scheduler_remote_jobstate;
-- DROP PUBLIC SYNONYM user_scheduler_remote_jobstate;
DROP VIEW dba_scheduler_file_watchers;
DROP PUBLIC SYNONYM dba_scheduler_file_watchers;
DROP VIEW user_scheduler_file_watchers;
DROP PUBLIC SYNONYM user_scheduler_file_watchers;
DROP VIEW all_scheduler_file_watchers;
DROP PUBLIC SYNONYM all_scheduler_file_watchers;
DROP VIEW dba_scheduler_notifications;
DROP PUBLIC SYNONYM dba_scheduler_notifications;
DROP VIEW user_scheduler_notifications;
DROP PUBLIC SYNONYM user_scheduler_notifications;
DROP VIEW all_scheduler_notifications;
DROP PUBLIC SYNONYM all_scheduler_notifications;

-- Drop scheduler base tables (these should be empty)

DROP TABLE sys.scheduler$_evtq_sub;
DROP SEQUENCE sys.scheduler$_evtseq;
DROP TABLE sys.scheduler$_program;
DROP TABLE sys.scheduler$_class;
DROP TABLE sys.scheduler$_job;
DROP TABLE sys.scheduler$_window;
DROP TABLE sys.scheduler$_program_argument;
DROP TABLE sys.scheduler$_job_argument;
DROP TABLE sys.scheduler$_event_log;
DROP TABLE sys.scheduler$_job_run_details;
DROP TABLE sys.scheduler$_window_details;
DROP TABLE sys.scheduler$_window_group;
DROP TABLE sys.scheduler$_wingrp_member;
DROP TABLE sys.scheduler$_chain;
DROP TABLE sys.scheduler$_step;
DROP TABLE sys.scheduler$_step_state;
DROP TABLE sys.scheduler$_credential;
DROP TABLE sys.scheduler$_file_watcher;
DROP TABLE sys.scheduler$_filewatcher_history;
DROP TABLE sys.scheduler$_notification;

DROP TABLE sys.scheduler$_srcq_map;
DROP TABLE sys.scheduler$_srcq_info;

DROP TABLE sys.scheduler$_lightweight_job;
DROP TABLE sys.scheduler$_rjob_src_db_info;
DROP TABLE sys.scheduler$_remote_dbs;
DROP TABLE scheduler$_remote_job_state;
DROP TABLE sys.scheduler$_saved_oids;
DROP TABLE sys.scheduler$_lwjob_obj;

DROP SEQUENCE sys.scheduler$_rdb_seq;

exec dbms_aqadm.stop_queue(queue_name => 'scheduler$_remdb_jobq');
exec dbms_aqadm.drop_queue(queue_name => 'scheduler$_remdb_jobq');
exec dbms_aqadm.drop_queue_table(queue_table => 'scheduler$_remdb_jobqtab');

exec dbms_aqadm.stop_queue(queue_name => 'scheduler$_event_queue');
exec dbms_aqadm.drop_queue(queue_name => 'scheduler$_event_queue');

exec dbms_aqadm.drop_queue_table(queue_table => 'scheduler$_event_qtab');

exec dbms_aqadm.drop_aq_agent(agent_name => 'SCHEDULER$_EVENT_AGENT');

DROP SEQUENCE sys.scheduler$_lwjob_oid_seq;

drop type scheduler$_job_step_type;
drop type sys.scheduler$_chain_link_list;
drop type sys.scheduler$_chain_link;
drop type sys.scheduler$_step_type_list;
drop type sys.scheduler$_step_type;
drop type sys.scheduler$_rule_list;
drop type sys.scheduler$_rule;
drop type sys.scheduler$_int_array_type;
drop type scheduler$_event_info;
DROP TABLE sys.scheduler$_schedule;
drop table sys.scheduler$_global_attribute;

-- Delete rows pertaining to scheduler objects 
-- (shouldn't be any but just in case)

DELETE FROM objauth$ WHERE obj# IN
 (SELECT obj# FROM obj$
    WHERE type# IN ('66','67','68','69','72','74','77','78','79','82','89')
    AND (NAMESPACE = 1  or NAMESPACE = 51))
/
DELETE FROM obj$ WHERE TYPE# IN ('66','67','68','69', '72','74','77','78',
  '79','82','89')
  AND (NAMESPACE = 1 or NAMESPACE = 51)
/

-- Drop other scheduler stuff

DROP SEQUENCE sys.scheduler$_instance_s;
DROP SEQUENCE sys.scheduler$_jobsuffix_s;
DROP LIBRARY dbms_scheduler_lib;
DROP PACKAGE dbms_scheduler;
DROP PUBLIC SYNONYM dbms_scheduler;
DROP PACKAGE dbms_isched;
DROP PACKAGE dbms_isched_chain_condition;
DROP PACKAGE dbms_isched_remdb_job;
DROP PACKAGE dbms_sched_main_export;
DROP PACKAGE dbms_sched_program_export;
DROP PUBLIC SYNONYM dbms_sched_program_export;
DROP PACKAGE dbms_sched_job_export;
DROP PUBLIC SYNONYM dbms_sched_job_export;
DROP PACKAGE dbms_sched_window_export;
DROP PUBLIC SYNONYM dbms_sched_window_export;
DROP PACKAGE dbms_sched_wingrp_export;
DROP PUBLIC SYNONYM dbms_sched_wingrp_export;
DROP PACKAGE dbms_sched_class_export;
DROP PUBLIC SYNONYM  dbms_sched_class_export;
DROP PACKAGE dbms_sched_schedule_export;
DROP PUBLIC SYNONYM  dbms_sched_schedule_export;
DROP PACKAGE dbms_sched_chain_export;
DROP PUBLIC SYNONYM dbms_sched_chain_export;
DROP PACKAGE dbms_sched_credential_export;
DROP PUBLIC SYNONYM dbms_sched_credential_export;
DROP PACKAGE dbms_sched_export_callouts;
DROP PUBLIC SYNONYM dbms_sched_export_callouts;
DROP ROLE scheduler_admin;
DELETE FROM sys.exppkgobj$ WHERE package LIKE 'DBMS_SCHED_%';
DELETE FROM sys.exppkgact$ WHERE package LIKE 'DBMS_SCHED_%';
DELETE FROM sys.sysauth$ WHERE privilege#
  IN (-264, -265, -266, -267, -268, -280);
DELETE FROM sys.audit$ WHERE option# IN (264, 265, 266, 267, 268, 280);

DROP TYPE sys.scheduler$_remote_db_job_info;
DROP TYPE sys.scheduler$_remote_arg_list;
DROP TYPE sys.scheduler$_remote_arg;
DROP TYPE sys.scheduler$_dest_list;
DROP TYPE SCHEDULER$_BATCHERR_VIEW_T;
DROP TYPE JOB_ARRAY;
DROP TYPE JOB;
DROP TYPE JOB_DEFINITION_ARRAY;
DROP TYPE JOB_DEFINITION;
DROP TYPE SCHEDULER$_BATCHERR_ARRAY;
DROP TYPE SCHEDULER$_BATCHERR;
DROP TYPE JOBATTR_ARRAY;
DROP TYPE JOBATTR;
DROP TYPE JOBARG_ARRAY;
DROP TYPE JOBARG;
DROP FUNCTION SCHEDULER$_BATCHERR_PIPE;

DROP TYPE sys.scheduler_filewatcher_result FORCE;
DROP TYPE sys.scheduler_filewatcher_req_list FORCE;
DROP TYPE sys.scheduler_filewatcher_request FORCE;

-- We shouldn't drop privilege or audit map entries because these get added in
-- sql.bsq, and not in catsch.sql
--DELETE FROM sys.system_privilege_map WHERE privilege 
--  IN (-264, -265, -266, -267, -268);
--DELETE FROM sys.stmt_audit_option_map WHERE option#
--  IN (264, 265, 266, 267, 268);

-- - Commit the changes and flush the shared pool.
commit;
alter system flush shared_pool ;

OHA YOOOO