初识Oracle day16(RMAN工具的使用以及备份与还原等相关的知识)

1-请分别写出数据文件、日志文件、控制文件的后缀名、本机存放路径、92数据库存放路径、各自的作用?

数据文件的后缀名:.dbf
日志文件的后缀名:.log
控制文件的后缀名:.ctl

本机数据文件的存放路径:
在这里插入图片描述
本机日志文件的存放路径:
在这里插入图片描述
本机控制文件的存放路径:
在这里插入图片描述
92数据库数据文件的存放路径:
在这里插入图片描述
92数据库中日子文件的存放路径:
在这里插入图片描述
92数据库中控制文件的存放路径:
在这里插入图片描述
数据文件、日志文件、控制文件的作用是:
日志文件用来记录数据库的更新操作,数据文件用来存储数据包括数据库中各种对象和数据,控制文件是存放数据库的结构信息。
2-写出:启动RMAN的步骤…

win+R打开运行窗口,在里面输入:rman target system/nocatalog

在这里插入图片描述
3-手画 RMAN会话与服务器进程通信的图…手画 不是excel或者截图!!!
在这里插入图片描述
在这里插入图片描述
4-[RMAN工具简介] cus channel 手敲代码并加注释…

--手动创建通道
run{
--首先分配通道ch_1,使用的驱动类型是磁盘
allocate channel ch_1 device type disk
--.bak的格式备份数据
format='E:\Oraclelogfiles\Oracledbf\%u_%c.bak';
--通过ch_1这个通道备份表空间
backup tablespace system,users channel ch_1;
}

在这里插入图片描述
5-[使用RMAN工具备份]RMAN备份策略:请收索详细备份原理…

RMAN可以进行的两种类型的备份,即完全备份(FULL BACKUP)和增量备份(INCREMENTALBACKP)。在进行完全备份时,RMAN会将数据文件中除空白数据块之外的所有数据块都复制到备份集中。需要注意,在RMAN中可以对数据文件进行完全备份或者增量备份,但是对控制文件和日志文件只能进行完全备份。
与完全备份相反,在进行增量备份时RMAN也会读取整个数据文件,但是只会备份与上一次备份相比发生了变化的数据块。RMAN可以对单独的数据文件、表空间、或者整个数据库进行增量备份。

6-[使用RMAN工具备份] backupdb 手敲代码并加注释…rman模式下备份数据库
在sqlplus里面创建表空间

connect system/123456
--创建表空间
create tablespace rman_tbsp 
datafile 'E:\Oraclelogfiles\OracleData\rman.dbf' 
size 1g;
--创建用户
create user rman_user identified by mrsoft 
default tablespace rman_tbsp
temporary tablespace temp;
--授权
grant connect,recovery_catalog_owner,resource to rman_user;
--在cmd模式下面进入RMAN模式
rman target system/123456 catalog rman_user/mrsoft;

--在rman模式下,备份数据文件
backup database 
format 'E:\Oraclelogfiles\OracleData\oradb_%Y_%M_%D_%U.bak'
maxsetsize 2g;

7-RMAN> sql ‘’;RMAN模式下,如何写修改SQL命令?

--如果建立的是非一致备份,必须进行归档。通过用当前的归档日志文件
sql'alter system archive log current';

--查看数据库的整个备份列表
list backup of database;

在这里插入图片描述
在这里插入图片描述
8-[使用RMAN工具备份] backup tablespace, 手敲代码并加注释…rman模式下备份表空间

--备份表空间
在cmd环境下面,进入rman模式
rman target system/123456 nocatalog
--在rman环境下面
run{
allocate channel ch_1 type disk
backup tablespace users
format 'E:\Oraclelogfiles\Oracledbf\%d_%p_%t_%c.dbf';
}

--查看users表空间的备份
RMAN>list backup of tablespace users;

在这里插入图片描述
查看users表空间的备份信息
在这里插入图片描述

9-[使用RMAN工具备份] backup databasefile ,手敲代码并加注释…rman模式下备份数据文件

--备份数据文件
--在rman环境下面
--1,2,3是文件的编号
backup datafile 1,2,3  filesperset 3;

--查看备份的数据文件
list  backup of datafile 1,2,3;

在这里插入图片描述
在这里插入图片描述
10-[使用RMAN工具备份] backup control,手敲代码并加注释…rman模式下备份控制文件

--备份控制文件
backup current controlfile;--备份当前的控制文件
或
backup tablespace ts_1 include current controlfile;--指定一个表空间存放当前要备份的控制文件

--查看备份的控制文件
list backup of controlfile;

备份当前的控制文件
在这里插入图片描述
查看备份的控制文件列表
在这里插入图片描述

11-[使用RMAN工具备份] backup archivelog ,手敲代码并加注释…rman模式下备份归档重做日志文件

--备份归档重做日志文件
--在rman模式下
backup archivelog all delete all input;

--查看备份日志信息列表
list  backup of archivelog all;

备份归档重做日志文件
在这里插入图片描述
查看备份日志信息列表
在这里插入图片描述
12-[使用RMAN工具完全恢复]
backup and recovery 手敲代码并加注释…rman模式下备份数据库与还原

使用noarchivelog模式的数据库,进行数据库的备份与还原

--在sqlplus模式下
conn system/123456 as sysdba;
--查看当前的数据库模式
select log_mode from v$database;

--在cmd环境下面,登录RMAN模式
rman target  system/123456 nocatalog;
--在rman环境下(还原数据库)
shutdown immediate
startup mount

