oracle 备份

[size=large][b]1. 热备份[/b][/size]

热备份是在数据库运行的情况下,采用archivelog mode 方式备份数据库的方法,冷备份虽然操作简便,但因为备份需要关闭数据库,如果系统是一个7X24小时的运行的数据库,冷备份是不现实的。

1.1 优缺点
优点:1、可在表空间或数据库文件级备份、备份时间短
2、可达到秒级恢复(恢复到某一时间点上)
3、可对几乎所有数据库实体做恢复
4、恢复是快速的,在大多数情况下在数据库仍工作时恢复
5、备份的数据库仍可用
缺点:1、难以维护,所以要特别仔细小心,不允许以失败而告终。
2、若备份不成功,所得结果不可用于时间点的恢复
3、不能出错,否则后果严重。

1.2 备份
1、表空间热备
查看是否为归档模式(SYS登陆)
ARCHIVE LOG LIST;

若为非归档模式,设置数据库日志为存档模式
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;

将数据库设置备份模式,用户管理的联机热备份必需的操作,不然copy备份的数据文件不能用来恢复,即使用某些放时恢复了也会丢数据
ALTER TABLESPACE RUIYUAN_SPACE BEGIN BACKUP;

拷贝数据文件至备份文件中
HOST COPY D:\oracle\oradata\orcl\*.dbf D:\BACK\

ORACLE数据库热备份结束备份状态
ALTER TABLESPACE RUIYUAN_SPACE END BACKUP;

切换日志,使当前日志归档
ALTER SYSTEM SWITCH LOGFILE;

2、控制文件

3、归档日志
归档当前的联机重做日志
Alter system archive log current;

查看现有归档日志文件,使用操作系统复制的命令进行备份
select name,sequence#,first_change# from v$archived_log;
1.3 恢复
如误删ruiyuan_space表空间出现问题,数据库不能正常开启,将ruiyuan表空间设置为offline
ALTER DATABASE DATAFILE 4 OFFLINE DROP;

Offline后打开数据库
ALTER DATABASE OPEN;

将前面备份的数据copy到系统目录中
HOST COPY D:\BACK\RUIYUAN_D01.DBF D:\app\GP\oradata\orcl\RUIYUAN_D01.DBF;

介质恢复
RECOVER DATAFILE 5;

恢复完成后,将表空间设置为online
ALTER DATABASE DATAFILE 5 ONLINE;

1.4 其他说明
热备份没有必要备份联机日志,但必须是归档状态,在实例恢复的时候,可能用到归档日志。
当前联机日志一定要保护好或是处于镜像状态,当前联机日志的损坏,对于数据库的损坏是巨大的,只能以数据的丢失来进行数据库的恢复工作。临时表空间不需要进行备份,若临时文件发生故障,可以删除临时文件与表空间,重新创建一个临时表空间。
注意热备份的时候,用户可能还在操作数据库,最好是每个表空间处于备份状态的时间最短,这样就要求一个表空一个表空间的备份,不要一起使表空间处于备份状态同时拷贝数据文件。如果在热备份的时候数据库中断(如断电),那么再重启数据库的时候,数据库将提示有数据文件需要恢复,需要把正在断电时处于备份状态的数据文件通过end backup结束备份方式,具体查看、哪个数据文件或表空间处于备份状态,可以通过v$backup与v$datafile来获得。

[size=large][b]2. 冷备份[/b][/size]

冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份时将关键性文件拷贝到另外的位置。对于备份Oracle信息而言,冷备份时最快和最安全的方法。

2.1 优缺点
优点:
1、 是非常快速的备份方法(只需拷文件)
2、 容易归档(简单拷贝即可)
3、 容易恢复到某个时间点上(只需将文件再拷贝回去)
4、 能与归档方法相结合,做数据库“最佳状态”的恢复。
5、 低度维护,高度安全。

不足:
1、 单独使用时,只能提供到“某一时间点上”的恢复。
2、 再实施备份的全过程中,数据库必须要作备份而不能作其他工作。也就是说,在冷备份过程中,数据库必须是关闭状态。
3、 若磁盘空间有限,只能拷贝到磁带等其他外部存储设备上,速度会很慢。
4、 不能按表或按用户恢复。

2.2 备份步骤
通过SQL语句查看相应文件位置,备份到另一个目录。

正常关闭要备份的实例。

控制文件
select *from v$controlfile;

参数文件
select value from V$PARAMETER where name like '%spfile%'

密码文件
D:\Oracle11g\product\11.2.0\dbhome_1\database\PWDorcl.ora

数据文件
select name from v$datafile;

联机重做日志
select member from V$LOGFILE;

2.3 恢复
如果数据库是运行在非归档日志模式下,将备份文件拷贝回原来的目录即可。非归档日志模式下数据库只能恢复到备份时刻的状态。
  如果数据库是运行在归档日志模式下,将数据文件拷回原来的目录(不包括联机redolog文件),然后依次选择相应的重做日志文件进行恢复,即可恢复冷备份后的所有操作,即是说可以恢复到系统崩溃前的状态。

[size=large][b]3. EXP/IMP[/b][/size]
使用exp/imp为逻辑备份方式,利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。有三种模式:表备份、用户备份和完全备份。
3.1 优缺点
优点:1、备份简单。
2、 不需要外部存储设备。

不足:1、对于大型数据库不适用,导出导入慢。

