MINI MINI MANI MO
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