《数据库备份与恢复.ppt》由会员分享,可在线阅读,更多相关《数据库备份与恢复.ppt(31页珍藏版)》请在三一办公上搜索。
1、Oracle9i 数据库备份与恢复,Oracle数据库归档模式,数据库可运行在两种模式下:ARCHIVELOG和NOARCHIVELOG模式。归档模式指明何时Redo Log文件可以被重用。,LGWR,ARCH,ARCHIVELOG,LGWR,NOARCHIVELOG,Redo Log Files,Redo Log Files,NOARCHIVELOG,日志文件Redo Log被循环使用。当检验点发生后,Redo Log文件可以立即被重用。一旦Redo Log文件被覆盖,介质恢复只能恢复到上次完全备份状态。如果表空间因为某些失败导致无法使用,数据库则只有到删除该表空间或整个数据库恢复之后,才能
2、使用。数据库关闭之后,只能进行操作系统备份。每次备份时,必须备份完整的数据文件、日志文件与控制文件。数据库恢复从一个早期的完整的数据库备份中恢复数据文件、日志文件、控制文件。已经用Export工具备份的数据,用Import工具恢复。,ARCHIVELOG,日志文件直到检验点发生时,Redo Log文件才会被重用,且此Redo Log文件已被ARCH进程物理备份。对于介质失败,可以使用旧的Redo Log拷贝,最近数据库的改变任何时候对例程恢复都是有效的。数据库在例程、介质失败时被保护。数据库在联机时可以备份。当由于介质失败使除SYSTEM表空间外的其他表空间脱机时,数据库仍保持有效,因为与脱机
3、有关的数据文件保存在Redo Log文件中,当Redo Log文件被重复使用时不会覆盖这部分Redo Log文件。需要更多的Redo Log文件,以确保联机日志文件在重用前归档。,ARCHIVELOG,数据库恢复恢复被破坏文件的备份,并且用归档的log文件在数据库联机或脱机时使数据最新。可以使数据库恢复到失败点。可以进行数据库的不完全恢复需要连续的日志记录。,确定数据库归档模式,SQL select dbid,name,log_mode from v$database;DBID NAME LOG_MODE-2242116620 ORA9I NOARCHIVELOG,确定数据库归档模式,C:sq
4、lplus/nologSQL*Plus:Release 9.0.1.0.1-Production on 星期日 10月 21 11:41:13 2001(c)Copyright 2001 Oracle Corporation.All rights reserved.SQL connect/as sysdba已连接。SQL Archive log List数据库日志模式 非存档模式自动存档 禁用存档终点 D:oracleora90RDBMS最早的概要日志序列 46当前日志序列 48,评价备份方法,备份方法,物理,逻辑,Export/Import工具,Operating System Backup
5、,Without Archiving,With Archiving,9,备份方法,为了最大限度地进行恢复,应选择最合理的备份方法来防止介质失败导致的数据丢失。非归档的操作系统备份归档的操作系统备份Export工具备份注释用归档的操作系统备份的方法来恢复到介质失败后的失败点。用其它的恢复方法恢复到介质失败后的最后一次备份点。用Export工具创建一个直接的数据库备份文件,它不能与归档log文件组合使用。,完全数据库脱机备份,Data Files,Redo Log Files,Control Files,Parameter File,Offline Storage,完全数据库脱机备份 是所有文件的
6、操作系统备份,包括数据文件、日志文件、控制文件和参数文件。,完全数据库脱机备份步骤,编写一个要备份的最新的数据库文件列表用Shutdown命令关闭Oracle例程用操作系统的备份工具,备份所有的数据文件、日志文件、控制文件、文本参数文件pfile、服务器参数文件spfile重启Oracle例程,联机部分数据库备份,注意:如果你忘记输入BEGIN BACKUP语句,在恢复期间可能发现数据文件没有被正确备份如果你没有输入END BACKUP,ORACLE服务器将假定有必要进行介质恢复,因为数据文件的文件头正在用一个旧的Redo log序列号,卸出(Export)/装入(Import),用操作系统文
7、件及卸出与装入工具归档和恢复Oracle数据Export/Import的使用按时间保存表定义或数据保存表定义,以便可以重新装入Oracle数据库把某台机器的数据库移到另一台机器上两个版本的Oracle软件间传输数据防止应用失败。通过执行Export,在不用全部回退数据库的情况下,允许表或表的集合被恢复重新组织表减少链接和碎片,14,卸出模式:表(Table):卸出指定的表用户(User):卸出属于一个用户的所有实体(如表、权限索引)全部数据库(Full Database):卸出数据库的所有实体备注:只有拥有EXP_FULL_DATABASE权限的用户才能卸出全部的数据库所有用户都可以在表和用户
8、模式下卸出数据,卸出数据(Export),15,表模式:表定义表数据表拥有者的授权表拥有者的索引表完整性约束表触发器,卸出数据(Export),用户模式:表定义表数据表拥有者的授权表拥有者的索引表完整性约束表触发器聚簇,卸出数据(Export),数据库链路序列生成器快照快照logs存储过程私有同义词视图,全部数据库模式:表定义表数据表拥有者的授权表拥有者的索引表完整性约束表触发器聚簇Profiles角色回退段定义,卸出数据(Export),数据库链路序列生成器快照快照logs存储过程私有同义词视图系统审计选项系统权限表空间定义表空间限额用户定义,$pwd$/home2/app/oracle/p
9、roduct/9.0.1$expExport:Release 9.0.1.1.1-Production on Sun Oct 21 12:22:29 2001(c)Copyright 2001 Oracle Corporation.All rights reserved.Username:systemPassword:Connected to:Oracle9i Enterprise Edition Release 9.0.1.1.1-ProductionWith the Partitioning optionJServer Release 9.0.1.1.1-ProductionEnter a
10、rray fetch buffer size:4096 Export file:EXPDAT.DMP(1)E(ntire database),(2)U(sers),or(3)T(ables):(2)U,卸出数据(Export),$impImport:Release 9.0.1.1.1-Production on Sun Oct 21 12:38:35 2001(c)Copyright 2001 Oracle Corporation.All rights reserved.Username:scottPassword:Connected to:Oracle9i Enterprise Editio
11、n Release 9.0.1.1.1-ProductionWith the Partitioning optionJServer Release 9.0.1.1.1-ProductionImport file:EXPDAT.DMP/u02/app/oracle/oradata/ora9i/scott.dmp,数据装入(Import),表模式卸出(EXP),用户模式卸出(EXP),数据库模式卸出(EXP),使用IMP装入数据,输入卸出用户名,使用Export/Import:,卸出大表,应用实例:,应用实例:基表:sales01 记录:4190000,$exp userid=sales01/sa
12、les01 direct=Y tables=(sales01)file=/home1/oracle/backup/sales01 log=/home1/oracle/backup/sales01Export:Release 9.0.1.1.1-Production on 星期三 5月 30 14:54:32 2001(c)Copyright 2001 Oracle Corporation.All rights reserved.连接到:Oracle9i Enterprise Edition Release 9.0.1.1.1-Production With the Partitioning o
13、ptionJserver Release 9.0.1.1.1-Production已导出ZHS16GBK字符集和ZHS16GBK NCHAR 字符集即将导出指定的表通过直接路径.正在导出表 SALES01 4194304 行被导出在没有警告的情况下成功终止导出。,$impImport:Release 9.0.1.1.1-Production on 星期三 5月 30 15:12:03 2001(c)Copyright 2001 Oracle Corporation.All rights reserved.用户名:sales02口令:已连接到:Oracle9i Enterprise Editio
14、n Release 9.0.1.1.1-ProductionWith the Partitioning optionJserver Release 9.0.1.1.1-Production导入文件:EXPDAT.DMP/home1/oracle/backup/sales输入插入缓冲区大小(最小为 8192)30720经由直接路径导出由创建的导出文件警告:此对象由 SALES01 导出,而不是当前用户已经完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导入只列出导入文件的内容(yes/no):no由于对象已存在,忽略创建错误(yes/no):no导入权限(yes/no):ye
15、s导入表数据(yes/no):yes导入整个导出文件(yes/no):no用户名:sales01.正在装入 SALES01 4194304 行被装入在没有警告的情况下成功终止装入。,应用实例:基表:sales01 记录:4190000,$exp userid=sales01/sales01 direct=Y file=/home1/oracle/backup/sales_user log=/home1/oracle/backup/sales_userExport:Release 9.0.1.1.1-Production on 星期三 5月 30 14:54:32 2001(c)Copyrigh
16、t 2001 Oracle Corporation.All rights reserved.连接到:Oracle9i Enterprise Edition Release 9.0.1.1.1-ProductionWith the Partitioning optionJserver Release 9.0.1.1.1-Production已导出ZHS16GBK字符集和ZHS16GBK NCHAR 字符集.正在导出 pre-schema 过程对象和操作.正在导出用户SALES01的外部函数程序库名称.正在导出用户SALES01的对象类型定义即将导出SALES01的对象.正在导出数据库链接.正在导
17、出序号.正在导出群集定义.即将导出SALES01的表通过直接路径.正在导出表 SALES01 4194304 行被导出.正在导出同义词.正在导出视图,应用实例:基表:sales01 记录:4190000,$exp userid=system/manager direct=Y full=y file=/home1/oracle/backup/systemall log=/home1/oracle/backup/systemlogExport:Release 9.0.1.1.1-Production on 星期三 5月 30 14:54:32 2001(c)Copyright 2001 Oracl
18、e Corporation.All rights reserved.连接到:Oracle9i Enterprise Edition Release 9.0.1.1.1-ProductionWith the Partitioning optionJserver Release 9.0.1.1.1-Production已导出ZHS16GBK字符集和ZHS16GBK NCHAR 字符集即将导出整个数据库.正在导出表空间定义.正在导出配置文件.正在导出用户定义.正在导出角色.正在导出资源成本.,应用实例:基表:sales01 记录:4190000,$imp system/manager full=y
19、file=/home1/oracle/backup/systemall log=/home1/oracle/backup/systemlog Import:Release 9.0.1.1.1-Production on 星期三 5月 30 15:12:03 2001(c)Copyright 2001 Oracle Corporation.All rights reserved.已连接到:Oracle9i Enterprise Edition Release 9.0.1.1.1-ProductionWith the Partitioning optionJserver Release 9.0.1
20、.1.1-Production经由直接路径导出由创建的导出文件已经完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导入CREATE TABLESPACE USERS DATAFILE/home/app/oracle/oradata/ora9i/users01.dbf S IZE 3145728 AUTOEXTEND ON NEXT 5242880 MAXSIZE 157286400 DEFAULT S TORAGE(INITIAL 10240 NEXT 10240 MINEXTENTS 1 MAXEXTENTS 121 PCTINCREASE 50)ONLINE PERMA
21、NENT,应用实例:基表:sales01 记录:4190000,CREATE TABLESPACE INDX DATAFILE/home/app/oracle/oradata/ora9i/indx01.dbf SIZ E 2097152 AUTOEXTEND ON NEXT 5242880 MAXSIZE 157286400 DEFAULT STO RAGE(INITIAL 10240 NEXT 10240 MINEXTENTS 1 MAXEXTENTS 121 PCTINCREASE 50)O NLINE PERMANENT CREATE USER OUTLN IDENTIFIED BY V
22、ALUES 4A3BA55E08595C81 CREATE USER DBSNMP IDENTIFIED BY VALUES E066D214D5421CCC CREATE USER AURORA$ORB$UNAUTHENTICATED IDENTIFIED BY VALUES 80C099F0EADF 877E CREATE USER SCOTT IDENTIFIED BY VALUES F894844C34402B67 DEFAULT TABLESP ACE USERS TEMPORARY TABLESPACE TEMP CREATE USER DEMO IDENTIFIED BY VALUES 4646116A123897CF CREATE USER ORDSYS IDENTIFIED BY VALUES 7EFA02EC7EA6B86F.正在将SALES01的对象导入到 SALES01.正在导入表 SALES01 4194304行被导入.正在将SALES02的对象导入到 SALES02.正在导入表 SALES01 4194304行被导入.正在将SYSTEM的对象导入到 SYSTEM,应用实例:基表:sales01 记录:4190000,