您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > T11 数据库备份与恢复
1数据库备份与恢复2回顾表空间与数据文件的的作用表空间的分类,系统表空间,永久表空间,临时表空间、还原表空间表空间管理创建表空间表空间脱机、联机表空间只读、读写更改表空间物理数据文件更改表空间数据文件大小、添加数据文件用户管理创建用户指定用户默认表空间赋给用户操作权限与资源权限赋给用户系统权限与对象权限对象类型3目标了解数据库备份与恢复的基础知识理解在Oracle环境中可能发生的故障类型掌握导出和导入实用程序了解数据库归档模式4备份与恢复简介备份是数据库中数据的副本,它可以保护数据在出现意外损失时最大限度的恢复Oracle数据库的备份包括以下两种类型:备份物理备份逻辑备份物理备份是对数据库的操作系统物理文件(如数据文件、控制文件和日志文件等)的备份逻辑备份是对数据库逻辑组件(如表、视图和存储过程等数据库对象)的备份5故障类型故障类型语句故障介质故障实例故障用户进程故障导致数据库操作中止的故障包括四种类型:在执行SQL语句过程中发生的逻辑故障可导致语句故障。如果用户编写的SQL语句无效,就会发生逻辑故障当用户程序出错而无法访问数据库时发生用户进程故障。导致用户进程故障的原因是异常断开连接或异常终止进程当Oracle的数据库实例由于硬件或软件问题而无法继续运行时,就会发生实例故障在数据库无法正确读取或写入某个数据库文件时,会发生介质故障6数据库备份在数据库中提供了两种备份数据的方法:物理备份和逻辑备份逻辑备份:备份表、视图、触发器、模式对象。。。物理备份冷备份停止服务,拷贝物理文件热备份数据库正常运行情况下备份,数据库需要运行在归档模式7导出和导入实用程序4-1用于实施数据库的逻辑备份和恢复导出实用程序将数据库中的对象定义和数据备份到一个操作系统二进制文件中(后缀名为.DMP)导入实用程序读取二进制导出文件并将对象和数据载入数据库中导入命令IMP导出命令EXP8在导出自身模式下的对象时不需要什么特殊权限但希望对其他模式下的对象进行操作的时候就必须必须具备EXP_PULL_DATABASE、IMP_PULL_DATABASE的角色。可以通过OEM中提供的工具进行导入/导出的操作导入/导出工具9导出和导入实用程序4-2导出和导入实用程序的特点有:可以按时间保存表结构和数据允许导出指定的表,并重新导入到新的数据库中可以把数据库迁移到另外一台异构服务器上在两个不同版本的Oracle数据库之间传输数据在联机状态下进行备份和恢复可以重新组织表的存储结构,减少链接及磁盘碎片10导出和导入实用程序4-3使用以下三种方法调用导出和导入实用程序:调用导出和导入程序命令行参数参数文件交互提示符在命令行指定执行程序的参数和参数值。以交互的方式提示用户逐个输入参数的值。允许用户将运行参数和参数值存储在参数文件中,以便重复使用参数11导出和导入实用程序4-4导出和导入数据库对象的四种模式是:导出导入模式完全数据库表空间表用户导出和导入整个数据库中的所有对象导出和导入一个或多个指定的表或表分区导出和导入一个用户模式中的所有对象导出和导入一个或多个指定的表空间中的所有对象12导出实用程序2-1导出(exp)实用程序有以下常用命令参数:参数说明USERID确定执行导出实用程序的用户名和口令BUFFER确定导出数据时所使用的缓冲区大小,其大小用字节表示FILE指定导出的二进制文件名称,默认的扩展名是.dmpFULL指定是否以全部数据库方式导出,只有授权用户才可使用此参数OWNER要导出的数据库用户列表HELP指定是否显示帮助消息和参数说明ROWS确定是否要导出表中的行TABLES按表方式导出时,指定需导出的表和分区的名称PARFILE指定传递给导出实用程序的参数文件名TABLESPACES按表空间方式导出时,指定要导出的表空间名13导出实用程序2-2expscott/tiger@studyfile=scott_backowner=scott按用户方式导出数据expscott/tiger@studytables=(emp,dept)file=scott_back_tab按表方式导出数据expsystem/managerparfile='C:\parameters.txt'使用参数文件导出数据expsystem/manager@studytablespaces=(users)file=tbs_users按表空间方式导出数据14导入实用程序2-1导入实用程序有如下常用命令参数:参数说明USERID指定执行导入的用户名和密码BUFFER指定用来读取数据的缓冲区大小,以字节为单位COMMIT指定是否在每个数组(其大小由BUFFER参数设置)插入后进行提交FILE指定要导入的二进制文件名FROMUSER指定要从导出转储文件中导入的用户模式TOUSER指定要将对象导入的用户名。FROMUSER与TOUSER可以不同FULL指定是否要导入整个导出转储文件TABLES指定要导入的表的列表ROWS指定是否要导入表中的行PARFILE指定传递给导入实用程序的参数文件名,此文件可以包含这里列出的所有参数IGNORE导入时是否忽略遇到的错误,默认为NTABLESPACES按表空间方式导入,列出要导入的表空间名15导入实用程序2-2impsystem/manager@studyfile=item_back.dmpignore=yfull=y将整个文件导入数据库impsystem/managerparfile='C:\parameters.txt'使用参数文件导入数据impsystem/manager@studyfile=scott_backfromuser=scotttouser=martintables=(emp,dept)将scott用户的表导入到martin用户16数据库归档方式3-1Oracle数据库可以运行在两种归档方式:非归档日志方式归档日志方式非归档日志方式可以避免实例故障,但无法避免介质故障。在此方式下,数据库只能实施冷备份归档日志方式产生归档日志,用户可以使用归档日志完全恢复数据库17数据库归档方式3-2非归档日志方式下数据库的工作原理:表空间脱机备份表空间恢复表空间表空间联机18数据库归档方式3-3归档日志方式下数据库的工作原理:日志文件1填满清空日志文件2向日志文件2写入信息准备向日志文件2写入信息备份日志文件219配置归档日志方式4-1配置数据库在归档日志方式下运行,包括以下三个步骤:确保数据库当前不处于归档方式设置相关数据库初始化参数在归档日志方式下启动数据库20配置归档日志方式4-2查看当前数据库的归档方式archiveloglist21配置归档日志方式4-3设置相关启动参数22配置归档日志方式4-4以归档方式启动数据库23自动归档和手动归档归档日志方式下的数据库自动归档手动归档数据库的日志归档方式有两种:用户对已填满的日志组手工归档,否则数据库不能写自动归档对非活动日志文件进行自动归档切换到自动归档:ALTERSYSTEMARCHIVELOGSTART切换到手动归档:ALTERSYSTEMARCHIVELOGSTOP24切换到自动归档ALTERSYSTEMARCHIVELOGSTART切换到手动归档ALTERSYSTEMARCHIVELOGSTOP归档进程Showparameterlog_archive_max_processesAltersystemsetlog_archive_max_processes=5Select*fromv$bgprogress25获取归档日志信息SQLSELECTDEST_ID,DEST_NAME,STATUS,DESTINATIONFROMV$ARCHIVE_DESTWHERESTATUS='VALID';目标位置名称目标位置的状态归档日志文件的路径可以通过数据字典视图查看归档日志信息V$ARCHIVE_DEST-显示当前所有归档日志存储位置及其状态V$ARCHIVE_LOG-显示历史归档日志信息SQLSELECTDEST_ID,NAME,ARCHIVEDFROMV$ARCHIVED_LOG;目标位置编号归档日志文件名及完整路径是否已归档26归档产生的日志文件V$archived_log归档目标V$archive_dest归档进程V$archive_processes;active启动了的,stoped27冷备份备份确定要备份的文件参数文件Init.ora,口令文件ora90\database\pwdstudy.ora数据文件控制文件重做日志文件归档日志文件关闭服务Shutdownimmediate/normal拷贝文件启动恢复Shutdown拷贝文件到原先的位置startup28热备份备份切换到归档模式开始备份拷贝文件结束备份归档当前日文文件强迫执行一个日志交换恢复丢失的数据文件脱机、删除启动数据库拷贝回备份的数据文件恢复数据文件联机29举例Altersystemlogstart--设置为自动归档ShutdownimmediateStartupmountAlterdatabasearchivelogAlterdatabaseopenArchiveloglist--自动归档模式Altertablespacestorebeginbackup拷备走Altertablespacestoreendbackup–-结束备份Altersystemarchivelogcurrent;--归档当前日志Altersystemswitchlogfile--将备份的”开始”,”结束“写到归档日志中Beginbackup后对数据库的操作不会写到数据文件,而是写到在线日志文件,直到endbackup时写到数据文件30Shutdownimmediate删除store表空间对应的数据文件Startup–出错,找不到数据文件8号文件Select*fromv#recover_file--查看错误Alterdatabasedatafile8offlinedropAlterdatabaseopen拷贝回数据文件select*fromab;--错Recoverdatafile8;Alterdatabasedatafile8onlineSelect*fromab;查看归档日志31Select*fromv$backup--查看有哪些文件处于备份状态,都不处于归档状态AltertablespacestorebeginbackupSelect*fromv$backup;--表空间store对应的数据文件的status是activeShutdownimmediate–-store处于联机备份状态,无法关闭Startupforce--强行重启,提示需要介质恢复Alterdatabaseendbackup;--OK!查询store表空间的表--OK!32总结数据库备份用于保护数据库中的数据,有两种类型的备份:物理备份和逻辑备份导致数据库操作中止的故障类型有:语句故障、用户进程故障、实例故障和介质故障Oracle提供导出和导入实用程序实施数据库的逻辑备份导出导入实用程序有四种工作模式:完全数据库、表、用户和表空间数据库可在两种方式下运行:非归档日志方式和归档日志方式33上机任务通过使用导入/导出命令对数据库.表.表空间.用户,作数据备份.备份后删除相应的数据对象来然后通过导入命令导入.通过命令把数据库的日志从非归档模式功换到归档模式.
本文标题:T11 数据库备份与恢复
链接地址:https://www.777doc.com/doc-4048128 .html