生成一个拷贝控制文件、日志文件、数据文件的脚本一般这样生成后,在os下运行生成的脚本你在sqlplus中运行并去 c:\backup目录下看 cold.cmd 的文件内容就明白了SQL> select 'copy '||name||' c:\backup' from v$controlfile; 'COPY'||NAME||'C:\BACKUP'
--------------------------------------------------------------------------------
copy D:\ORACLE\ORADATA\ORA9\CONTROL01.CTL c:\backup
copy D:\ORACLE\ORADATA\ORA9\CONTROL02.CTL c:\backup
copy D:\ORACLE\ORADATA\ORA9\CONTROL03.CTL c:\backupSQL> select 'copy '||member||' c:\backup' from v$logfile;'COPY'||MEMBER||'C:\BACKUP'
--------------------------------------------------------------------------------
copy D:\ORACLE\ORADATA\ORA9\REDO03.LOG c:\backup
copy D:\ORACLE\ORADATA\ORA9\REDO02.LOG c:\backup
copy D:\ORACLE\ORADATA\ORA9\REDO01.LOG c:\backupSQL> select 'copy '||file_name|| ' c:\backup' from dba_data_files;'COPY'||FILE_NAME||'C:\BACKUP'
--------------------------------------------------------------------------------
copy D:\ORACLE\ORADATA\ORA9\SYSTEM01.DBF c:\backup
copy D:\ORACLE\ORADATA\ORA9\UNDOTBS01.DBF c:\backup
copy D:\ORACLE\ORADATA\ORA9\CWMLITE01.DBF c:\backup
copy D:\ORACLE\ORADATA\ORA9\DRSYS01.DBF c:\backup
copy D:\ORACLE\ORADATA\ORA9\EXAMPLE01.DBF c:\backup
copy D:\ORACLE\ORADATA\ORA9\INDX01.DBF c:\backup
copy D:\ORACLE\ORADATA\ORA9\TOOLS01.DBF c:\backup
copy D:\ORACLE\ORADATA\ORA9\USERS01.DBF c:\backup已选择8行。SQL>
--------------------------------------------------------------------------------
copy D:\ORACLE\ORADATA\ORA9\CONTROL01.CTL c:\backup
copy D:\ORACLE\ORADATA\ORA9\CONTROL02.CTL c:\backup
copy D:\ORACLE\ORADATA\ORA9\CONTROL03.CTL c:\backupSQL> select 'copy '||member||' c:\backup' from v$logfile;'COPY'||MEMBER||'C:\BACKUP'
--------------------------------------------------------------------------------
copy D:\ORACLE\ORADATA\ORA9\REDO03.LOG c:\backup
copy D:\ORACLE\ORADATA\ORA9\REDO02.LOG c:\backup
copy D:\ORACLE\ORADATA\ORA9\REDO01.LOG c:\backupSQL> select 'copy '||file_name|| ' c:\backup' from dba_data_files;'COPY'||FILE_NAME||'C:\BACKUP'
--------------------------------------------------------------------------------
copy D:\ORACLE\ORADATA\ORA9\SYSTEM01.DBF c:\backup
copy D:\ORACLE\ORADATA\ORA9\UNDOTBS01.DBF c:\backup
copy D:\ORACLE\ORADATA\ORA9\CWMLITE01.DBF c:\backup
copy D:\ORACLE\ORADATA\ORA9\DRSYS01.DBF c:\backup
copy D:\ORACLE\ORADATA\ORA9\EXAMPLE01.DBF c:\backup
copy D:\ORACLE\ORADATA\ORA9\INDX01.DBF c:\backup
copy D:\ORACLE\ORADATA\ORA9\TOOLS01.DBF c:\backup
copy D:\ORACLE\ORADATA\ORA9\USERS01.DBF c:\backup已选择8行。SQL>
select 'copy '||name||'c:\backup' from v$controlfile;
select 'copy '||member||'c:\backup' from v$logfile;
select 'copy '||file_name||'c:\backup' from dba_data_files;
spool off;
你的语句少了三个‘
在cold.cmd的结果是
copy controlfile1.ctl c:\backup
copy controlfile2.ctl c:\backup
copy controlfile3.ctl c:\backup
……
那是操作系统的命令,可以直接执行了
就爱上了它