oracle 数据库的备份与恢复.ppt

上传人:za****8 文档编号:12667493 上传时间:2020-05-13 格式:PPT 页数:52 大小:404.51KB
返回 下载 相关 举报
oracle 数据库的备份与恢复.ppt_第1页
第1页 / 共52页
oracle 数据库的备份与恢复.ppt_第2页
第2页 / 共52页
oracle 数据库的备份与恢复.ppt_第3页
第3页 / 共52页
点击查看更多>>
资源描述
数据库的备份与恢复,Question,1、创建一个概要文件,要求登录尝试3次,被锁口令3天后自动解除。并使用户user01采用该概要文件。2、禁用所有角色。,假设各用户初始时都不具有权限,经过下列语句的执行问myuser1,myuser2,user1,user2和user3各具有什么权限?SQLgrantcreatetabletomyrole1withadminoption;SQLgrantcreatesessiontomyrole1;SQLgrantmyrole1tomyrole2withadminoption;SQLgrantmyrole1tomyuser1;SQLgrantmyrole2tomyuser2withadminoption;SQLconnmyuser1/abcSQLgrantmyrole1touser1;SQLconnuser1/123SQLgrantcreatesessiontouser2;SQLconnmyuser2/abcSQLgrantcreatetabletouser3;,目标,在完成本章学习后,你将掌握下列技能:数据库备份和恢复策略逻辑备份和恢复的方式归档模式的设置物理备份和恢复的方式闪回操作,本章内容,数据库备份和恢复概述逻辑备份和恢复(导出/导入)归档模式的设置脱机备份(冷备份)和恢复联机备份(热备份)数据库的手动恢复闪回操作,本章内容导航,数据库备份和恢复概述逻辑备份和恢复(导出/导入)归档模式的设置脱机备份(冷备份)和恢复联机备份数据库的手动恢复闪回操作,数据库备份和恢复概述备份和恢复的概念,备份与恢复是数据库管理中最重要的方面之一。如果数据库崩溃却没有办法恢复它,那么会对企业造成毁灭性的结果。数据库的备份是数据库中数据的副本,它可以保护数据在出现意外损失时最大限度的恢复。Oracle数据库使用几种结构来保护数据:数据库后备、日志、回滚段和控制文件。,数据库备份和恢复概述数据库系统故障类型,故障类型,语句故障,介质故障,实例故障,用户进程故障,导致数据库操作中止的故障包括四种类型:,在执行SQL语句过程中发生的逻辑故障可导致语句故障。如果用户编写的SQL语句无效,就会发生逻辑故障,当用户程序出错而无法访问数据库时发生用户进程故障。导致用户进程故障的原因是异常断开连接或异常终止进程,当Oracle的数据库实例由于硬件或软件问题而无法继续运行时,就会发生实例故障,在数据库无法正确读取或写入某个数据库文件时,会发生介质故障,Oracle数据库的备份包括以下两种类型:,备份,物理备份,逻辑备份,对数据库的操作系统物理文件(如数据文件、控制文件和重做日志文件等)的备份有脱机备份(冷备份)和联机备份(热备份),对数据库逻辑组件(如表、视图和存储过程等数据库对象)的备份有导出/导入(EXPORT/IMPORT),数据库备份和恢复概述备份类型,导出/导入(EXPORT/IMPORT)将ORACLE中数据移出/移入数据库。导出实用程序将数据库中的对象定义和数据备份到一个操作系统二进制文件中。导入实用程序读取二进制导出文件并将对象和数据载入数据库中。,数据库备份和恢复概述逻辑备份和恢复,数据库备份和恢复概述物理备份类型,冷备份冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份时将关键性文件拷贝到另外的位置。热备份数据库需要二十四小时运行,而且随时有新的数据加入。,本章内容导航,数据库备份和恢复概述逻辑备份和恢复(导出/导入)归档模式的设置脱机备份(冷备份)和恢复联机备份数据库的手动恢复闪回操作,逻辑备份和恢复(导出/导入)三种工作方式,使用以下三种方法调用导出和导入实用程序,调用导出和导入程序,命令行参数,参数文件,交互提示符,在命令行指定执行程序的参数和参数值。,以交互的方式提示用户逐个输入参数的值。,允许用户将运行参数和参数值存储在参数文件中,以便重复使用参数,逻辑备份和恢复(导出/导入)三种模式,用户模式(U方式)导出用户所有对象以及对象中的数据表模式(T方式)导出用户所有表或者指定的表整个数据库(E方式)导出数据库中所有对象,逻辑备份和恢复(导出/导入)增量导出/导入,增量导出是一种常用的数据备份方法,它只能由SYSTEM对整个数据库来实施。三种类型:完全型(COMPLETEEXPORT):备份整个数据库积累型(COMULATIVEEXPORT):备份上一次积累型备份所改变的数据增量型(INCREAMENTALEXPORT):备份上一次备份后改变的数据,导出工具exp交互式命令行方式使用的例子$exptest/testhduEnterarrayfetchbuffersize:4096回车Exportfile:expdat.dmpc:mybak.dmp生成导出的文件名(1)E(ntiredatabase),(2)U(sers),or(3)T(ables):(2)U3Exporttabledata(yes/no):yes回车Compressextents(yes/no):yes回车ExportdoneinZHS16GBKcharactersetandZHS16GBKNCHARcharactersetAbouttoexportspecifiedtablesviaConventionalPath.Table(T)orPartition(T)tobeexported:(RETURNtoquit)stu要导出的表名.exportingtableCMAMENU4336rowsexportedTable(T)orPartition(T)tobeexported:(RETURNtoquit)要导出的表名nTable(T)orPartition(T)tobeexported:(RETURNtoquit)回车Exportterminatedsuccessfullywithoutwarnings.,逻辑备份和恢复(导出/导入)交互式导出exp,导入工具imp交互式命令行方式使用的例子$impImport:Release8.1.6.0.0-Productionon星期五12月717:01:082001(c)Copyright1999OracleCorporation.Allrightsreserved.用户名:test口令:*连接到:Oracle8iEnterpriseEditionRelease8.1.6.0.0-64bitProductionWiththePartitioningoptionJServerRelease8.1.6.0.0-Production导入文件:expdat.dmpc:mybak.dmp输入插入缓冲区大小(最小为8192)30720经由常规路径导出由EXPORT:V08.01.06创建的文件已经完成ZHS16GBK字符集和ZHS16GBKNCHAR字符集中的导入,逻辑备份和恢复(导出/导入)交互式导入imp,导入工具imp交互式命令行方式使用的例子(续)只列出导入文件的内容(yes/no):no由于对象已存在,忽略创建错误(yes/no):noyes导入权限(yes/no):yes导入表数据(yes/no):yes导入整个导出文件(yes/no):noyes.正在将TEST的对象导入到TEST.正在导入表“stu21行被导入成功终止导入,但出现警告。,逻辑备份和恢复(导出/导入)交互式导入imp,导出工具exp非交互式命令常用例子$exphelp=y获取帮助$expsystem/managerfile=bible_dblog=dible_dbfull=y导出一个完整数据库$expsystem/managerfile=bible_dblog=dible_dbfull=yrows=n导出数据库定义而不导出数据$expsystem/managerfile=seaparklog=seaparkowner=(seapark,amy,amyc,harold)导出一个或一组指定用户所属的全部表、索引和其他对象$expseapark/seaparkfile=tanklog=tanktables=tank$expsystem/managerfile=tanklog=tanktables=(seapark.tank,amy.artist)导出一个或多个指定表,逻辑备份和恢复(导出/导入)命令行导出exp,导入工具imp非交互式命令常用例子$imphelp=y获取帮助$impsystem/managerfile=bible_dblog=dible_dbfull=yignore=y导入一个完整数据库$impsystem/managerfile=seaparklog=seaparkfromuser=seapark导入一个或一组指定用户所属的全部表、索引和其他对象$impsystem/managerfile=tankfromuser=seaparktouser=seapark_copyignore=y将一个用户所属的数据导入另一个用户$impsystem/managerfile=tanklog=tankfromuser=seaparktables=(a,b)导入一个指定表,逻辑备份和恢复(导出/导入)命令行导入imp,逻辑备份和恢复(导出/导入)exp常用参数,逻辑备份和恢复(导出/导入)imp常用参数,数据库对象已经存在一般情况,导入数据前应该彻底删除目标数据下的表,序列,函数/过程,触发器等。数据库对象已经存在,按缺省的imp参数,则会导入失败;如果用了参数ignore=y,会把exp文件内的数据内容导入;如果表有唯一关键字的约束条件,不合条件将不被导入;如果表没有唯一关键字的约束条件,将引起记录重复。权限不够把A用户数据导入B用户下,A用户要有imp_full_database权限。,逻辑备份和恢复(导出/导入)导入过程常见问题,数据库对象有主外键约束不符合主外键约束时,数据会导入失败。解决办法:先导入主表,再导入依存表disable目标导入对象的主外键约束,导入数据后,再enable它们。imp和exp使用的字符集不同如果字符集不同,导入会失败,可以改变unix环境变量或者NT注册表里NLS_LANG相关信息.导入完成后再改回来。,逻辑备份和恢复(导出/导入)导入过程常见问题,导入大表(大于80M)时,存储分配失败默认的EXP时,compress=Y,也就是把所有的数据压缩在一个数据块上。导入时,如果不存在连续一个大数据块,则会导入失败。导出80M以上的大表时,记得compress=N,则不会引起这种错误。imp和exp版本不能往上兼容imp可以成功导入低版本exp生成的文件,不能导入高版本exp生成的文件。,逻辑备份和恢复(导出/导入)导入过程常见问题,本章内容导航,数据库备份和恢复概述逻辑备份和恢复(导出/导入)归档模式的设置脱机备份(冷备份)和恢复联机备份数据库的手动恢复闪回操作,归档模式的设置数据库归档模式概述,Oracle数据库可以运行在两种模式:非归档日志模式归档日志模式非归档日志方式可以避免实例故障,但无法避免介质故障。在此方式下,数据库只能实施冷备份。归档日志方式产生归档日志,用户可以使用归档日志完全恢复数据库。,表空间脱机,备份表空间,恢复表空间,表空间联机,归档模式的设置非归档模式下数据库工作原理,日志文件1填满,清空日志文件2,向日志文件2写入信息,准备向日志文件2写入信息,备份日志文件2,归档模式的设置归档模式下数据库工作原理,归档模式的设置,关闭数据库:shutdownimmediate以mount启动数据库:startupmount设置为归档模式:alterdatabasearchivelog;打开数据库:alterdatabaseopen;查看归档信息:archiveloglist,归档模式的设置三个关键系统参数,log_archive_start自动存档启用还是禁用。Oracle9i这个参数一定要设置为true,Oracle10g可以省略不设置,把该参数设置和归档模式设置绑定在一起。Log_archive_format指定归档日志命名格式。log_archive_format=arc%t%s.arc。%t是线程号(thread),%s是序号(产生日志的序号)。log_archive_dest指定归档日志文件存储位置。,可以通过数据字典视图查看归档日志信息V$ARCHIVE_DEST:显示当前所有归档日志存储位置及其状态SQLselectdest_id,dest_name,status,destinationfromv$archive_destwherestatus=valid;V$ARCHIVE_LOG:显示历史归档日志信息SQLselectdest_id,name,archivedfromv$archived_log;,归档模式的设置获取归档日志信息,本章内容导航,数据库备份和恢复概述逻辑备份和恢复(导出/导入)归档模式的设置脱机备份(冷备份)和恢复联机备份数据库的手动恢复闪回操作,脱机备份和恢复脱机备份步骤,找到所有需要备份的文件showparameterpfile找初始化参数文件selectnamefromv$controlfile;找控制文件selectfile_namefromdba_data_files;找数据文件selectmemberfromv$logfile;找重做日志文件selectname,sequence#,first_change#fromv$archived_log;找归档日志文件shutdown关闭数据库将所有文件复制到备份硬盘或磁带上startup启动数据库,脱机备份和恢复脱机备份的恢复步骤,shutdown关闭数据库将备份的数据文件和控制文件复制到数据库中原来的位置也可将备份的重做日志文件、参数文件、口令文件复制到数据库中原来的位置(该操作不是必需的)startup启动数据库,本章内容导航,数据库备份和恢复概述逻辑备份和恢复(导出/导入)归档模式的设置脱机备份(冷备份)和恢复联机备份数据库的手动恢复闪回操作,联机备份,联机备份(热备份)数据库的前提条件数据库运行在归档模式Oracle数据库安装默认运行在非归档模式日志处理Oracle数据库的redo日志记录在数据库上进行的所有活动。LGWR后台进程以一种循环方式写这些日志文件,从第一个redo日志到下一个,直到该组的最后一个,然后由从第一个日志写起。,联机备份,在非归档模式下,当循环写到最后一个日志文件后,就重写第一个日志。因此,非归档模式下唯一的数据库恢复办法就是使用冷备份。在归档模式下,当redo日志满时,一个ARCH后台进程就读取全部redo日志,然后将其写到归档日志。因此,可以使用热备份和点恢复。在归档日志模式下,如果归档日志目的空间已满,数据库活动将暂时停止,只有释放一些空间后,数据库才能继续运行。,联机备份联机备份举例,联机备份数据文件设置表空间为备份状态altertablespace表空间名beginbackup;备份表空间的数据文件回复表空间为正常状态altertablespace表空间名endbackup;备份控制文件alterdatabasebackupcontrolfileto备份文件名;,本章内容导航,数据库备份和恢复概述逻辑备份和恢复(导出/导入)归档模式的设置脱机备份(冷备份)和恢复联机备份数据库的手动恢复闪回操作,数据库的手动恢复概述,数据库恢复就是根据归档日志或联机日志文件中的记录,以及数据库备份,把数据库复原到最近的状态。由于数据库出现的故障主要包括实例故障和介质故障,因此数据库的恢复也分为实例恢复和介质恢复。实例故障是指数据库系统本身发生故障,如操作系统错误、意外断电、或使用shutdownabort终止数据库实例所发生的故障。一般来说,实例恢复是数据库系统自动完成的。,数据库的手动恢复介质恢复,介质恢复主要用于介质故障引起的数据库文件的破坏。介质恢复必须由数据库管理员手工完成最新数据库备份和日志文件备份的装入,并执行各种恢复命令才能够恢复。分为两大类:完全恢复和不完全恢复。,数据库的手动恢复完全恢复,完全恢复指将数据库恢复到发生故障的时间点,不丢失任何数据。完全恢复步骤以管理员登录系统立刻关闭数据库启动数据库mount状态,将数据库处在非归档模式下,打开数据库关闭数据库,备份所有相关文件以相反方式恢复数据库,不完全恢复指将数据库恢复到发生故障前的某一个时间点,此时间点以后的所有改动将会丢失。不完全恢复的方式基于时间的恢复recoverdatabaseuntiltime时间点;基于撤销的恢复recoverdatabaseuntilcancel;基于更改的恢复recoverdatabaseuntilchangeSCN;,数据库的手动恢复不完全恢复,本章内容导航,数据库备份和恢复概述逻辑备份和恢复(导出/导入)归档模式的设置脱机备份(冷备份)和恢复联机备份数据库的手动恢复闪回操作,闪回查询(FlashbackQuery)查询过去某个指定时间、指定实体的数据。闪回表(FlashbackTable)使表返回到过去某一时间的状态。闪回删除(FlashbackDrop)恢复被drop的表或者索引。闪回数据库(FlashbackDatabase)使数据库迅速地回滚到以前的某个时间点或者某个SCN(系统更改号)上,而不需要进行时间点的恢复操作。基于闪回日志。,闪回操作闪回的种类,基于回滚数据(undodata),TO_TIMESTAMP函数格式为:TO_TIMESTAMP(timepoint,format)timepoint表示时间点format表示需要把timepoint转化为何种格式闪回查询举例:查询某一时间点A表的数据SQLselect*fromAasoftimestampto_timestamp(2009-07-0514:10:00,yyyy-mm-ddhh24:mi:ss);,闪回操作闪回查询,闪回表语法FLASHBACKTABLEschema.TOBEFOREDROPRENAMETOtable|SCN|TIMESTAMPexprENABLE|DISABLETRIGGERSTOTIMESTAMP:系统邮戳,包含年月日时分秒。TOSCN:系统更改号。ENABLETRIGGERS:表示触发器恢复以后为enable状态,而默认为disable状态。TOBEFOREDROP:表示恢复到删除之前。RENAMETOTABLE:表示恢复时更换表名。,闪回操作闪回表,闪回表举例启用行移动功能SQLaltertabledepartmentsenablerowmovement;闪回表testSQLflashbacktabledepartmentstotimestampto_timestamp(2009-08-0114:10:00,yyyy-mm-ddhh24:mi:ss);,闪回操作闪回表,闪回删除是将被删除的数据库对象及其相依对象的复制保存在回收站中,在回收站被清空以前,被丢弃的对象并没有从数据库中删除。这就使数据库能够恢复被意外或者误操作而删除的表。如果要对DROP过的表进行恢复操作,可以使用闪回删除语句:FLASHBACKTABLE表名TOBEFOREDROP,闪回操作闪回删除,flashbackdatabase与recoverdatabaseuntiltime有什么区别,flashback所得到得信息是在回滚段中得到的recover是由日志恢复flashbacklog默认是保存一天,那也就是说一天之前的数据是无法通过flashback恢复的,而只能使用基于时间点的恢复。,本章内容小结,Oracle数据库备份和恢复的类型Exp/Imp命令的各种方式和常用参数数据库归档模式的修改和应用冷备份的步骤和恢复步骤热备份的前提和步骤介质恢复的种类和方法闪回查询、闪回表、闪回删除的应用,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!