首页 > 代码库 > oracle 自动生存清库脚本

oracle 自动生存清库脚本

在项目上为了搭建测试库,常常会遇到要清除现在的库,很是折腾,闲暇之余,写了一个脚本留作备用。

脚本如下:

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

 

oracle 自动生存清库脚本