<!-- [if gte mso 9]><xml><w:WordDocument><w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel><w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery><w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery><w:DocumentKind>DocumentNotSpecified</w:DocumentKind><w:DrawingGridVerticalSpacing>7.8</w:DrawingGridVerticalSpacing><w:View>Normal</w:View><w:Compatibility></w:Compatibility><w:Zoom>0</w:Zoom></w:WordDocument></xml><![endif]-->
--=============================
--author:_yeeXun
--date:发表于 @ 2010年12月24日 11:13:00
--address:Jau 17-304
--==============================
数据库(表)的逻辑备份与恢复
逻辑备份:是指用工具export 将数据对象的结构和数据导出到文件的过程。
逻辑恢复:是指当数据库对象被误操作而损坏后使用工具import 利用备份的文件把数据库对象导入到数据库的过程。
物理备份即可在数据库open 的状态下也可以在关闭数据库后进行,但是逻辑备份和恢复只能在 open 的状态下进行。
导出
导出具体分为:导出表,导出方案,导出数据库三种方式。
导出使用exp 命令来完成,该命令常用的选项有:
userid:用于指定执行到处操作的用户名,口令,连接字符串
tables:用户指定执行导出操作的表
owner:用户指定执行到处操作的方案
full=y:用于指定执行导出的数据库
inctype:用于指定执行到处操作的增量类型
rows:用于指定执行导出操作是否要导出表中的数据
file:用于指定导出文件名
导出表
1. 导出自己的表
语法:expuserid= 用户 / 密码 @ 用户的数据库实例 tables= (表名 1,... ) file= 目录
例如:expuserid=scott/tiger@myoraltables= ( emp ) file=d:/e1.dmp
特别说明:
再导入导出的时候,要到oracle 目录的 bin 目录下。
2. 导出其他方案的表
如果用户要导出其他方案的表,则需要dba 的权限或者是 ex_full_database 的权限;比如 system 就可以导出 scott 的表:
Expuserid=system/manager@myoraltables=( scott.emp ) file=d : /e2.dmp
3. 导出表结构
Expuserid=scott/tiger@myoraltables=( emp ) file=d : /e3.dmprows=n
4. 使用直接导出方式
Expuserid=scott/tiger@myoraltables=( emp ) file=d : /e3.dmpdirect=y
这种导出方式专门用于导出大表
导出方案
导出方案:是指使用export 用具导出一个方案或是多个方案的所有对象(表,索引,约束 ... )和数据,并存放到文件中。
1. 到处自己的方案
Expuserid=scott/tiger@myoralowner=scottfile=d: /scott.dmp
2. 导出其他方案
如果用户要导出其他方案,则需要dba 的权限或是 exp_full_database 的权限。
例如system 用户可以导出任何方案:
Expuserid=scott/tiger@myoralowner=( system , scott ) file=d : /system.dmp
Owner=(system,scott):表示用 system 导出 scott 的方案
导出数据库
导出数据库:是指利用export 导出所有数据库中的对象以及数据,要求该用户具有 dba 的权限或是 exp_full_database 权限。
例如:expuserid=system/manager@myoralfull=yinctype=completefile=d : /x.dmp
inctype=complete:增量备份
导入
导入就是使用用户import 将文件中的对象和数据导入到数据库中,但是导入要使用的文件必须是 export 所导出的文件。与导出相似,导入也分问导入表,导入方案,导入数据库三种方式, imp 常用的选项有:
userid:用于指定执行导入操作的用户名,口令,连接字符串
tables:用于指定执行导入操作的表
formuser:用于指定源用户
touser:用于指定目标用户
file:用于指定导入文件名
full=y:用于指定执行导入整个文件
inctype:用于指定执行导入操作的增量类型
rows:指定是否要导入表行(数据)
ignore:如果表存在,则只导入数据
导入表
1. 导入自己的表
Impuserid=scott/tiger@myoraltables=( emp ) file=d:/xx.dmp
2. 导入表到其他用户
要求该用户具有dba 的权限,或是 imp_full_database 权限。
Impuseid=system/manager@myoraltables=(emp)file=d:/xx.dmptouser=scott
3. 导入表的结构
只导入表的结构而不导入数据
Impuserid=scott/tiger@myoraltables=( emp ) file=d : /xx.dmprows=n
4. 导入数据
如果对象(如表)已经存在,可以只导入表的数据
Impuserid=scott/tiger@myoraltables=( emp ) file=d : /xx.dmpignore=y
导入方案
导入方案:指使用import 工具将文件中的对象和数据导入到一个或多个方案中。如果要导入其他方案,要求该用户具有 dba 的权限,或是 imp_full_database 权限
1. 导入自身的方案
Impuserid=scott/tigerfile=d:/xx.dmp
2. 导入其他方案
要求该用户具有dba 的权限
Impuserid=system/managerfile=d:/xx.dmpfromuser=systemtouser=scott
导入数据库
默认情况下,当导入数据库时,会导入所有对象结构和数据,例如
Impuserid=system/managerfull=yfile=d:/xx.dmp