一、脱机备份与恢复

1.脱机备份

获取数据文件列表

在这里插入图片描述


获取控制文件列表

在这里插入图片描述


获取联机重做日志文件列表

在这里插入图片描述


备份测试

建立测试表
在这里插入图片描述


关闭数据库
在这里插入图片描述


建立备份的目录,复制文件到备份的目录,包括全部的数据文件、控制文件和重做日志文件(第一次尝试的时候被拒绝访问,只需要以管理员身份打开命令行即可)。
在oracle中当我们新建了多个数据库后,再次登录时,系统默认的是最后创建的那个数据库,所以上述操作默认在TEST4数据库中进行,要备份TEST4中的数据(这里一定要把上面查询到的文件都备份,如果缺文件则无法进行恢复,注意!!!)
在这里插入图片描述
在这里插入图片描述


启动数据库,增加测试记录
在这里插入图片描述
在这里插入图片描述


删除文件,模拟数据库损坏
在这里插入图片描述

2.脱机恢复

关闭数据库,将备份的数据文件还原到原来所在的位置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


启动数据库,查询数据记录丢失情况
在这里插入图片描述
数据库恢复成功,但备份之后与崩溃之前的数据丢失了。意味着这种恢复可以完全恢复到备份的点上。

二、联机备份与恢复

1.将数据库转换为归档模式

创建两个目录
在这里插入图片描述


设置参数,指定归档目的地和控制归档日志文件名
在这里插入图片描述


关闭数据库,再在加载模式中启动数据库,并将数据库转换至文档模式后打开数据库,查询数据库及归档器进程状态
在这里插入图片描述


执行日志切换,查询数据库归档方式
在这里插入图片描述


2.联机备份

建立测试表并添加记录
在这里插入图片描述


将数据库的表空间设为联机备份状态,查 询bda_data_file 数据字典视图确定所有表空间的数据文件
在这里插入图片描述


备份该表空间的所有数据文件,并取消表空间的备份状态,备份控制文件后向测试表中添加一条记录,再进行日志切换
在这里插入图片描述


关闭数据库,模拟丢失数据文件
在这里插入图片描述


3.联机恢复

将出现问题的表空间数据文件修改为脱机状态,修改数据库为打开状态,将备份的数据文件复制到原来的目录
在这里插入图片描述
在这里插入图片描述


用 recover 命令进行介质恢复,完成后将表空间数据文件恢复为联机状态,查询数据记录丢失情况
在这里插入图片描述
可以发现,数据库恢复成功,数据没有丢失。
若丢失的数据文件有多个,则应先将相应的数据文件全部进行备份,再使用类似的恢复步骤进行恢复。

三、不完全恢复

1.基于 cancel 的恢复

基于 cancel 的不完全恢复适用场景:recover 时、所需的某个归档日志损坏,或主机断电、current 状态的联机日志损坏。


关闭数据库,使用操作系统命令将原来备份的文件复制到正确的目录下;使用 startup mount 命令启动数据库
在这里插入图片描述
在这里插入图片描述


2.基于时间点的恢复

首先关闭数据库,使用操作系统命令将原备份的文件复制到正确的目录下;使用 startup mount 命令启动数据库
在这里插入图片描述
在这里插入图片描述


使用 recover 命令对数据库执行基于时间点的恢复,完成恢复操作后,使用 resetlogs 模式启动数据库
在这里插入图片描述

3.基于 SCN 的恢复

SCN (System Change Number)是当 Oracle 数据库更新后,由 DBMS自动维护去累积递增的一个数字。在 Oracle 中有四种 SCN,分别为:系统检查点 SCN、数据文件检查点 SCN、启动 SCN、终止 SCN。
基于 SCN 的不完全恢复使用情况跟基于时间一样,只是这里是根据 SCN 值来恢复的,查询系统检查点 SCN。


首先关闭数椐库;使用操作系统命令将原备份的文件复制到正确的目录下;使用 startup mount 命令启动数据库
在这里插入图片描述
在这里插入图片描述


使用 recover 命令对数据库进行恢复。恢复操作完成后,使用 resetlogs 模式启动数据库
在这里插入图片描述

四、使用EXP/IMP命令导出/导入数据

1.EXP 导出命令概述

