MINI MINI MANI MO

Path : /opt/oracle/product/18c/dbhomeXE/R/migration/imp/
File Upload :
Current File : //opt/oracle/product/18c/dbhomeXE/R/migration/imp/rqsystab_prep.sql

Rem
Rem $Header: oracler/migration/imp/rqsystab_prep.sql /main/3 2015/09/08 12:46:30 qinwan Exp $
Rem
Rem rqsystab_prep.sql
Rem
Rem Copyright (c) 2013, 2015, Oracle and/or its affiliates. 
Rem All rights reserved.
Rem
Rem    NAME
Rem      rqsystab_prep.sql - <one-line expansion of the name>
Rem
Rem    DESCRIPTION
Rem      <short description of component this file declares/defines>
Rem
Rem    NOTES
Rem      <other useful comments, qualifications, etc.>
Rem
Rem    MODIFIED   (MM/DD/YY)
Rem    qinwan      08/30/15 - add datastoreaccess and drop db objects
Rem    qinwan      06/16/15 - add refdbobject
Rem    gayyappa    12/11/13 - Created
Rem
Rem    BEGIN SQL_FILE_METADATA 
Rem    SQL_SOURCE_FILE: oracler/migration/imp/rqsystab_prep.sql 
Rem    SQL_SHIPPED_FILE: 
Rem    SQL_PHASE: 
Rem    SQL_STARTUP_MODE: NORMAL 
Rem    SQL_IGNORABLE_ERRORS: NONE 
Rem    SQL_CALLING_FILE: 
Rem    END SQL_FILE_METADATA

SET ECHO ON
SET FEEDBACK 1
SET NUMWIDTH 10
SET LINESIZE 80
SET TRIMSPOOL ON
SET TAB OFF
SET PAGESIZE 100

set serveroutput on;

select user from dual;

Declare
  v_type  VARCHAR2(128);
  v_owner VARCHAR2(128);
  v_name  VARCHAR2(128);
  CURSOR cur IS select distinct dsowner, 
                       nvl(tabname, 'rq$datastoreinventory') tabname
                from rqsys.rq$datastore;
  CURSOR cur2 IS select refobjowner, refobjname, refobjtype
                 from rqsys.rq$refdbobject;
Begin
  FOR c IN cur LOOP
    v_type  := 'table';
    v_owner := c.dsowner;
    v_name  := c.tabname;
begin
    EXECUTE IMMEDIATE 'drop table ' || v_owner || '.' || v_name;
EXCEPTION
  WHEN OTHERS THEN
    dbms_output.put_line('Database ' || v_type || ' object ' || 
                         v_owner || '.' || v_name || ' is not found');
end;
  END LOOP;

  FOR c2 IN cur2 LOOP
begin
    v_type  := c2.refobjtype;
    v_owner := c2.refobjowner;
    v_name  := c2.refobjname;
    IF v_type = 'rqScript' THEN
      EXECUTE IMMEDIATE 'drop view ' || v_owner || '.' || v_name || '_V';
      rqsys.rq$ScriptDropAny(v_owner, v_name);
    ELSIF v_type = 'model' THEN
      EXECUTE IMMEDIATE 'begin dbms_data_mining.drop_model(:1); end;'
        USING v_owner || '.' || v_name;
    ELSE
      EXECUTE IMMEDIATE 'drop ' || v_type || ' ' || v_owner || '.' || v_name;
    END IF;
EXCEPTION
  WHEN OTHERS THEN
    dbms_output.put_line('Database ' || v_type || ' object ' || 
                         v_owner || '.' || v_name || ' is not found');
end;
  END LOOP;
End;
/
set serveroutput off;

delete from rqsys.rq$datastoreaccess;
delete from rqsys.rq$datastorerefdbobject;
delete from rqsys.rq$orerefdbobject;
delete from rqsys.rq$datastoreobject;
delete from rqsys.rq$datastore;
delete from rqsys.rq$refdbobject;
exit;

OHA YOOOO