ORACLE_OCP之备份与恢复入门
- 文章目标:
- 描述与备份和恢复有关的数据库体系结构
- 在ASM中以NOARCHIVELOG模式描述您的ORCL数据库(此章中忽略,后面有专题课程)
- 区分用于备份和恢复的Oracle工具
- 执行基本备份和恢复(在NOARCHIVELOG模式下)
一、ORACLE数据库的核心组件
二、ORACLE数据库的存储结构
三、ORACLE 物理和逻辑存储结构
四、ORACLE数据库的进程结构
- User process 用户进程
- 是连接到Oracle数据库实例的应用程序或工具
- Database processes 数据库进程
- Server process 服务进程:连接到Oracle实例,并与用户建立会话时启动
- Background processes 后台进程:
- 启动Oracle实例时启动
- 执行I / O以将数据写入磁盘
- 在实例启动时执行恢复(如有必要)
- 执行其他任务
- Daemon and Application processes守护/应用程序 进程。
- Networking listeners 网络监听进程
- Grid Infrastructure daemons 网格基础设备守护程序 /ASM与RAC/
五、进程结构
六、数据库写进程(DBWn)
- 将DB_BUFFER_CACHE中的已修改(脏)缓冲区写入磁盘:
- DBWn是异步处理的(发起commit的时候不立即将数据写回去)
- 推进检查点
七、Log Writer Process (LGWR) 日志写进程
- 将重做日志缓冲区写入磁盘上的重做日志文件:
- 当用户进程提交事务时 (发生commit)立即写
- 发生联机重做日志切换时
- 当重做日志缓冲区的三分之一已满或包含1 MB的缓冲数据时
- 在DBWn进程将修改的缓冲区写入磁盘之前
- 自上次写入以来已过三秒钟
八、检查点进程(CKPT)
- 检查点:(实例恢复需要从哪个SCN开始?)
- 完全检查点:记录在控制文件和数据文件头中
- 增量检查点:记录在控制文件中
九、系统监控进程(SMON)
- 在实例启动时执行实例恢复(如果需要)
- 清理未使用的临时段
十、进程监视进程(PMON)
- 用户进程失败时执行进程恢复
- 清理DB_BUFFER_CACHE
- 释放用户进程使用的资源
- 监视会话以了解空闲会话超时
十一、归档进程(ARCn)
- 发生日志切换后,将REDO日志文件复制到指定的存储设备
- 可以收集事务REDO数据并将该数据传输到备用目标
十二、数据库日志模式
十三、ORACLE DBA工具
- 用于管理、备份和恢复相关的任务:
- RMAN client
- SQL*Plus
- SQL Developer
- srvctl: for Oracle Restart components and clustered environments
- asmcmd: for all ASM administration tasks
- EMCC
- RMAN和OSB的图形用户界面
- 从事许多任务的向导
- obtool: Oracle安全备份的命令行界面
- Enterprise Manager Database Express (EM Express)
十四、DBA职责分离
- SYSBACKUP管理特权:
- 包括备份和恢复权限(连接到关闭的数据库)
- 不包括数据访问权限,例如SELECT ANY TABLE
- 授予数据库安装过程中创建的SYSBACKUP用户
- 可以由SYSBACKUP特权用户在RMAN连接中显式使用
$ rman target “’/ as sysbackup’”
connected to target database: ORCL (DBID=1297344416)
注意:除非必要,否则避免使用SYSDBA特权(国内都是使用SYSDBA特权的)
十五、使用RMAN连接目标数据库
[oracle@oracle12 ~]$ rman target "'/ as sysbackup'"
Recovery Manager: Release 12.2.0.1.0 - Production on Fri Jan 1 15:20:02 2021
Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.
connected to target database: ORCL (DBID=1587326136)
RMAN> BACKUP DATABASE;
Starting backup at 2021-01-01 15:20:15
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=395 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/u01/app/oracle/oradata/orcl/system01.dbf
input datafile file number=00003 name=/u01/app/oracle/oradata/orcl/sysaux01.dbf
input datafile file number=00002 name=/u01/app/oracle/oradata/orcl/undotbs2_01.dbf
input datafile file number=00005 name=/u01/app/oracle/oradata/orcl/undo02.dbf
input datafile file number=00004 name=/u01/app/oracle/oradata/orcl/undotbs01.dbf
input datafile file number=00007 name=/u01/app/oracle/oradata/orcl/users01.dbf
channel ORA_DISK_1: starting piece 1 at 2021-01-01 15:20:16
channel ORA_DISK_1: finished piece 1 at 2021-01-01 15:20:41
piece handle=/u01/app/oracle/product/12.2.0/db_1/dbs/01vji1dg_1_1 tag=TAG20210101T152016 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:25
Finished backup at 2021-01-01 15:20:41
Starting Control File and SPFILE Autobackup at 2021-01-01 15:20:41
piece handle=/u01/app/oracle/product/12.2.0/db_1/dbs/c-1587326136-20210101-00 comment=NONE
Finished Control File and SPFILE Autobackup at 2021-01-01 15:20:42
RMAN> LIST BACKUP
2> ;
List of Backup Sets
===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ -------------------
1 Full 1.23G DISK 00:00:20 2021-01-01 15:20:36
BP Key: 1 Status: AVAILABLE Compressed: NO Tag: TAG20210101T152016
Piece Name: /u01/app/oracle/product/12.2.0/db_1/dbs/01vji1dg_1_1
List of Datafiles in backup set 1
File LV Type Ckp SCN Ckp Time Abs Fuz SCN Sparse Name
---- -- ---- ---------- ------------------- ----------- ------ ----
1 Full 3097897 2021-01-01 15:20:16 NO /u01/app/oracle/oradata/orcl/system01.dbf
2 Full 3097897 2021-01-01 15:20:16 NO /u01/app/oracle/oradata/orcl/undotbs2_01.dbf
3 Full 3097897 2021-01-01 15:20:16 NO /u01/app/oracle/oradata/orcl/sysaux01.dbf
4 Full 3097897 2021-01-01 15:20:16 NO /u01/app/oracle/oradata/orcl/undotbs01.dbf
5 Full 3097897 2021-01-01 15:20:16 NO /u01/app/oracle/oradata/orcl/undo02.dbf
7 Full 3097897 2021-01-01 15:20:16 NO /u01/app/oracle/oradata/orcl/users01.dbf
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ -------------------
2 Full 10.19M DISK 00:00:01 2021-01-01 15:20:42
BP Key: 2 Status: AVAILABLE Compressed: NO Tag: TAG20210101T152041
Piece Name: /u01/app/oracle/product/12.2.0/db_1/dbs/c-1587326136-20210101-00
SPFILE Included: Modification time: 2021-01-01 05:22:42
SPFILE db_unique_name: ORCL
Control File Included: Ckp SCN: 3097913 Ckp time: 2021-01-01 15:20:41
十六、在RMAN中使用SQL
-
从RMAN命令行:
- 执行SQL命令和PL / SQL过程。
- 使用可选的SQL前缀可以避免歧义。
- 使用DESCRIBE命令列出视图表的列。
- 句法:
DESCRIBE (CATALOG) (schema.) table (@dblink);
RMAN> SELECT NAME, DBID, LOG_MODE FROM V$DATABASE; NAME DBID LOG_MODE --------- ---------- ------------ ORCL 1587326136 ARCHIVELOG RMAN>