Oracle(2-10) User-Managed Backups

文章目录

  • 一、基础知识
    • 1、Terminology 术语
    • 2、User-Managed Backup/Recovery 用户管理的备份/恢复
    • 3、Get DB File Information 获取数据库文件信息
    • 4、Consistent Whole DB Backup 一致的整个数据库备份
      • 冷备份
      • 热备份
  • 二、基础操作
    • 1、查找需要备份的各种文件
    • 2、整备操作
      • 冷备份
      • 热备份
      • 数据文件备份
      • 只读文件备份(可选)
      • 控制文件备份
      • 总结热备份方法

在这里插入图片描述

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 一致的整个数据库备份

冷备份

Oracle(2-10) User-Managed Backups_第1张图片

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

热备份

Oracle(2-10) User-Managed Backups_第3张图片

  • Advantages of this Backup 热备份的优点
    • 保持高数据库可用性
    • 可在表空间或数据文件级别完成
    • 支持不间断的业务操作
  • 必须使用日志归档模式
  • Oracle(2-10) User-Managed Backups_第4张图片

二、基础操作

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

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

Oracle(2-10) User-Managed Backups_第5张图片

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

Oracle(2-10) User-Managed Backups_第6张图片

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

Oracle(2-10) User-Managed Backups_第7张图片

  • 查找参数文件
show parameter spfile;

Oracle(2-10) User-Managed Backups_第8张图片

  • 查找密码文件位置

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

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

cd $ORACLE_HOME/dbs

Oracle(2-10) User-Managed Backups_第9张图片

2、整备操作

冷备份

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

热备份

数据文件备份

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

Oracle(2-10) User-Managed Backups_第10张图片
查询基础数据文件

alter TABLESPACE example begin backup;

开始进入备份模式

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

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

alter tablespace example end backup;

Oracle(2-10) User-Managed Backups_第11张图片
到备份目录下查看是否完成备份
Oracle(2-10) User-Managed Backups_第12张图片
这样一个数据文件备份就完成了(还需要以此类推备份其他数据文件)
Oracle(2-10) User-Managed Backups_第13张图片

备份模式有什么作用:

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

只读文件备份(可选)

如果有只读表空间需要备份需要进行只读备份:
Read-Only TS Backup:
Oracle(2-10) User-Managed Backups_第14张图片
步骤:
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';

Oracle(2-10) User-Managed Backups_第15张图片
Oracle(2-10) User-Managed Backups_第16张图片

总结热备份方法

结合基础操作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; -- 结束备份

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

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

你可能感兴趣的:(Oracle学习系列,oracle,数据库,linux,运维)