可以对所有表执行全数据库导出(Complete Export)或者仅对上次导出后修改的表格全数据库导出。增量导出有两种不同类型:Incremental (增量)型和 Cumulative(积累)型。Incremental 导出将导出上次导出后修改过的全部表;而 Cumulative 导出将导出上次全导出修改过的表。可使用 Export 实用程序来压缩数据段碎片的盘区。
从命令行调用 Export 程序并且传递各类参数和参数值,可以完成导出操作,参数如下:

  • Userid:执行导出的用户名和口令,如果是 EXP 命令后的第—个参数,则关键字 Userid 可以省略
  • Buffer:用于获取数据行的缓冲区尺寸,默认值随系统而定,通常设定一个高值(>64000)
  • File:导出转储文件的名字
  • Filessize:导出转储文件的最大尺寸。如果 file 条目中列出多个文件,将根据 Filessize 设置值导出这些文件
  • Compress:Y/N 标志,用于指定导出是否应把碎片段压缩成单个盘区。这个标志影响将存储到导出文件中的 storage 子句
  • Grants:Y/N 标志,指定数据库对象的权限是否导出
  • Indexes:Y/N 标志,指定表上的索引是否导出
  • Rows:Y/N 标志,指定行是否导出。如果设置为 N,在导出文件中将只创建数据库对象的 DDL
  • Constraints:Y/N 标志,用于指定表上的约束条件是否导出
  • Full:若设为 Y,执行 Full 数据库导出
  • Ower :导出数据库账户的清单;可以执行这些账户的 User 导出
  • Tables:导出表的清单;可以执行这些表的 Table 导出
  • Recordlength:导出转储文件记录的长度,以字节为单位。除非是在不同的操作系统间转换导出文件,否则就使用默认值
  • Direct:Y/N 标志,用于指示是否执行 Direct 导出。Direct 导出在导出期间绕过缓冲区,从而大大提高导出处理的效率
  • Inctype:要 执行 的到处 类型 ( 允许 值为 complete ( 默 认) 、cumulative 和 incremental)
  • Record:用于 incremental 导出,这个 Y/N 标志指示一个记录是否存储在记录导出的数据字典中
  • Parfile:传递给 Export 的一个参数文件名
  • Statistics:这个参数指示导出对象的 analyze 命令是否应写到导出转储文件上。其布效值是 compute、estimate (默认)和N
  • Consistent:Y/N 标志,用于指示是否应保留全部导出对象的读一致版本。在 ExPort 处理期间,当相关的表被用户修改时需要这个标志
  • Log:导出日志的文件名
  • Feedback:表导出时显示进度的行数。默认值为 0,所以在表全部导出前没有反馈显示
  • Query:用于导出表的子集 select 语句
  • Transport_tablespace:如果正在使用可移动表空间选项,就设置为 Y。和关键字tablespace 一起使用
  • Tablespaces:移动表空间时应导出其元数据的表空间
  • Object_consistent:导出对象时的事物集,默认为 N,建议采用默认值
  • Flashback_SCN:用于回调会话快照的 SCN 号,特殊情况下使用,建议不用
  • Flashback_time:用于回调会话快照的 SCN 号的时间,如果希望导出不是现在的数据,而是过去某个时刻的数据的话,可使用该参数
  • Resumanle:遇到错误时挂起,建议采用默认值
  • Resumanle_timeout:可恢复的文本字符串,默认值为 Y,建议采用默认值
  • Tts_full_check:对 TTS 执行完全或部分相关性检查,默认值为 Y,建议采用默认值
  • Template:导出的模板名

导出有以下三种模式:

  • 交互模式。在输入 EXP 命令后,根据系统的提示输入导出参数,如用户名、口令和导出类型等参数
  • 命令行模式。命令行模式和交互模式类似,不同的是使用命令模式时,只能在模式被激活后,才能把参数和参数值传递给导出程序
  • 参数文件模式。参数文件模式的关键参数是Parfile。Parfile的对象是一个包含激活控制导出对话的参数和参数值的文件名

2.EXP导出

建立导出的测试环境
在这里插入图片描述


将数据库 TEST4完全导出,用户名 system,密码 123456
在这里插入图片描述


将数据库中 system 用户与 usertest001 用户的表导出
在这里插入图片描述


将数据库中的表 tablezf001导出
在这里插入图片描述

3.IMP 导入命令概述

数据导出后,可以使 Import 工具将导出的文件再导入到数据库中。Import 工具能够读取由 Export 工具生成的二进制导出转储文件并执行文件中的命令,能够从导出转储文件中导入部分或全部数据
导入操作可以交互进行也可通过命令进行。导入操作选项同导出的操作一样


导入表

导入自己的表
在这里插入图片描述


导入表到其他用户
要求该用户具有 DBA 的权限,或是imp_full_database,在执行如下语句之前必须先执行 grant dba to userzf001 的授权语句
在这里插入图片描述

在这里插入图片描述


导入方案

导入方案是指使用 Import 工具将文件中的对象和数据导入到一个或是多个方案中。如果要导入其他方案,要求该用户具有 DBA 的权限,或者imp_full_database


导入自身的方案
在这里插入图片描述


导入其他方案
在这里插入图片描述


导入数据库

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

五、使用OEM导出/导入数据

1.备份准备

使用 OEM 进行备份之前,需要建立相关的操作系统备份用户,其可以是已经存在的用户或是新建一个用户。本实验中将新建一个用于Oracle 备份的操作系统用户


在 操 作 系 统 中 新 建 一 个 用 户 , 其 用 户 名 为 :oraclezf001,密码为:123456
在这里插入图片描述


