1.编写备份脚本 通过操作系统的命令来实现的备份机制:cp、scp 1.1查询所有的文件所在位置(数据文件,控制文件,参数文件,重做日志文件,密码文件) SYS@orcl11g> select name from v$datafile 2 union 3 select name from v$controlfile 4 union 5 select member from v$logfile; 1.2创建备份的路径 SYS@orcl11g> host mkdir /u01/app/backup 1.3通过select语句构建拷贝脚本 SYS@orcl11g> set trim on 截取掉不必要的空格 SYS@orcl11g> set trims on 每个行的空格 SYS@orcl11g> set heading off 去掉标题 SYS@orcl11g> set echo off 去掉反馈 SYS@orcl11g> set feedback off 去掉回显 SYS@orcl11g> set term off 关闭终端信息 SYS@orcl11g> spool /home/oracle/cp.sql SYS@orcl11g>select 'cp '||name||' /u01/app/backup' from v$datafile union select 'cp ' ||name|| ' /u01/app/backup' from v$controlfile union select 'cp '||member||' /u01/app/backup' from v$logfile +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ SYS@orcl11g> select 'cp ' || name || ' /u01/app/backup/' from v$datafile; --只备份数据文件 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ cp /u01/app/oracle/fast_recovery_area/orcl11g/control02.ctl /home/backup cp /u01/app/oracle/oradata/orcl11g/control01.ctl /home/backup cp /u01/app/oracle/oradata/orcl11g/example01.dbf /home/backup cp /u01/app/oracle/oradata/orcl11g/redo01.log /home/backup cp /u01/app/oracle/oradata/orcl11g/redo02.log /home/backup cp /u01/app/oracle/oradata/orcl11g/redo03.log /home/backup cp /u01/app/oracle/oradata/orcl11g/sysaux01.dbf /home/backup cp /u01/app/oracle/oradata/orcl11g/system01.dbf /home/backup cp /u01/app/oracle/oradata/orcl11g/undotbs01.dbf /home/backup cp /u01/app/oracle/oradata/orcl11g/users01.dbf /home/backup [oracle@db253 ~]$ spool off [oracle@db253 ~]$ vi cp.sql [oracle@db253 ~]$ cat cp.sql cp /u01/app/oracle/fast_recovery_area/orcl11g/control02.ctl /home/backup cp /u01/app/oracle/oradata/orcl11g/control01.ctl /home/backup cp /u01/app/oracle/oradata/orcl11g/example01.dbf /home/backup cp /u01/app/oracle/oradata/orcl11g/redo01.log /home/backup cp /u01/app/oracle/oradata/orcl11g/redo02.log /home/backup cp /u01/app/oracle/oradata/orcl11g/redo03.log /home/backup cp /u01/app/oracle/oradata/orcl11g/sysaux01.dbf /home/backup cp /u01/app/oracle/oradata/orcl11g/system01.dbf /home/backup cp /u01/app/oracle/oradata/orcl11g/undotbs01.dbf /home/backup cp /u01/app/oracle/oradata/orcl11g/users01.dbf /home/backup [oracle@db253 ~]$ chmod +x cp.sql awk构建命令: ls -lSr /test | awk '{print "mv " $NF" /tmp/test/t"NR".conf"}' | bash 2.停止数据库 sql> shutdown immediate; 3.拷贝数据文件 [oracle@db253 ~]$ /home/oracle/cp.sql --执行脚本 4.开启数据库 sql> startup;