脱机物理备份:数据库在关闭的情况下,对数据库文件进行备份。
这些文件必须包括:
所有数据文件(v$datafile)
所有控制文件(v$controlfile)
日志文件redo Log(v$logfile)
备份步骤:
列出备份文件的清单(数据文件 控制文件 日志文件 参数文件)
正常关闭(shutdown)数据库
备份清单中的文件
重启数据库
回复步骤:
关闭数据库
导入最新脱机备份的纹理文件
启动数据库
优缺点:操作简单,单必须关闭数据库,且只能回复到备份点。
----------------------------------------------------------------
联机备份,又叫热备份
前提条件:必须为归档日志模式下 archivelog mode。
archive log list命令或sql语句select name,log_mode from v$database;可以查看当前的模式。
归档模式切换:
改变非归档模式到归档模式:
1)SQL>SHUTDOWN NORMAL/IMMEDIATE;
2)SQL>START MOUNT;
3)SQL>ALTER DATABASE ARCHIVELOG;
4)SQL>ALTER DATABASE OPEN;
【5)SQL>做一次完全备份,因为非归档日志模式下产生的备份日志对于归档模式已经不可用了.这一步非非常重要!】
【改变归档模式到非归档模式:
1)SQL>SHUTDOWN NORMAL/IMMEDIATE;
2)SQL>START MOUNT;
3)SQL>ALTER DATABASE NOARCHIVELOG;
4)SQL>ALTER DATABASE OPEN;
自动归档;
启用自动归档: LOG_ARCHIVE_START=TRUE
归档模式下,日志文件组不允许被覆盖(重写),当日志文件写满之后,如果没有进行手动归档,那么系统将挂起,知道归档完成为止.
这时只能读而不能写.
手动归档
手动归档: LOG_ARCHIVE_START=FALSE
归档当前日志文件
SQL>ALTER SYSTEM ARCHIVE LOG CURRENT;
归档序号为052的日志文件
SQL>ALTER SYSTEM ARCHIVE LOG SEQUENCE 052;
归档所有日志文件
SQL>ALTER SYSTEM ARCHIVE LOG ALL;
改变归档日志目标
SQL>ALTER SYSTEM ARCHIVE LOG CURRENT TO '&PATH';】
在线备份,以备份用户表空间为例:
conn system/system as sysdba;
alter tablespace user_data beigin backup;//设置开始备份标记
host copy d:\orcl\database\usrlorcl.ora e"\backup;
alter tablespace user_data end backup;
---------------------------
逻辑备份:通过读取数据记录集,写入二进制文件实现的。
备份方法:
export
OEM
导出备份的模式:
用户模式;导出用户所有对象以及对象中的数据;
表模式:导出用户所有表或指定的表;
整个数据库:all对象。
备份的类型:
完全型:完全备份
积累型:备份上一次积累备份所改变的数据;
增量型:备份上一次备份后改变的数据;
例子:
exp scott/scott file=scott.dmp tables(emp,dept) 导出scott用户的emp和dept表
exp system/system@mydb file=system owner=scott 导出scott用户的所有对象//owner时指定的用户
exp system/system@mydb file=fulldb.dmp full=y 全数据导出
exp -help可以查看帮助。
导入是导出的逆向过程。
imp scott/scott@mydb file=scott.dmp tables(emp,dept)
imp system/system@mydb file=scott.dmp fromuser=scott touser=scott;
imp system/system@mydb file=fulldb.dmp full=y;
------------------------------------------------
RMAN(Recover Manager)