使用者清理及使用者資料遷移

abraham_dba_2013發表於2015-01-08
1、使用者資料清理
登入使用者,並執行以下SQL語句,將查詢的結果中的DROP語句放到Command視窗批量執行清理動作。
SELECT object_name,
       object_type,
       CASE
         WHEN object_type = 'TABLE' THEN
          'drop TABLE ' || object_name || ' CASCADE CONSTRAINTS;'
         WHEN object_type = 'SEQUENCE' THEN
          'drop SEQUENCE ' || object_name || ';'
         WHEN object_type = 'FUNCTION' THEN
          'drop FUNCTION ' || object_name || ';'
         WHEN object_type = 'PACKAGE' THEN
          'drop PACKAGE ' || object_name || ';'
         WHEN object_type = 'PROCEDURE' THEN
          'drop PROCEDURE ' || object_name || ';'
         WHEN object_type = 'VIEW' THEN
          'drop VIEW ' || object_name || ';'
         WHEN object_type = 'TYPE' THEN
          'drop TYPE ' || object_name || ';'
         WHEN object_type = 'SYNONYM' THEN
          'drop SYNONYM ' || object_name || ';'
         WHEN object_type = 'TRIGGER' THEN
          'drop TRIGGER ' || object_name || ';'
        END CASE
  FROM user_objects;

執行完以上清理步驟之後,執行以下SQL,釋放回收站
PURGE RECYCLEBIN;

查詢以下SQL語句,如果結果不為空,重複執行以上兩個步驟,直到結果為0。結果集為空表示清理完畢。
select object_name,OBJECT_TYPE,COUNT(*) from user_objects group by object_name,OBJECT_TYPE;


2、資料庫的匯出

$exp CHAINWORK/CHAINWORK@orcl147 file='F:/data/CHAINWORK.dmp' log='F:/data/CHAINWORK_out.log' owner='CHAINWORK'

 

3、資料庫的匯入

$imp CHAINWORK/CHAINWORK@orcl9 file='F:/data/CHAINWORK.dmp' log='F:/data/CHAINWORK_in.log' full=y ignore=y


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29439655/viewspace-1394161/,如需轉載,請註明出處,否則將追究法律責任。

相關文章