有时想用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
这样生成的脚本中就是比较干净的语句了。