3.2 导出备份
表模式
exp ruiyuan/ruiyuan rows=y indexes=n compress=n buffer=65536
feedback=100000 file=exp_ruiyuan_ yyyymmdd.dmp
log=exp_ruiyuan_ yyyymmdd.log
tables=ruiyuan.gb_get,ruyuan.gb_weibo

用户模式
exp ruiyuan/ruiyuan owner=ruiyuan rows=y indexes=n compress=n buffer=65536
feedback=100000 file=exp_ruiyuan_yyyymmdd.dmp
log=exp_ruiyuan_yyyymmdd.log

完全模式、
exp ruiyuan/ruiyuan rows=y indexes=n compress=n buffer=65536
feedback=100000 full=y file=exp_ruiyuan_yyyymmdd.dmp
log=exp_ruiyuan_yyyymmdd.log

3.3 导入恢复
表模式
imp gb/ruiyuan fromuser=ruiyuan touser=gb rows=y indexes=n
commit=y buffer=65536 feedback=100000 ignore=n volsize=0
file=exp_ruiyuan_yyyymmdd.dmp
log=imp_ruiyuan__yyyymmdd.log
tables=ruiyuan.gb_get
若要全部导入不需要指定tables

用户模式
imp gb/ruiyuan fromuser=ruiyuan touser=ruiyuan rows=y indexes=n
commit=y buffer=65536 feedback=100000
file=exp_ruiyuan_yyyymmdd.dmp
log=imp_ruiyuan_yyyymmdd.log

完全模式
imp system/sys rows=y indexes=n commit=y buffer=65536
feedback=100000 file=exp_ruiyuan_yyyymmdd.dmp
log=imp_ruiyuan_yyyymmdd.log

3.4 相关参数
Exp

USERID 用户名/口令 FULL 导出整个文件 (N)
BUFFER 数据缓冲区大小 OWNER 所有者用户名列表
  FILE 输出文件 (EXPDAT.DMP) TABLES 表名称列表
  COMPRESS 导入到一个区 (Y) RECORDLENGTH IO 记录的长度
  GRANTS 导出权限 (Y) INCTYPE 增量导出类型(废除)
  INDEXES 导出索引 (Y) RECORD 跟踪增量导出 (Y)
  DIRECT 直接路径 (N) TRIGGERS 导出触发器 (Y)
  LOG 屏幕输出的日志文件 STATISTICS 分析对象 (ESTIMATE)
  ROWS 导出数据行 (Y) PARFILE 参数文件名
  CONSISTENT 交叉表的一致性 (N) CONSTRAINTS 导出的约束条件 (Y)
  OBJECT_CONSISTENT 只在对象导出期间设置为读的事务处理 (N)
  FEEDBACK 每 x 行的显示进度 (0)
  FILESIZE 每个转储文件的最大大小
  FLASHBACK_SCN 用于将会话快照设置回以前状态的 SCN
  FLASHBACK_TIME 用于获取最接近指定时间的 SCN 的时间
  QUERY 用于导出表的子集的 select 子句
  RESUMABLE 遇到与空格相关的错误时挂起 (N)
  RESUMABLE_NAME 用于标识可恢复语句的文本字符串
  RESUMABLE_TIMEOUT RESUMABLE 的等待时间
  TTS_FULL_CHECK 对 TTS 执行完整的或部分相关性检查
  TABLESPACES 要导出的表空间列表
  TRANSPORT_TABLESPACE 导出可传输的表空间元数据 (N)
  TEMPLATE 调用 iAS 模式导出的模板名


Imp

USERID 用户名/口令 FULL 导入整个文件 (N)
  BUFFER 数据缓冲区大小 FROMUSER 所有人用户名列表
  FILE 输入文件 (EXPDAT.DMP) TOUSER 用户名列表
  SHOW 只列出文件内容 (N) TABLES 表名列表
  IGNORE 忽略创建错误 (N) RECORDLENGTH IO 记录的长度
  GRANTS 导入权限 (Y) INCTYPE 增量导入类型
  INDEXES 导入索引 (Y) COMMIT 提交数组插入 (N)
  ROWS 导入数据行 (Y) PARFILE 参数文件名
  LOG 屏幕输出的日志文件 CONSTRAINTS 导入限制 (Y)
  DESTROY 覆盖表空间数据文件 (N)
  INDEXFILE 将表/索引信息写入指定的文件
  SKIP_UNUSABLE_INDEXES 跳过不可用索引的维护 (N)
  FEEDBACK 每 x 行显示进度 (0)
  TOID_NOVALIDATE 跳过指定类型 ID 的验证
  FILESIZE 每个转储文件的最大大小
  STATISTICS 始终导入预计算的统计信息
  RESUMABLE 在遇到有关空间的错误时挂起 (N)
  RESUMABLE_NAME 用来标识可恢复语句的文本字符串
  RESUMABLE_TIMEOUT RESUMABLE 的等待时间
  COMPILE 编译过程, 程序包和函数 (Y)
  STREAMS_CONFIGURATION 导入 Streams 的一般元数据 (Y)
  STREAMS_INSTANITATION 导入 Streams 的实例化元数据 (N)
  
下列关键字仅用于可传输的表空间
  TRANSPORT_TABLESPACE 导入可传输的表空间元数据 (N)
  TABLESPACES 将要传输到数据库的表空间
  DATAFILES 将要传输到数据库的数据文件
  TTS_OWNERS 拥有可传输表空间集中数据的用户
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值