--connect database
connect sys/oracle;
--archive
alter system archive log current;
--此处可以多次归档
alter system archive log current;
--热备数据文件
alter database begin backup;
拷贝所有的datafile到备份目录
cd /var/oracle/oracle/oradata/traveldb
cp *.dbf /home/oracle/hotbak/
ls
alter database end backup;
--热备表空间alter tablespacetablespace_name begin backup;
拷贝tablespace_name表空间的数据文件到备份目录
alter tablespacetablespace_name end backup;
----热备控制文件alter database backup controlfile to '/home/oracle/hotbak/ctlbak.ctl'; --控制文件的完整备份
alter database backupcontrolfile to trace as '/home/oracle/hotbak/ctlbak.trc'create pfile from spfile ;
create pfile = '/home/oracle/hotbak/pfile' from spfile;
临时表空间的数据文件、日志文件不需要备份
--查看临时表空间select tablespace_name from dba_temp_files;
--热备脚本SQL> hocat /tmp/tmphotbak.sql;
set feedback off
set heading off
set verify off
set trimspool off
set pagesize 0
set linesize 200
define dir = '/u01/app/oracle/hotbak'
define script = '/tmp/hotbak.sql'
spool &script
select 'ho cp ' ||name|| ' &dir' from v$datafile;
spool off
alter database begin backup;
start &script
alter database end backup;
alter database backup controlfile to '&dir/controlbak.ctl';
create pfile = '&dir/initorcl.ora' from spfile;
SQL> start /tmp/tmphotbak.sql; --执行该脚本即可对数据库进行热备