--执行备份数据库
run{
allocate channel ch_1 type disk;
back database
format 'E:\Oraclelogfiles\OracleData\mc_%t_%u.bak';
}

--用alter命令来打开数据库
alter database open;

shutdown immediate;--这里shutdown的目的
--然后手动的删除一个数据文件,并试图使用startup命令启动数据库

--启动数据库
startup mount

--恢复数据库
run{
allocate channel ch_1 type disk;
restore database;
}
--打开数据库
alter database open;
--更改数据库的归档模式由归档日志文件模式装化为非归档日志文件模式
shutdown immediate;
startup mount;
alter database noarchivelog;
alter database open;
select log_mode from v$database;

完全恢复处于ARCHIVELOG模式的数据库,与恢复NOARCHIVELOG模式的数据库相比而言,基本的区别是恢复处于ARCHIVELOG模式的数据库时,管理员还需要将归档重做日志文件的内容应用到数据文件上。在恢复过程中,RMAN会自动确定恢复数据库所需要的归档重做日志文件。

13-v$database 是什么表?
描述关于数据库相关信息的表
在这里插入图片描述
14-写出以下SQL:
sqlplus登录数据库 -> 查询数据库模式-> 关闭数据库 -> 启动到mount模式 -> 修改数据库为noarchivelog模式 -> 打开database

--在sqlplus模式下
conn system/123456 as sysdba;
--查看当前的数据库模式
select log_mode from v$database;

在sqlplus中查看当前数据库的日志文件
在这里插入图片描述

--更改数据库的归档模式由归档日志文件模式装化为非归档日志文件模式
--关闭数据库
shutdown immediate;
--启动到mount模式下
startup mount;
--更改当前数据库的归档模式
alter database noarchivelog;
--打开数据库
alter database open;
--再次查看数据库
select log_mode from v$database;

在sqlplus里面更改归档模式
在这里插入图片描述
15-【使用RMAN工具部分恢复】
recovery 基于时间的不完整恢复数据库的代码命令编写并添加注释…

备份数据库

--在cmd模式下面,进入RMAN模式下面
rman target system/123456 nocatalog

--在rman模式下
--关闭数据库
shutdown immediate;
--启动到mount模式下,目的是为了备份数据库
startup mount;

--备份数据库
run{
allocate channel ch_1 type disk;
allocate channel ch_2 type disk;
backup  database format 'database_%t_%u_%c.bak';
backup  archivelog all format 'archive_%t_%u_%c.bak';
}
alter database open;

更改数据库

在sqlplus模式下
system /123456
--查询系系统的时间(要记住)
select to_char(sysdate,'hh24:mi:ss') from dual; ---2020-3-31 16:24:43

--设置时间的格式
alter session set nls_date_format='yyyy-mm-dd';

--向emp表中插入记录
insert into scott.emp(empno,ename,job,hiredate,sal)
values(1234,'东方','manager','1999-01-10',5000);
insert into scott.emp(empno,ename,job,hiredate,sal)
values(5678,'西方','salesman','2010-01-10',3000);
--提交
commit;

还原数据库

--在rman环境中
shutdown immediate;

startup mount;

--以时间的模式还原数据库
run{
sql'alter session set nls_date_format="yyyy-mm-dd hh24:mi:ss"';
allocate channel ch_1 type disk;
allocate channel ch_2 type disk;
set util time '2020-3-31 16:24:43';
restore database; -- 是还原数据库,文件级的恢复。就是物理文件还原。
recover database;--是恢复数据库,数据级的恢复。逻辑上恢复,比如应用归档日志、重做日志,全部同步,保持一致。
sql'alter database open resetlogs';
}

最后在sqlplus环境下面查看,刚刚插入的两条记录是否存在。

select *from scott.emp;

备份数据库:
在这里插入图片描述
在sqlplus模式下面更改数据库
在这里插入图片描述
以时间的模式还原数据库:
在这里插入图片描述
查看还原后的结果:
在这里插入图片描述
16-SCN号是什么?其什么作用?
SCN:system change number
SCN是用于标示数据库变化的唯一标识号,其数值顺序递增。当执行事务时(DML语句、DDL语句),系统会为每个事务变化生成相应的SCN。当备份数据文件时,备份文件会记录备份点的SCN值,当恢复时,oracle会从备份点的SCN值开始恢复,一直到失败点的SCN值。
在RMAN中执行基于更改的不完全回复时,可以使用SET UNTIL SCN命令来指定恢复过程的终止SCN号。其他的操作步骤与执行基于时间的不完全恢复完全相同。执行基于更改的不完全恢复时,DBA唯一需要考虑的确定适当的SCN号。LogMiner是确认事务SCN号的常用工具。

其中,上面格式化相关的知识:
%c 备份片的拷贝数
%d 数据库名称
%D 位于该月中的第几天 (DD)
%M 位于该年中的第几月 (MM)
%F一个基于DBID唯一的名称,这个格式的形式为c-IIIIIIIIII-YYYYMMDD-QQ,其中IIIIIIIIII为该数据库的DBID,YYYYMMDD为日期,QQ是一个1-256的序列
%n 数据库名称,向右填补到最大八个字符
%u 一个八个字符的名称代表备份集与创建时间
%p该备份集中的备份片号,从1开始到创建的文件数
%U 一个唯一的文件名,代表%u_%p_%c
%s 备份集的号
%t 备份集时间戳
%T 年月日格式(YYYYMMDD)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值