Oracle数据库(表)的逻辑备份与恢复 --导出

388 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第28天,点击查看活动详情

10 数据库管理员

10.6 数据库(表)的逻辑备份与恢复 --导出

·介绍

在oracle中备份分为:逻辑备份和物理备份

逻辑备份:是指使用工具export将数据对象的结构和数据导出到文件的过程。

逻辑恢复:是指当数据库对象被误操作而损坏后使用工具import利用备份的文件 把数据对象导入到数据库的过程。

物理备份: 即可在数据库open的状态下进行,也可在关闭数据库后进行,但是逻辑备份和恢复只能在open的状态下进行。

·导出

导出具体的分为:导出表、导出方案、导出数据库三种方式

导出使用exp命令来完成的,该命令常用的选项有:

userid:用于指定执行导出操作的用户名、口令、连接字符串

tables:用于指定执行导出操作的表

owner:用于指定执行导出操作的方案

full=y:用于指定执行导出操作的数据库

inctype:用于指定执行导出操作的增量类型

rows::用于指定执行导出操作是否要导出表中的数据

file:用于指定导出文件名

10.6.1 导出表

(1)导出自己的表

exp userid=scott/tigger@myoral tables=(emp,dept) file=d:\e1.dmp

scott用户名 tigger密码

myoral数据库实例

tables要导出的表名

file 要存放的位置

(先找到exp.exe的目录:E:\oracle\product\10.2.0\db_1\BIN

运行cmd进入控制台

E: 回车

cd E:\oracle\product\10.2.0\db_1\BIN  //回车

如要导出本用户的表则:

exp userid=scott/tigger@orcl tables=(emp) file=e:\Oracle资料\LearnOracleByMyself\emp.dmp  //回车

(2)导出其它方案的表

如果用户要导出其它方案的表,则需要dba的权限或是exp_full_database的权限,比如system就可以导出scott的表

exp userid=system/manager@orcl tables=(scott.emp) file=e:\emp2.dmp

(3)导出表的结构

exp userid=scott/tigger@orcl tables=(emp) file=d:\emp3.dmp rows=n

(4)使用直接导出方式

exp userid=scott/tigger@orcl tables=(emp) file=d:\e3.dmp direct=y

这种方式比默认的常规方式速度要快,当数据量大时,可以考虑使用这样的方法

这时需要数据库的字符集要与客户端字符集完全一致,否则会报错...

10.6.2 导出方案

导出方案: 是指使用export 工具导出一个方案或是多个方案中的所有对象(表,索引,约束..)和数据,并存放到文件中。

(1)导出自己的方案

exp scott/tigger@orcl owner=scott file=d:\scott.dmp

(2)导出其它方案

如果用户要导出其它方案,则需要dba的权限或是exp_full_database的权限,例如system用户就可以导出任何方案

exp system/admin@orcl owner=(system,scott) file=d:\system.dmp

E:\oracle\product\10.2.0\db_1\BIN

10.6.3 导出数据库

导出数据库: 是指利用export导出所有数据库中的对象及数据,要求该用户具有dba的权限或是exp_full_database权限

exp userid=system/admin@orcl full=y inctype=complete file=d:\x.dmp

导出数据库可能会花费一些时间