spool 不显示sql

4120阅读 0评论2019-03-13 brjl
分类:Oracle

有时想用sql plus的spool生成脚本直接执行,但是通常会带sql 、字段名和记录数等,需要清理掉这些,只留下纯粹的语句,linux环境中用如下方法:

set feedback off

set heading off

set linesize 180

set pagesize 9999

set echo off

set verify off

 

spool /tmp/rename_log.sql

select 'ALTER DATABASE RENAME FILE '''||member||''' to '||''''||'/oradata/orcl/'

||substr(member,instr(member,'/',-1)+1)||''';' cc  from v$logfile;

spool off
@/tmp/rename_log.sql

将以上代码保存为r.sql,然后用以下方式执行():
sqlplus / as sysdba @r
这样生成的脚本中就是比较干净的语句了。

上一篇:简单python脚本实现获取多个数据库中参数
下一篇:清理共享池游标