编 辑 oraclezf001 用 户 的 属 性 , 将 其 隶 属 于
Admimstraors 和 ora_dba 组
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


在开始运行处录入 secpol.msc 进入“本地策略”→“用户权限分配”中,将“作为批处理作业登录”权限添加给 oraclezf001 用户
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
通过以上设置,我们已经建立好了 OEM 备份使用的操作系统用户,并具有相关权限

2.使用 OEM 导出数据

OEM 在进行数据逻辑备份时,实际使用 Oracle 11g 的 EXPDP 程序在服务器端执行备份


创建测试环境步骤

在这里插入图片描述


以 SYSTEM 用户的普通身份登录 OEM
在这里插入图片描述


单击“数据移动”页面“移动行数据”项下的“导出到导出文件”链接
在这里插入图片描述


在“导出:导出类型”页面选择“方案”选项,输入主机 身 份 证 明 项 下 的 用 户 名 及 口 令
在这里插入图片描述


在“导出:方案”页而的初始状态下,没有默认的方案被选择,单击“添加”按钮
在这里插入图片描述


在“导出:添加方案”页面选择方案的名称,单击“开
始“按钮,在搜索结果栏中显示相应的方案名,选择需要导出的方案笔 USERZF001,单击“选择”按钮
在这里插入图片描述
在这里插入图片描述


在“导出:选项”页面单击“显示高级选项”链接,将显示导出的内容、闪回、查询等,单出“下一步”按钮
在这里插入图片描述


点击“创建目录对象”,输入目录名称,例如“ORABACKDIR”(建议使用大写),在路径中输入存储备份文件的文件夹地址“G:\oracle\bak”,可以点击“测试文件系统”进行测试,注意文件夹地址必须在服务器上已经存在
在这里插入图片描述


:在目录对象下拉菜单中选择刚刚创建的“ORABACKDIR”
在这里插入图片描述


本页指定存储文件的存放位置,在页面中的目录对象
下拉菜单中选择刚刚创建的“ORABACKDIR”,文件名输入相关值,建议添加“%U”通配符,这样当一个存储文件写满时会自动创建新的文件。在最大文件大小中指定最大文件大小,此处输入 2048,表明每个存储文件最大为 2GB。单击“下一步”按钮继续
在这里插入图片描述


在页面中输入作业名称,这里输入“FIRSTEXP”(建议使用大写),可以在“说明”中添加相关的作业说明,如“导出USERTEST001 的数据”。指定启动时间,这里选择“立即”。单击“下一步”按钮继续
在这里插入图片描述


在“导出:复查”页面中,显示了作业的导出类型、统计信息类型、并行度、要导出的文件、日志文件及作业调度,单击“提交作业”按钮
在这里插入图片描述


“ 复查”页面中检查无误后点击“提交作业”。如果提
交成功,页而将转向“作业活动”的“确认”页面。在页面的列表中可以看到“FIRSTEXP”的状态为“正在运行”
在这里插入图片描述


在等待一定时间后,显示成功创建作业的信息,可以
点击页面中的“开始”对页面进行刷新,当列表中为空时,表示导出已经成功结朿(因为第一次作业提交有问题,所以又创建了一个名称为SECONDEXP)
在这里插入图片描述

3.使用 OEM 导入数据

使用 OEM 导入方式导入上一任务中备份的表
先将 USERTEST001 用户删除
在这里插入图片描述


以 SYSTEM 用户的普通身份登录 OEM,单击“数据移动”页面“移动数据”项下的“从导出文件导入”,打开“导入:文件”页面,选择目录对象为 ORABACKDIR,选择导入类型为“方案”,输入主机身份证明的用户名及口令,单击“继续”按钮
在这里插入图片描述
在这里插入图片描述


在导入读取成功页面中显示“已成功读取导入文件”后单击“添加”按钮
在这里插入图片描述


单击“添加”按钮,在弹出页面选择方案USERZF001,单击“选择”按钮
在这里插入图片描述


在“导入:方案”页面中单击“下一步”按钮
在这里插入图片描述


在新页面中可以指定“重新映射方案”“重新映射表空间”“重新映射数据文件”时,使用默认设置,不进行修改。单击“下一步”继续
在这里插入图片描述


选择或创建生成日志文件的目录,本例中选择“orabackdir2”。在高级选项中可以设置导入的具体方式,这里我们使用默认设置。单击“下一步”继续
在这里插入图片描述


在“导入:调度”页面的“作业名称”栏设定作业名称,如输入 firstimp,单击“下一步”按钮
在这里插入图片描述


在“导入:复查”页面显示调度信息,复查页面检查无误,单击“提交作业”按钮
在这里插入图片描述


在“作业活动”页面中显示“已成功创建作业”
在这里插入图片描述


使用“USERZF001”用户登录数据库查看导入数据,可以确认数据已经导入
在这里插入图片描述
在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