




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Oracle 11g实用教程第十章 数据库的备份和恢复内容概要内容概要备份与恢复概述备份与恢复概述1 物理备份与恢复物理备份与恢复2逻辑备份和恢复逻辑备份和恢复3使用使用RMAN的备份和恢复的备份和恢复4自动备份和恢复自动备份和恢复53备份与恢复概述备份与恢复概述v备份与恢复的基本概念备份与恢复的基本概念v Oracle数据库故障类型和恢复措施数据库故障类型和恢复措施v备份策略备份策略v恢复策略恢复策略4备份与恢复的基本概念备份与恢复的基本概念v 备份分为物理备份和逻辑备份备份分为物理备份和逻辑备份 物理备份,是指通过将重要的物理文件备份起来,以避免物理故障造成的损失。 逻辑备份,通常是SQL
2、语句的集合。v 在实际应用中,应该以物理备份为主,逻辑备份作为补充在实际应用中,应该以物理备份为主,逻辑备份作为补充v 进行进行 Oracle 备份恢复的方式有两种备份恢复的方式有两种 使用RMAN进行备份恢复 使用操作系统命令进行备份,并使用 SQL*Plus 进行恢复物理备份类型物理备份类型v根据数据库备份时数据库服务器状态不同,物理根据数据库备份时数据库服务器状态不同,物理备份分为冷备份和热备份备份分为冷备份和热备份v根据备份的状态不同,物理备份又可以分为一致根据备份的状态不同,物理备份又可以分为一致性备份和不一致备份性备份和不一致备份v根据数据库备份的规模不同,物理备份还可以分根据数据
3、库备份的规模不同,物理备份还可以分为完全备份和部分备份为完全备份和部分备份恢复的概念恢复的概念v在数据库发生故障后,使用备份还原数据库,使在数据库发生故障后,使用备份还原数据库,使数据库恢复到无故障状态数据库恢复到无故障状态v恢复的类型恢复的类型 根据数据库恢复时使用的备份不同,恢复分为物理恢复和逻辑恢复两类 根据数据库恢复程度的不同,恢复可分为完全恢复和不完全恢复 根据数据库恢复的方式不同,恢复可分为介质恢复和实例恢复介质恢复的步骤介质恢复的步骤v首先使用一个完整备份将数据库恢复到备份时刻首先使用一个完整备份将数据库恢复到备份时刻的状态;的状态;v然后利用归档日志文件和联机重做日志文件中的然
4、后利用归档日志文件和联机重做日志文件中的日志信息,采用前滚技术日志信息,采用前滚技术(Roll Forward)重做重做备份以后已经完成并提交的事务;备份以后已经完成并提交的事务;v最后利用回滚技术最后利用回滚技术(Roll Back)取消发生故障时取消发生故障时已写入日志文件但没有提交的事务,将数据库恢已写入日志文件但没有提交的事务,将数据库恢复到出现故障时的状态复到出现故障时的状态实例恢复的步骤实例恢复的步骤v实例恢复分两个步骤进行:实例恢复分两个步骤进行: Oracle启动实例并加载数据库后,首先采用前滚技术(Roll Forward)重做实例崩溃前已经完成并提交的事务; 然后利用回滚技
5、术(Roll Back)撤销发生故障时已写入日志文件但没有提交的事务,将数据库恢复到故障时刻的状态。Oracle数据库故障类型和恢复措施数据库故障类型和恢复措施v在在Oracle数据库中常见的故障包括数据库中常见的故障包括 语句故障 进程故障 用户错误 实例故障 网络故障 介质故障备份策略备份策略v 在刚建立数据库时,应该立即进行数据库的完全备份;在刚建立数据库时,应该立即进行数据库的完全备份;v 将所有数据库备份保存在一个独立磁盘或磁盘组上,并通过使用基于将所有数据库备份保存在一个独立磁盘或磁盘组上,并通过使用基于RAID的存的存储系统来建立系统冗余数据;储系统来建立系统冗余数据;v 应该保
6、持控制文件的多路复用,且控制文件的副本应该存放在不同磁盘控制器下应该保持控制文件的多路复用,且控制文件的副本应该存放在不同磁盘控制器下的不同磁盘设备上;的不同磁盘设备上;v 应该保持归档重做日志文件的多个拷贝。应该保持归档重做日志文件的多个拷贝。v 在磁盘上保持最小备份和数据库文件前滚所需的所有归档重组日志文件;在磁盘上保持最小备份和数据库文件前滚所需的所有归档重组日志文件;v 保持多个联机日志文件组,每个组中至少应该有两个日志成员,同一日志组的多保持多个联机日志文件组,每个组中至少应该有两个日志成员,同一日志组的多个成员应该分散存放在不同的磁盘上;个成员应该分散存放在不同的磁盘上;v 保证两
7、个归档重做日志文件的归档目标,不同归档目标应分散于不同的磁盘,且保证两个归档重做日志文件的归档目标,不同归档目标应分散于不同的磁盘,且不要与数据库文件或联机重做日志文件存储在同一个物理磁盘设备上;不要与数据库文件或联机重做日志文件存储在同一个物理磁盘设备上;v 定期执行数据库备份以减少恢复时间;定期执行数据库备份以减少恢复时间;v 如果条件允许,尽量保证数据库运行于归档模式;如果条件允许,尽量保证数据库运行于归档模式;备份策略备份策略v 增加、重命名、删除日志文件和数据文件,改变数据库结构,控制文增加、重命名、删除日志文件和数据文件,改变数据库结构,控制文件都应备份;件都应备份;v 在非归档模
8、式下,当数据库结构发生变化时,应该进行数据库的完全在非归档模式下,当数据库结构发生变化时,应该进行数据库的完全备份;备份;v 在归档模式下,对于经常使用的表空间,可以采用表空间备份方法提在归档模式下,对于经常使用的表空间,可以采用表空间备份方法提高备份效率;高备份效率;v 在归档模式下,通常不需要对联机重做日志文件进行备份;在归档模式下,通常不需要对联机重做日志文件进行备份;v 使用使用RESETLOGS方式打开数据库后,应该进行一个数据库的完全方式打开数据库后,应该进行一个数据库的完全备份;备份;v 对于重要的表中的数据,可以采用逻辑备份方式进行备份;对于重要的表中的数据,可以采用逻辑备份方
9、式进行备份;v 确保应用数据位于独立的表空间中,以保证出现介质故障时其他应用确保应用数据位于独立的表空间中,以保证出现介质故障时其他应用可以继续使用可以继续使用恢复策略恢复策略v 根据数据库介质故障原因,确定采用完全介质恢复还是不完全根据数据库介质故障原因,确定采用完全介质恢复还是不完全介质恢复;介质恢复;v 如果数据库运行在非归档模式,则当介质故障发生时,只能进如果数据库运行在非归档模式,则当介质故障发生时,只能进行数据库的不完全恢复,将数据库恢复到最近的备份时刻的状行数据库的不完全恢复,将数据库恢复到最近的备份时刻的状态;态;v 如果数据库运行在归档模式,则当一个或多个数据文件损坏时如果数
10、据库运行在归档模式,则当一个或多个数据文件损坏时,可以使用备份的数据文件进行完全或不完全恢复数据库;,可以使用备份的数据文件进行完全或不完全恢复数据库;v 如果数据库运行在归档模式,则当数据库的控制文件损坏时,如果数据库运行在归档模式,则当数据库的控制文件损坏时,可以使用备份的控制文件实现数据库的不完全恢复:可以使用备份的控制文件实现数据库的不完全恢复:v 如果数据库运行在归档模式,则当数据库的联机日志文件损坏如果数据库运行在归档模式,则当数据库的联机日志文件损坏时,可以使用备份的数据文件和联机重做日志文件不完全恢复时,可以使用备份的数据文件和联机重做日志文件不完全恢复数据库;数据库;v 如果
11、执行了不完全恢复,则当重新打开数据库时应该使用如果执行了不完全恢复,则当重新打开数据库时应该使用RESETLOGS选项。选项。13物理备份与恢复物理备份与恢复v冷备份冷备份v热备份热备份v从冷备份中恢复从冷备份中恢复v从热备份中恢复从热备份中恢复14冷备份冷备份v 冷备份冷备份 关闭数据库实例,用操作系统的实用工具备份数据文件。 如果没有启用归档模式,数据库不能恢复到备份完成后的任意时刻。15关闭数据库,关闭数据库,开始备份开始备份故障时刻故障时刻 备份备份恢复恢复 重装备份副本重装备份副本恢复丢失数据恢复丢失数据备份完成备份完成冷备份冷备份 如果启用归档模式,从冷备份结束后到出现故障这段时间
12、的数据库恢复,可以利用联机日志文件和归档日志文件实现。16 冷备份步骤冷备份步骤v 在在SQL*Plus环境中进行数据库冷备份的步骤如下:环境中进行数据库冷备份的步骤如下:v 启动启动SQL*Plus,以,以SYSDBA身份登录数据库;身份登录数据库;v 使用下面的语句查询当前数据库所有数据文件、控制文件、联机重做使用下面的语句查询当前数据库所有数据文件、控制文件、联机重做日志文件的位置;日志文件的位置; SQLSELECT file_name FROM dba_data_files; SQLSELECT member FROM v$logfile; SQLSELECT name FROM v
13、$controlfile;v 关闭数据库;关闭数据库; SQLSHUTDOWN IMMEDIATEv 复制所有从步骤复制所有从步骤(2)得到的数据文件、联机重做日志文件以及控制文得到的数据文件、联机重做日志文件以及控制文件到备份磁盘,可以直接在操作系统中使用复制、粘贴方式进行,也件到备份磁盘,可以直接在操作系统中使用复制、粘贴方式进行,也可以使用下面的操作系统命令完成;可以使用下面的操作系统命令完成; SQLHOST COPY原文件名称原文件名称 目标路径名称目标路径名称v 重新启动数据库;重新启动数据库;1. SQLSTARTUP17v热备份是备份数据库的最佳方法。热备份是备份数据库的最佳方
14、法。v系统工作在归档模式下。系统工作在归档模式下。v转到归档模式后,应立即进行热备份。转到归档模式后,应立即进行热备份。热备份热备份18热备份热备份v热备份热备份 当数据库正在运行时进行的数据库备份过程。当数据库处在可归档日志模式下,可使用热备份。 有些关键数据库应用系统可能需要数据库每天24小时,每周7天的运行,就应该使用热备份热备份的优点: 备份时,数据库可以是打开的。 可用来全面恢复数据库(可用来在任何一点上恢复)v 在在SQL*Plus环境中进行数据库完全热备份的环境中进行数据库完全热备份的步骤如下:步骤如下: 启动SQL*Plus,以SYSDBA身份登录数据库; 将数据库设置为归档模
15、式; 以表空间为单位,进行数据文件备份;20热备份:备份数据文件热备份:备份数据文件查询视图v$datafile 和视图v$tablespace决定需要备份的数据文件将某个表空间设为备份模式 ALTER TABLESPACE name BEGIN BACKUP;使用操作系统命令将该表空间所有数据文件备份 结束该表空间的备份模式ALTER TABLESPACE name BEGIN BACKUP;对数据库的每个表空间,执行步骤3、4、5操作21v将控制文件备份为二进制文件将控制文件备份为二进制文件 ALTER DATABASE BACKUP CONTROLFILE TO d:backcontro
16、l.bkp reuse;v将控制文件备份为文本文件将控制文件备份为文本文件 ALTER DATABASE BACKUP CONTROLFILE TO TRACE 热备份:备份控制文件热备份:备份控制文件22v归档当前的联机日志文件归档当前的联机日志文件 v备份归档日志文件备份归档日志文件 v备份初始化参数文件备份初始化参数文件 热备份:备份的其他文件热备份:备份的其他文件从冷备份中恢复从冷备份中恢复v数据库的恢复主要包括三个步骤数据库的恢复主要包括三个步骤 文件还原 前滚恢复 回滚撤销24冷备份的恢复冷备份的恢复v非归档模式下恢复非归档模式下恢复 关闭数据库 用备份文件覆盖原有文件 重新启动数
17、据库v注意:注意:非归档模式下非归档模式下的数据库恢复是的数据库恢复是不完全恢复不完全恢复,只能将数据库恢复到最近一次完全冷备份的状,只能将数据库恢复到最近一次完全冷备份的状态。态。从热备份中恢复从热备份中恢复v完全恢复是指一个或多个数据文件损坏,利用热完全恢复是指一个或多个数据文件损坏,利用热备份的数据文件替换损坏的数据文件,再根据归备份的数据文件替换损坏的数据文件,再根据归档日志文件和联机重做日志文件,采用前滚技术档日志文件和联机重做日志文件,采用前滚技术重做自备份以来的所有修改,采用回滚技术回滚重做自备份以来的所有修改,采用回滚技术回滚未提交的操作,以恢复到数据库故障时刻的状态未提交的操
18、作,以恢复到数据库故障时刻的状态v不完全恢复是指这样一个恢复过程:首先将数据不完全恢复是指这样一个恢复过程:首先将数据库还原,然后利用部分(但不是全部)日志有选库还原,然后利用部分(但不是全部)日志有选择性地前滚到一个预先确定的时间点或系统修改择性地前滚到一个预先确定的时间点或系统修改号号SCN。这种恢复产生的数据库不是当时的版本这种恢复产生的数据库不是当时的版本,而是发生问题前的某一时刻。,而是发生问题前的某一时刻。v完全恢复可以在数据库级、表空间级、数据文件完全恢复可以在数据库级、表空间级、数据文件级或块级进行。级或块级进行。 数据库级完全恢复主要应用于所有或多数数据文件损坏的恢复; 表空
19、间级完全恢复是对指定表空间中的数据文件进行恢复; 数据文件级完全恢复是针对特定的数据文件进行恢复27热备份下的数据库恢复热备份下的数据库恢复v归档模式下数据库完全恢复的基本语法归档模式下数据库完全恢复的基本语法 RECOVER AUTOMATIC FROM location DATABASE | TABLESPACE tspname | DATAFILE dfname28数据库完全恢复步骤数据库完全恢复步骤v 确保数据库已经关闭(使用确保数据库已经关闭(使用ABORT操作操作) SHUTDOWN ABORT;v 用最后的数据库备份恢复数据文件。用最后的数据库备份恢复数据文件。v 如果当前控制文
20、件丢失,使用镜像版本复制到如果当前控制文件丢失,使用镜像版本复制到已修好的磁盘中,或者重新创建控制文件。已修好的磁盘中,或者重新创建控制文件。v 还原所有已归档的日志。还原所有已归档的日志。 v 如果服务器参数文件损坏,则利用备份的初始如果服务器参数文件损坏,则利用备份的初始化参数文件创建服务器参数文件。化参数文件创建服务器参数文件。CREATE SPFILE FROM PFILE;29数据库完全恢复步骤(续)数据库完全恢复步骤(续)v将数据库启动到将数据库启动到MOUNT状态,状态, STARTUP MOUNT;v使用使用RECOVER命令进行恢复。命令如下:命令进行恢复。命令如下: REC
21、OVER DATABASE;v将数据库修改为打开状态:将数据库修改为打开状态: ALTER DATABASE OPEN; RECOVER DATABASE;v恢复完成后,重新打开数据库恢复完成后,重新打开数据库 ALTER DATABASE OPEN;30表空间级别的恢复表空间级别的恢复v用备份的表空间对应的所有数据文件复制到原来用备份的表空间对应的所有数据文件复制到原来的目录,覆盖受损的数据文件。的目录,覆盖受损的数据文件。v恢复表空间恢复表空间 RECOVER TABLESPACE tablespacename;v将数据库修改为打开状态将数据库修改为打开状态 ALTER DATABASE
22、OPEN;31数据文件级别的恢复数据文件级别的恢复v将受损的数据文件脱机将受损的数据文件脱机 ALTER DATAFILE datafile OFFLINEv用备份的数据文件覆盖受损的数据文件用备份的数据文件覆盖受损的数据文件v恢复数据文件恢复数据文件 RECOVER DATAFILE datafile ;v将数据文件联机将数据文件联机 ALTER DATAFILE datafile ONLINE;v将数据库修改为打开状态将数据库修改为打开状态 ALTER DATABASE OPEN;数据库完全恢复示例数据库完全恢复示例v首先进行一次归档模式下的数据库完整备份首先进行一次归档模式下的数据库完整
23、备份v以以SYSDBA身份登录数据库进行下列操作身份登录数据库进行下列操作 SQLCREATE TABLE test_rec(ID NUMBER PRIMARY KEY,NAME CHAR(20) TABLESPACE SYSTEM; SQLINSERT INTO test_rec VALUES(l,ZHANGSAN); SQLCOMMIT; SQLINSERT INTO test_rec VALUES(2,LISI); SQLCOMMIT; SQLALTER SYSTEM SWITCH LOGFILE; SQLSELECT *FROM test_rec; ID NAME 1 ZHANGSAN
24、 2 LISI SQL SHUTDOWN ABORT数据库完全恢复示例数据库完全恢复示例v 删除删除SYSTEM表空间的数据文件表空间的数据文件 /u01/app/oracle/oradata/orcl/system01.dbf,以模拟数据文件损坏的情形。以模拟数据文件损坏的情形。v 用备份的数据文件用备份的数据文件/u01/app/oracle/backup/orcl/system01.dbf 还原损坏的数据文件还原损坏的数据文件/u01/app/oracle/oradata/orcl/system01.dbf;v 执行恢复操作。由于执行恢复操作。由于SYSTEM表空间不能在数据库打开后表空
25、间不能在数据库打开后进行恢复,因此只能在数据库处于装载状态时进行恢复。进行恢复,因此只能在数据库处于装载状态时进行恢复。逻辑备份与恢复逻辑备份与恢复v逻辑备份是指利用逻辑备份是指利用Oracle提供的导出工具,将提供的导出工具,将数据库中选定的记录集或数据字典的逻辑副本以数据库中选定的记录集或数据字典的逻辑副本以二进制的形式存储到操作系统中。这个逻辑备份二进制的形式存储到操作系统中。这个逻辑备份的二进制文件称为转储文件,以的二进制文件称为转储文件,以dmp格式存储。格式存储。v逻辑恢复是指利用逻辑恢复是指利用Oracle提供的导入工具将逻提供的导入工具将逻辑备份形成的转储文件导入数据库内部,进
26、行数辑备份形成的转储文件导入数据库内部,进行数据库的逻辑恢复。据库的逻辑恢复。35逻辑备份与恢复的特点逻辑备份与恢复的特点v 可以在不同版本的数据库间进行数据移植,可以从可以在不同版本的数据库间进行数据移植,可以从OracleOracle数数据库的低版本移植到高版本;据库的低版本移植到高版本;v 可以在不同操作系统上运行的数据库间进行数据移植可以在不同操作系统上运行的数据库间进行数据移植v 可以在数据库模式之间传递数据,即先将一个模式中的对象可以在数据库模式之间传递数据,即先将一个模式中的对象进行备份,然后再将该备份导入到数据库其他模式中;进行备份,然后再将该备份导入到数据库其他模式中;v 数
27、据的导出与导入与数据库物理结构没有关系,是以对象为数据的导出与导入与数据库物理结构没有关系,是以对象为单位进行的,这些对象在物理上可能存储于不同的文件中;单位进行的,这些对象在物理上可能存储于不同的文件中;v 对数据库进行一次逻辑备份与恢复操作能重新组织数据,消对数据库进行一次逻辑备份与恢复操作能重新组织数据,消除数据库中的链接及磁盘碎片,从而使数据库的性能有较大除数据库中的链接及磁盘碎片,从而使数据库的性能有较大的提高;的提高;v 除了进行数据的备份与恢复外,还可以进行数据库对象定义除了进行数据的备份与恢复外,还可以进行数据库对象定义、约束、权限等的备份与恢复、约束、权限等的备份与恢复。数据
28、泵技术数据泵技术v数据泵技术可以用来在两个数据库之间或单个数数据泵技术可以用来在两个数据库之间或单个数据库内把数据从一个对象模式复制到另一个对象据库内把数据从一个对象模式复制到另一个对象模式。它还可以用来把整个数据库的逻辑结构副模式。它还可以用来把整个数据库的逻辑结构副本、一个对象模式列表、一个表列表或一个表空本、一个对象模式列表、一个表列表或一个表空间列表提取到可移植的操作系统文件。间列表提取到可移植的操作系统文件。Data Pump也能传输或提取一个数据库、对象模式或也能传输或提取一个数据库、对象模式或表的元数据表的元数据v数据泵技术具有以下几个显著特点数据泵技术具有以下几个显著特点 导入
29、/导出的所有工作都由数据库实例完成。 使用DBMS_DATAPUMP PL/SQL API建立、监测和调整数据泵任务。 可以对IMPDP/EXPDP导入/导出任务进行重新启动38使用使用datapump导出数据导出数据v 启动导出过程的方法启动导出过程的方法 运行expdp程序 执行一个DBMS_DATAPUMP过程的PL/SQL程序v 数据泵技术的导出模式数据泵技术的导出模式 全库导出模式:通过参数FULL指定,导出整个数据库。 模式导出模式:通过参数SCHEMAS指定,是默认的导出模式,导出指定模式中的所有对象。 表导出模式:通过参数TABLES指定,导出指定模式中指定的一组表、分区及其相
30、关对象(如表的索引)。 表空间导出模式:通过参数TABLESPACES指定,导出指定表空间中所有表及相关对象的定义和数据。 传输表空间导出模式:通过参数TRANSPORT_TABLESPACES指定,导出指定表空间中所有表及相关对象的定义。39vExpdp语句的格式为:语句的格式为: expdp username/password parameter1,parameter2,.v 其中,其中,username为用户名,为用户名,password为用户密码为用户密码基于命令行的数据泵导出实例基于命令行的数据泵导出实例v 数据库导出模式数据库导出模式 C:expdp system/passwd d
31、irectory=backup dumpfile=alldb.dmp full=yv 表导出模式表导出模式,每次只能导出一个模式中的表,每次只能导出一个模式中的表 C:expdp scott/tiger DIRECTORY=dumpdir DUMPFILE=emp_dept.dmp LOGFILE=emp_dept.log TABLES=emp,dept JOB_NAME=emp_dept_job PARALLEL=3v 模式导出模式模式导出模式 C:expdp scott/tiger DIRECTORY=dumpdir DUMPFILE=scott.dmp LOGFILE=scott.log
32、 SCHEMAS=SCOTT JOB_NAME=exp_scott_schema基于命令行的数据泵导出实例基于命令行的数据泵导出实例v 表空间导出模式表空间导出模式v c:expdp system/passwd DIRECTORY=dumpdir DUMPFILE=tsp.dmp TABLESPACES=example,usersv 按条件查询导出按条件查询导出v C:expdp scott/tiger DIRECTORY=dumpdir DUMPFILE=exp2.dmp TABLES=emp QUERY=emp:”WHERE deptno=10 AND sal2000” NOLOGFILE
33、=Y基于基于DBMS_DATAPUMP数据泵导出实例数据泵导出实例v使用使用PL/SQL程序包程序包DBMS_DATAPUMP也可也可以启动数据泵的导出过程以启动数据泵的导出过程,流程如下流程如下: 获得一个指向某个DATA PUMP会话的句柄; 定义转储文件和日志文件; 定义任何的过滤条件,比如要包含或排斥的对象模式或表的一个列表; 启动DATAPUMP会话; 断开与DATAPUMP会话的连接。使用使用DataPump导入数据导入数据v 启动一个数据泵的导入过程启动一个数据泵的导入过程的方法:的方法: 运行impdp程序 执行一个DBMS_DATAPUMP过程的PL/SQL程序v 数据泵技术
34、的导入模式数据泵技术的导入模式 全库导入模式:用Full参数导入整个数据库; 模式导入模式:这是默认方式,用Schemas参数导入数据库中一个或更多模式。除非模式列表指明,否则不导入相关模式中的对象; 表导入模式:使用Tables参数可以导入表或分区及其相关的对象 表空间导入模式:通过使用tablespaces参数,可以导入给定表空间集合中创建的所有表及相关对象的定义和数据; 传输表空间导入模式:使用参数TRANSPORT_TABLESPACES,可以导入指定表空间中所有表及相关对象的定义。44Impdp命令命令v语法:语法: impdp username/password parameter
35、1,parameter2,. 其中: username为用户名 password为用户密码 parameter1,parameter2等参数的名称和功能见表10-2基于命令行的数据泵导入实例基于命令行的数据泵导入实例v 数据库导入模式数据库导入模式 C:impdp scott/tiger DIRECTORY=dumpdir DUMPFILE=expfull.dmp FULL=Y NOLOGFILE=Yv 表导入模式表导入模式 C:impdp scott/tiger DIRECTORY=dumpdir DUMPFILE=emp_dept.dmp TABLES=emp, dept NOLOGFIL
36、E=Y CONTENT=DATA_ONLYv 模式导入模式模式导入模式 C:impdp scott/tiger DIRECTORY=dumpdir DUMPFILE=scott.dmp SCHEMAS=scott JOB_NAME=imp_scott_schemav 表空间导入模式表空间导入模式 C:impdp scott/tiger DIRECTORY=dumpdir DUMPFILE=tsp.dmp TABLESPACES= example, usersv 按条件查询导入按条件查询导入 C:impdp scott/tiger DIRECTORY=dumpdir DUMPFILE=emp_d
37、ept.dmp TABLES=emp,dept QUERY=emp: “WHERE deptno=20 AND sal2000” NOLOGFILE=Yv 追加导入追加导入 C:impdp scott/tiger DIRECTORY=dumpdir DUMPFILE=emp_dept.dmp TABLES=emp TABLE_EXISTS_ACTION=APPEND基于基于DBMS_DATAPUMP数据泵导入实例数据泵导入实例v 与导出功能相同与导出功能相同,具体示例如下:,具体示例如下:v declarev - 创建数据泵工作句柄创建数据泵工作句柄 v h1 number;v beginv
38、- 建立一个用户定义的数据泵,通过数据泵连接建立一个用户定义的数据泵,通过数据泵连接orcllib进行访问进行访问v h1:=dbms_datapump.open(v operation = IMPORT, v job_mode = schema, v remote_link = orcllib);v - 把把HR对象模式导入到对象模式导入到HR_TEST对象模式中对象模式中v dbms_datapump.metadata_remap(v handle = h1, v name =REMAP_SCHEMA,v old_value = HR, v value = HR_TEST);v - 将日志
39、写入将日志写入test2.log文件中文件中v dbms_datapump.add_file(v handle=h1,v filename=test2.log, v filetype = dbms_datapump.KU$_FILE_TYPE_LOG_FILE);v - 启动数据泵会话启动数据泵会话v dbms_datapump.start_job(handle = h1);v - 断开数据泵会话连接断开数据泵会话连接v dbms_datapump.detach(handle = h1);v end;使用使用RMAN的备份和恢复的备份和恢复vRMAN简介简介vRMAN的体系结构的体系结构v配置
40、配置RMANv使用使用RMAN进行备份进行备份v使用使用RMAN进行恢复进行恢复RMAN简介简介vRMAN是是Recovery Manager的简称,全称的简称,全称为为Oracle恢复管理器,是恢复管理器,是Oracle自带的用户对自带的用户对数据库进行备份、复原和恢复的实用程序数据库进行备份、复原和恢复的实用程序vRMAN有两种调用方式,一种是类似于有两种调用方式,一种是类似于DOS,通过键盘操作的命令行方式,第二种是类似于通过键盘操作的命令行方式,第二种是类似于Windows,通过鼠标操作的图形化界面方式(,通过鼠标操作的图形化界面方式(EM)RMAN的体系结构的体系结构配置配置RMAN
41、v设置恢复目录和目标数据库设置恢复目录和目标数据库 在SQL*Plus中,全部动作就是:创建一个存储目录数据的表空间,创建一个RMAN用户,然后把recovery_catalog_owner的角色授予该用户 SQLcreate tablespace cattbs datafile /u01/app/oracle/oradata/orcl/cattbs.dbf size 1024M; SQLcreate user rman identified by rman temporary tablespace temp default tablespace cattbs quota unlimited
42、on cattbs; SQLgrant connect, resource, recovery_catalog_owner to rman;在操作系统命令行中输入RMAN,进入RMAN工作环境,登录并创建恢复目录 RMANconnect catalog rman/rman RMANcreate catalog 在操作系统命令行输入RMAN target / 连接到目标数据库,并注册 RMANconnect catalog rman/rman RMANregister database;分配通道分配通道v 一个通道是与某种类型的设备相联系的一个通道是与某种类型的设备相联系的v RMAN可以使用的
43、通道设备包括磁盘可以使用的通道设备包括磁盘(DISK)与磁带与磁带(TAPE)两种两种v 手工分配通道时,必须使用手工分配通道时,必须使用RUN命令命令 语法格式:RMANrun 命令; 可用ALLOCATE命令进行手工通道的分配。语法如下: RUN ALLOCATE CHANNEL 通道名称 DEVICE TYPE 设备类型 .使用使用RMAN进行备份进行备份v RMAN的的BACKUP命令用于完成备份集的备份过程命令用于完成备份集的备份过程v 语法格式:语法格式: RMANBACKUP ();v 其中其中 level表示备份的增量级,可以取值为:FULL或Incremental,FULL表
44、示全备份,Incremental表示增量备份,共有4个增量级(1,2,3,4)。 Backup type表示备份对象,可以的取值有 Database:备份中包含所有的数据文件、控制文件; Tablespace:备份一个或多个指定的表空间; Datafile:备份数据文件; Archivelog all:备份归档日志文件; Current controlfile:在线备份控制文件; Datafilecopy tag:备份使用copy命令备份的数据文件; Controlfilecopy:备份使用copy命令备份的控制文件; Backupset all:备份使用backup命令备份的文件。v Opt
45、ion是可选项,主要参数如下是可选项,主要参数如下 Tag:标记; Format:表示文件存储格式(指定生成备份文件的存储路径及名称); Include current controlfile:表示备份控制文件; Filesperset:表示每个备份集所包含的备份片(备份文件)个数; Channel:用于指定backup命令所使用的通道; Delete allinput:表示备份结束时是否删除归档日志; Maxsetsize:表示备份集的最大尺寸; Skip offline,readonly,inaccessibleJ:备份时,可以跳过一些特殊属性的表空间,如RMANbackup databa
46、se skip readonly:表示不备份只读表空间实例实例v 备份整个数据库备份整个数据库 RMANrun Allocate channel c1 type disk; Backup database; v 备份表空间备份表空间 RMANBACKUP TABLESPACE SYSTEM,USERS,SYSAUX FILESPERSET 5;v 备份控制文件备份控制文件 RMANCONFIGURE CONTROLFILE AUTOBACKUP ON;实例实例v 备份表空间的同时备份控制文件备份表空间的同时备份控制文件 RMANBACKUP TABLESPACE USERS INCLUDE C
47、URRENT CONTROLFILE;v 备份归档日志备份归档日志 BACKUP ARCHIVELOG ALL,DELETE,INPUT,DELETE ALL INPUT使用使用RMAN进行恢复进行恢复vRMAN根据恢复目录中的同步号和归档日志备份根据恢复目录中的同步号和归档日志备份数据,自动将数据库恢复到某一个同步的数据一数据,自动将数据库恢复到某一个同步的数据一致性状态致性状态vRMAN恢复数据库时用到两个命令恢复数据库时用到两个命令 RESTORE命令将备份数据复制到指定的目录 RECOVER命令对数据库实施同步恢复实例实例v 使用使用RMAN进行整个数据库的完全恢复过程进行整个数据库的
48、完全恢复过程v 如果数据库处于打开状态,先关闭数据库,加载数据库到如果数据库处于打开状态,先关闭数据库,加载数据库到mount状状态。态。 SQLshut down immediate; C:sqlplus /nolog SQLconn / as sysdba SQLstartup mount;v 进入进入RMAN的命令环境,执行的命令环境,执行RESTORE和和RECOVER命令命令 RMANrun Allocate channel ch1 type disk; Restore database; Recover database; Alter database open; 自动备份与恢复自
49、动备份与恢复v闪回技术概述闪回技术概述v闪回恢复区闪回恢复区v闪回技术闪回技术闪回技术概述闪回技术概述v在在Oracle 11g中,闪回技术包括以下中,闪回技术包括以下 闪回数据库 闪回删除 闪回版本查询 闪回事务查询 闪回表 闪回数据归档闪回恢复区闪回恢复区v 闪回恢复区是一个闪回恢复区是一个 Oracle 管理的目录,文件系统,或管理的目录,文件系统,或自动存储管理磁盘组,其作用是为自动存储管理磁盘组,其作用是为 Oracle 备份与恢复备份与恢复文件提供一个集中的存储位置文件提供一个集中的存储位置v 要进行闪回数据库,首先就要对闪回恢复区进行配置。可要进行闪回数据库,首先就要对闪回恢复区
50、进行配置。可以通过以下两种方式配置闪回恢复区以通过以下两种方式配置闪回恢复区 使用DBCA创建数据库的过程中,会有专门页面制定闪回恢复区的位置和大小 如果在创建数据库时没有指定快速恢复区,则可以在数据库创建完成后,通过修改DB_RECOVERY_FILE_DEST和DB_RECOVERY_FILE_DEST_SIZE两个初始化参数设定闪回恢复区的位置与大小。若设定DB_RECOVERY_FILE_DEST的值为空,则表示停用闪回恢复区。闪回技术闪回技术v 闪回数据库闪回数据库v 要对数据库进行闪回操作,首先需要进行以下配置:要对数据库进行闪回操作,首先需要进行以下配置: 配置闪回恢复区; 数据
51、库需要运行在归档模式下; 设定保存期限参数DB_FLASHBACK_RETENTION_TARGET,指定可以在多长时间内闪回数据库,凡是超过这个时间的闪回日志将会在快速恢复区空间紧张的时候被自动删除。该值以分钟为单位,默认为1440(1天); 启用闪回数据库功能,将数据库进入到MOUNT状态下使用ALTER DATABASE FLASHBACK ON命令启动闪回数据库功能。闪回数据库闪回数据库v闪回数据库的命令语法闪回数据库的命令语法 FLASHBACK STANDBY DATPBASE database TO SCN | TIMESTAMP expression|BEFORE SCN |
52、TIMESTAMP expressionv 其中其中 STANDBY:指定执行闪回的数据库为备用数据库; TO SCN:将数据库恢复到指定SCN的状态; TO TIMESTAMP:将数据库恢复到指定的时间点; TO BEFORE SCN:将数据库恢复到指定SCN的前一个SCN状态; TO BEFORE TIMESTAMP:将数据库恢复到指定时间点前一秒的状态。v闪回表闪回表v语法为:语法为: FLASHBACK TABLE schema. table TO SCN|TMESTAMP ENABLE|DISABLE TRIGGERSv使用闪回表功能要注意如下几点:使用闪回表功能要注意如下几点: 被
53、闪回的表必须启用行移动功能, FLASHBACK TABLE命令的执行者必须有FLASHBACK ANY TABLE系统权限或者在被闪回的表上具有FLASHBACK对象权限。 FLASHBACK TABLE属于DDL命令,所以自带提交功能。 SYS用户的任何表都无法使用此功能。闪回删除闪回删除v 闪回删除主要是通过将删除的数据库对象及其相关对象的闪回删除主要是通过将删除的数据库对象及其相关对象的拷贝保存到拷贝保存到“回收站回收站”(Recycle Bin)实现的。当执行实现的。当执行DROP TABLE操作时,并不立即回收表及其关联对象的操作时,并不立即回收表及其关联对象的空间,而是将它们重命
54、名后放入一个称为空间,而是将它们重命名后放入一个称为“回收站回收站”的逻辑的逻辑容器中保存,直到用户决定永久删除它们或存储该表的表容器中保存,直到用户决定永久删除它们或存储该表的表空间存储空间不足时,表才真正被删除。因此,利用空间存储空间不足时,表才真正被删除。因此,利用“回回收站收站”中的信息,可以很容易地恢复被意外删除的表中的信息,可以很容易地恢复被意外删除的表闪回删除闪回删除v回收站管理回收站管理 回收站是所有被删除的数据库对象及其相关对象的逻辑存储容器。当一个表被删除时(DROP),回收站会将该表及其与该表相关的索引、约束、触发器、嵌套表、大的二进制对象( LOB)段和LOB索引段等对
55、象存储在回收站中 启动“回收站” 要使用数据库的闪回删除功能,需要启动数据库的“回收站”,即将参数RECYCLEBIN 设置为ON 查看“回收站” 当执行DROP TABLE操作时,表及其关联对象被命名后保存在“回收站”中,可以通过查询USER_RECYCLEBIN,DBA_RECYCLEBIN视图获得被删除的表及其关联对象信息回收站管理回收站管理v清空回收站清空回收站 可以使用PURGE命令删除“回收站”中的对象,并释放其占用的空间。语法为: PURGE TABLE table | INDEX index| RECYCLEBIN | DBA_RECYCLEBIN|TABLESPACE tab
56、lespace USER user闪回删除闪回删除v基本语法基本语法 FLASHBACK TABLE schema. table TO BEFORE DROP RENAME TO table 例如 SQLCREATE TABLE example (ID NUMBER PRIMARY KEY, NAME CHAR (20); SQLINSERT INTO example VAIUES (1, BEFORE DROP); SQLCQMMIT; SQLDROP TABLE example; SQLFLASHBACK TABLE example TO BEFORE DROP RENAME TO newexample; SQLSELECT * FROM newexample; ID NAME - 1 BEFORE DROP闪回版本查询闪回版本查
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 区块链技术在公共服务领域的实践案例
- eovs生产经理总结模版
- 湘教版高中地理必修3知识点总结模版
- 医疗设备技术创新的商业价值与社会影响
- 公务员转正工作总结模版
- 人工智能与区块链在商业金融科技的融合实践
- 个人代办合同范例
- 医学教育中的伦理教育内容与方法
- 决策科学化医疗大数据的潜力和实践
- 保定公积金贷款合同范例
- 事故隐患内部报告奖励制度
- 浅圆仓仓顶钢桁架结构监理实施细则
- 预应力钢绞线张拉伸长量计算程序单端(自动版)
- 2022焊接大赛题库含答案
- 新建铁路晋豫段站前工程设计技术交底材料(站场)
- 物料管理入门练习作业答案
- 铁路货物运输品名分类与代码表
- 江西省医疗机构管理条例实施办法(暂行)
- 1000MW机组锅炉本体检修规程
- 消防通风施工方案
- 报考广东警官学院考生政审表
评论
0/150
提交评论