Oracle(2-10) User-Managed Backups


在这里插入图片描述

User-Managed Backups 用户管理的备份
目标:

  • 掌握用户管理的备份和恢复操作
  • 掌握只读表空间相关的备份问题
  • 掌握关闭的数据库备份(冷备份)
  • 掌握打开的数据库备份(热备份)
  • 备份控制文件
  • 联机备份失败后执行清理
  • 使用DBVERIFY实用程序检测损坏

一、基础知识

1、Terminology 术语

  • Whole database backup 整个数据库备份(全备)
    • 目标数据库可能已打开或关闭
    • 备份所有数据文件和控制文件
  • Partial database backups 部分数据库备份
    • Tablespace
    • Data file
    • Control file
  • Consistent backups 一致备份
  • Inconsistent backups 不一致备份

2、User-Managed Backup/Recovery 用户管理的备份/恢复

  • 文件用操作系统命令进行备份
  • 使用操作系统命令还原备份
  • 恢复是使用SQL和SOL*Plus命令完成的

3、Get DB File Information 获取数据库文件信息

  • V$DATAFILE
  • V$CONTROLFILE
  • V$LOGFILE
  • DBA_DATA_FILES
    查询这些文件的信息,然后记录下来,方便之后做备份

4、Consistent Whole DB Backup 一致的整个数据库备份

冷备份

在这里插入图片描述

  • 需要对数据文件、控制文件、日志文件、参数文件、密码文件进行物理备份
  • Advantages of this Backup 冷备份的优点
    • 概念上简单
    • 易于执行
    • 只需要很少的操作员交互
    • Making a Whole DB Backup 操作整个数据库备份在这里插入图片描述
      • 冷备份步骤:
      • 1、用户连接数据库
      • 2、关闭数据库
      • 3、新创一个备份目录,将各个文件cp到备份目录下;
      • 4、启动数据库,备份完成

热备份

在这里插入图片描述

  • Advantages of this Backup 热备份的优点
    • 保持高数据库可用性
    • 可在表空间或数据文件级别完成
    • 支持不间断的业务操作
  • 必须使用日志归档模式
  • 在这里插入图片描述

二、基础操作

1、查找需要备份的各种文件

  • 查找数据文件
select name, status from v$datafile;

在这里插入图片描述

  • 查找控制文件
select name from v$controlfile;

在这里插入图片描述

  • 查找日志文件
select member from v$logfile;

在这里插入图片描述

  • 查找参数文件
show parameter spfile;

在这里插入图片描述

  • 查找密码文件位置

密码文件通常是位于Oracle数据库实例的ORACLE_HOME/dbs目录中。密码文件的名称通常是"orapw{SID}“,其中”{SID}"是数据库实例的系统标识符。

例如,如果你的数据库实例的SID是"ORCL",那么密码文件的名称可能是"orapwORCL"。这个文件存储了用于SYSDBA和SYSOPER角色身份验证的密码信息。

cd $ORACLE_HOME/dbs

在这里插入图片描述

2、整备操作

冷备份

只需要按照操作1找到文件的位置,在按照基础知识4冷备份知识即可简单完成备份

热备份

数据文件备份

col file_name format a45;
col tablespace_name format a15;
select file_name, tablespace_name from dba_data_files;

在这里插入图片描述
查询基础数据文件

alter TABLESPACE example begin backup;

开始进入备份模式

!cp /u01/app/oracle/oradata/orcl/example01.dbf /u01/app/oracle/oradata/backup

将数据文件备份到指定目录下

alter tablespace example end backup;

在这里插入图片描述
到备份目录下查看是否完成备份
在这里插入图片描述
这样一个数据文件备份就完成了(还需要以此类推备份其他数据文件)
在这里插入图片描述

备份模式有什么作用:

  • 表空间被设置了检查点,数据文件头中的检查点SCN标记不再随着检查点而增加,更改的DB块的完整映像被写入重做日志。

只读文件备份(可选)

如果有只读表空间需要备份需要进行只读备份:
Read-Only TS Backup:
在这里插入图片描述
步骤:
1、修改目标为只读

# 语句格式
# alter tablespace 表空间 read only; 这里实例以example 为例
alter tablespace example read only;

2、拷贝表空间

# 这里和上边数据文件备份是一样的,只是做个演示
!cp /u01/app/oracle/oradata/orcl/example01.dbf /u01/app/oracle/oradata/backup
  • 只读表空间备份操作跟冷备份相似,只需要将表空间设置为只读,然后拷贝文件就OK了,并且不需要将数据库关机,也不需要将表空间置为备份模式

3、将文件修改为可读可写(如果有需要可以在改回来)

alter tablespace example read write;

控制文件备份

alter database backup controlfile to '/u01/app/oracle/oradata/backup/c1.ctl';

在这里插入图片描述
在这里插入图片描述

总结热备份方法

结合基础操作1找到各中文件的位置然后进行备份。

alter database begin backup; -- 开始备份
!cp datafile_path backup_path; -- 复制数据文件
!cp controlfile_path backup_path; -- 复制控制文件
!cp redo_log_file_path backup_path; -- 复制日志文件
alter database end backup; -- 结束备份

最好的话是一个文件一个文件的备份,不要怕麻烦,这样的话同一个文件处于备份期间的时间比较短,对性能影响不会很大。

完结散花在这里插入图片描述

  • 19
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不会编程的喵星人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值