资源描述
备份和恢复技术
备份和恢复是两个相互联系的概念。备份是将信息保存起来,恢复是将备份的信息还原到数据库中。
数据库的恢复方法取决于故障的类型,一般来说,可以分为实例恢复与介质恢复两种:
实例恢复:主要用于数据库实例故障引起的数据库停机。
介质恢复:主要用于介质故障引起的数据库文件的破坏。
备份和恢复的方法:
1. 脱机备份与恢复
脱机备份与恢复(有时也称为冷备份与恢复)是在关闭数据库的情况下对数据库文件的物理备份与恢复。
在脱机备份与恢复之前,需要确保数据库能够有足够长的时间停留在脱机状态,以便进行完全备份与恢复。
手工脱机备份
Step 1 .关闭数据库
Conn 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 /password 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 archivelog’ ;
Backup current controlfile format= ‘e:\filename.dbf’;
Step 5.重新启动数据库
Conn system | sys /password as sysdba
Startup mount
2. 联机备份与恢复
联机备份与恢复(有时也称为热备份与恢复)是在数据库处于打开状态下对数据库进行的备份与恢复。
只有能进行联机备份与恢复的数据库才能实现7*24小时的运行,即实现不停机的使用数据库。
3. 逻辑备份与恢复
逻辑备份与恢复是指利用oracle提供的工具,如导入工具(exp,imp)。数据泵工具(expdp,impdp),将数据库中的数据进行卸出与装入。
导出数据是指将数据库中的数据导出到一个操作系统文件(即转储文件)中。(Impdp导入)
导入数据是指将转储文件中的数据导入到数据库中。(expdp 导出)
9 I 导入导出方法:
导入的语法:
开始 -- 运行 -- cmd -- Exp
导出的语法:
开始 -- 运行 -- cmd -- Imp
10g 导入导出方法:
使用exp导出数据:
例1. 导出整个数据库
Exp system / password full = y file = mydatabase.dmp
例2. 导出特定的表
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 = mydatabase.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
使用数据泵expdp导出数据
Expdp 语法:
Expdp username / password parameterl , [ parameter2 , parameter3]
Username 用户名 Password 用户口令
Parameterl 表示参数
Directory:用于指定转储文件和日志文件所在的位置。
Estimate:用于指定估算被导出时所占用磁盘空间的方法。
默认为blocks
语法如下:estimate = blocks | sampling | statistics
Blocks 表示根据转储对象所占的数据块数量和数据块大小之积计算转储文件的大小。
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
展开阅读全文