1. 联机备份
优点:
1)在备份期间数据库的业务可以正常进行;
2)既可以备份表空间也可以备份数据文件,备份的数据量可能急剧下降;
3)在备份期间用户仍然可以正常使用数据库
缺点:
1)数据库运行在归档模式,所以系统的开销增大,管理和维护成本增加;
2)对DBA的技术要求提高;
2.联机备份步骤
1)查看数据文件的备份状态
select * from v$backup;
2)查看备份的数据文件名,了解表空间与数据文件之间的对应关系
select file_id,file_name from dba_data_files;
3)选择一个数据文件作为联机备份的对象,先将该文件所对应的表空间置为备份状态
alter tablespace pioneer_index begin backup;
注意:执行完上述语句,备份的表空间所对应的所有数据文件的文件头被冻结(锁住)并产生检查点
4)将数据文件pioneer_index.dbf从数据库中复制到备份磁盘上
host copy d:\orcl\disk4\moon\proneer_index.dbf f:\tbsbackup\disk4;
5)再次查看数据文件的备份状态
select * from v$backup;
6)将表空间pioneer_index重新置为正常的非备份状态
alter tablespace pioneer_index end backup;
7)查看联机备份是否成功
8)从v$log_history获取重做日志切换相关信息
select sequence#,first_change#,to_char(first_time,''RR-MM-DD HH:MM:SS'),next_change#,stamp from v$log_history where sequence#>120;
9)将当前的重做日志文件的信息写到归档日志文件中
alter system archive log current;
10)重复步骤8,可以发现归档日志已经生成
3. 联机备份时可以进行查询和DML操作。当进行DML操作时,此时数据是无法写到数据文件中,oracle记录到重做日志文件中。可能会增加重做日志缓冲区和重做日志文件的压力,需要注意:重做日志缓冲区和重做日志文件适当加大;在进行联机备份时,每次只备份一个表空间;在DML操作最少的时间段进行联机备份。
4. 自动化冷备份
1)编写BasedBak.sql文件
-- 切换到sys用户下
conn sys/oracle as sysdba
-- 关闭数据库
shutdown immediate;
-- 备份控制文件
host cp /back/oracle/disk1/control01.ctl /back/oracle/backupmoon/controlfile/disk1/control01.ctl
host cp /back/oracle/disk2/control02.ctl /back/oracle/backupmoon/controlfile/disk2/control02.ctl
host cp /back/oracle/disk3/control03.ctl /back/oracle/backupmoon/controlfile/disk3/control03.ctl
--- 备份日志文件和表空间
host cp /bak/DBSoftware/app/oracle/oradata/orcl/*.* /back/oracle/backupmoon/oradata/orcl/
-- 备份参数文件
host cp /bak/DBSoftware/app/oracle/product/10.2.0/db_1/dbs/spfileORCL.ora /back/oracle/backupmoon/dbs/
host cp /bak/DBSoftware/app/oracle/product/10.2.0/db_1/database/spfileORCL.ora /back/oracle/backupmoon/database/
-- 启动数据库
startup
exit
2)编写bat文件
D:\oracle\product\11.2.0\dbhome_1\BIN\sqlplus /nolog @CoolBack.sql
5.联机备份(热备份)
1)编写sql脚本
connect system/oracle as sysdba
alter system archive log start;
alter tablespace users begin backup;
host copy /bak/DBSoftware/app/oracle/oradata/orcl/users01.dbf f:\tbsbackup\
alter tablespace users end backup;
alter system archive log current;
alter tablespace system begin backup;
host copy /bak/DBSoftware/app/oracle/oradata/orcl/system01.dbf f:\tbsbackup\
alter tablespace users end backup;
alter system archive log current;
.........................
exit
/
2)编写bat文件
D:\oracle\product\11.2.0\dbhome_1\BIN\sqlplus /nolog @hotBack.sql