1、备份和恢复技术 备份和恢复是两个相互联系的概念。备份是将信息保存起来,恢复是将备份的信息还原到数据库中。 数据库的恢复方法取决于故障的类型,一般来说,可以分为实例恢复与介质恢复两种: 实例恢复:主要用于数据库实例故障引起的数据库停机。 介质恢复:主要用于介质故障引起的数据库文件的破坏。 备份和恢复的方法: 1. 脱机备份与恢复 脱机备份与恢复(有时也称为冷备份与恢复)是在关闭数据库的情况下对数据库文件的物理备份与恢复。 在脱机备份与恢复之前,需要确保数据库能够有足够长的时间停留在脱机状态,以便进行完全备份与恢复。 手工脱机备份 Step 1 .关闭数据库 Con
2、n system | sys /password as sysdba Shutdown immediate | Shutdown abort Step 2 .备份所有与数据库相关的文件 包括:数据文件、控制文件、所有联机的重做日志 数据文件( select * from dba_data_files) 控制文件( select * from v$constrolfile) 所有联机的重做日志( select * from v$logfile) Step 3. 重新启动数据库,备份完成。 Conn system | sys /pas
3、sword as sysdba Startup mount 使用RMAN进行手工脱机备份 Step 1.进入到RMAN的界面里 Cmd -- rman target = / Step 2.关闭数据库 Conn system | sys /password as sysdba Shutdown immediate | Shutdown abort Step 3.备份数据库文件和归档重做日志 Step 4.备份控制文件 Backup database format=‘e:\filename.dbf plus archive
4、log’ ; Backup current controlfile format= ‘e:\filename.dbf’; Step 5.重新启动数据库 Conn system | sys /password as sysdba Startup mount 2. 联机备份与恢复 联机备份与恢复(有时也称为热备份与恢复)是在数据库处于打开状态下对数据库进行的备份与恢复。 只有能进行联机备份与恢复的数据库才能实现7*24小时的运行,即实现不停机的使用数据库。 3. 逻辑备份与恢复 逻辑备份与恢复是指利用oracle提供的工具,如导入工具(exp,imp)。数据泵工
5、具(expdp,impdp),将数据库中的数据进行卸出与装入。 导出数据是指将数据库中的数据导出到一个操作系统文件(即转储文件)中。(Impdp导入) 导入数据是指将转储文件中的数据导入到数据库中。(expdp 导出) 9 I 导入导出方法: 导入的语法: 开始 -- 运行 -- cmd -- Exp 导出的语法: 开始 -- 运行 -- cmd -- Imp 10g 导入导出方法: 使用exp导出数据: 例1. 导出整个数据库 Exp system / password full = y file = mydatabase.dmp 例2. 导
6、出特定的表 Exp system / password tables=scott.emp file = mytable.dmp 例3.导出特定的用户 Exp system / password owner = scott file = myuser.dmp 例4.导出特定的表空间内的对象 Exp system / password tablespace = users file = mytablespace.dmp 使用imp导入数据: 例1. 导入整个数据库 Imp system / password full = y file = mydatab
7、ase.dmp 例2. 导入特定的表 Imp system / password tables=scott.emp file = mytable.dmp Imp system / password tables=emp fromuser = scott touser = new_user file = mytable.dmp 将转储文件中的emp 表导入到new_user 用户,并且转储文件属于scott用户。 例3.导入特定的用户 Imp system / password owner = scott file = myuser.dmp 使用数据泵e
8、xpdp导出数据 Expdp 语法: Expdp username / password parameterl , [ parameter2 , parameter3] Username 用户名 Password 用户口令 Parameterl 表示参数 Directory:用于指定转储文件和日志文件所在的位置。 Estimate:用于指定估算被导出时所占用磁盘空间的方法。 默认为blocks 语法如下:estimate = blocks | sampling | statistics Blocks 表示根据转储对象所占的数据块数量和数据块大小之积计算转储文
9、件的大小。 Sampling 表示基于取自每个表的样本数据行计算转储文件的大小。 Statistics 表示基于转储对象的统计信息计算转储文件的大小。 Estimate_only 用于指定是否只估算导出作业所占有的磁盘空间。 语法如下: estimate_only = [ Y | N ] Y 表示导出作业只估算转储对象所占有的磁盘空间,而不执行导出操作。 N 表示导出作业不仅估算转储对象所占有的磁盘空间,而且会执行导出操作。 Nologfile 用于指定禁止生成导出日志文件。默认为N。 语法如下: nologfile = Y | N Y 表示禁止生成导出日志文件。 N 表示生成。 Logfile 用于指定导出日志文件的名称。 语法如下: logfile = directory_object : file_name Directory_object 表示目录对象名。(路径) File_name 导出日志文件名,默认是export.log






