在專案上為了搭建測試庫,常常會遇到要清除現在的庫,很是折騰,閒暇之餘,寫了乙個指令碼留作備用。
指令碼如下:
select '--清表' from dual union all select 'drop table ' ||a.table_name ||''||';' from user_tables a union all select '--清序列' from dual --清序列 union all select 'drop sequence '|| a.sequence_name||'' ||';' from user_sequences a --清儲存過程 union all select '--清儲存過程' from dual union all select 'drop procedure '|| a.object_name||'' ||';' from user_procedures a where a.object_type='procedure' --清包 union all select '--清包' from dual union all select distinct 'drop package '|| a.object_name||'' ||';' from user_procedures a where a.object_type='package' union all select '--清自定義函式' from dual union all select 'drop function '|| a.object_name||'' ||';' from user_procedures a where a.object_type ='function'
在pl/sql裡面執行之後自動生存執行的命令複製之後,
新建乙個 command window 視窗,把複製好的命令貼上到視窗裡面,直接執行就可以了。
最後執行下面的語句生成導庫語句
--導入庫
select 'imp 使用者名稱/密碼@資料庫 file='||'dmp檔案'||' full=y' from dual
開啟cmd 視窗,標記一下上面複製的導庫命令,修改一下,回車即可。
--匯出庫
select 'exp 使用者名稱/密碼@資料庫 file='||'dmp檔案'||' full=y' from dual
親測可用 activiti清庫指令碼
activiti工作流開發中經常要用到清庫操作,因為外來鍵及其它原因導致清的不徹底或者清的姿勢不對系統崩掉。在測試了n個網上的清庫版本後,經過修改整合,出來一套可用的成品 delete from act hi taskinst delete from act ru identitylink dele...
oracle 自動備份指令碼
echo 設定備份檔案存放資料夾.set tbuf e echo 設定備份檔案名 以星期幾命名,即備份檔案只儲存最近一周 set name date set name name 3 set name orcl backup name echo 是否存在同名檔案,若存在則刪除同名檔案.ifexist ...
Oracle 自動同步資料指令碼
前段時間在處理乙個生產異常的時候發現,我們的測試資料庫和 資料庫已經很久都沒有同步生產上的資料了。我們開發人員在處理異常的時候往往要模擬一條資料來進行除錯,若遇到需要大量接近生產的基礎資料進行除錯的時候就比較痛苦了。而目前遇到這種情況則需要實施人員到生產資料庫備份資料,通過oracle匯出將資料導成...