1. #!/bin/bash 
  2.  
  3. sqlplus -s << EOF 
  4. $1 
  5. set pages 0; 
  6. set term off
  7. set feedback off
  8. spool /tmp/dropobj.$2.sql; 
  9. select 'ALTER SESSION SET recyclebin=off;' from dual; 
  10. select 'DROP ' || object_type || ' ' || object_name || ';' from user_objects where object_type='TABLE'
  11. select 'DROP ' || object_type || ' ' || objetc_name ';' from user_objects where object_type='INDEX'
  12. spool off 
  13. @/tmp/dropobj.$2.sql 
  14. exit 
  15. EOF 
  16. exit 

 

________脚本详解--------------------------------

1.sqlplus -s 以静默模式启动sqlplus程序

2.<< EOF ....   EOF    这是here docment 技术.指把中间的内容当做一个块来处理

3.$1   从外部传入的第一个参数

4.set ... sqlplus的一些开关设置

5.spool /tmp/dropobj.$2.sql; 把屏幕上显示的内容输出到一个文中($2是外部传入的第二个参数).

6.select 'ALTER SESSION SET recyclebin=off;' from dual;

ALTER SESSION SET recyclebin=off;

7.select 'DROP ' || object_type || ' ' || object_name || ';' from user_objects where object_type='TABLE';

DROP object_type object_name;

8.spool off 关闭spool

 

9.@/tmp/dropobj.$2.sql   把生成的脚本导入sqlplus

10.exit 退出