Oracle导入导出 imp/exp 命令
  • 2024-02-18 14:57:36
  • 4373 热度
  • 0 评论

1.备份和恢复的概述 

1.逻辑备份:采用 export工具将数据库对象的结构和数据导出到文件的过程。

2.逻辑恢复:值数据库对象被误操作而损坏后使用工具import利用备份文件将数据对象导入到数据库的过程,

3.物理备份:指的是对各种数据文件的拷贝,即可在数据open的状态下进行也可以在关闭数据库后进行。但是逻辑备份和恢复只能在open的状态下进行


2.导出的分类 和 语法

1.分为三种  导出表(T),导出方案(U),导出数据库(Full)

2.导出表:将表导出到磁盘

3.导出方案:如果将一个用户所有的东西,表,数据,视图... 导出到磁盘(个用户的所有都导出了)

4.导出数据库:将多个方案 导出到一个磁盘

5.语法:

exp 命令 这命令 的选项有 

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

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

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

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

inctype:(complete,cumulative,incremental) 用于指定导出操作的增量类型

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

file:用于指定导出的文件名

direct=y:直接导出方式速度快

buffer:取数据行的缓冲区大小

compress:导出是否应该压缩有碎片的段成一个范围,这样将会影响storeage子句

grant=y:表示导出时是否导出数据库对象上的权限

indexes:是否导出表上的索引

constraints:是否导出表上的约束条件

recordlength:转存导出文件日志的长度(字节为单位),通常都用作缺省,除非要在两个不通的操作系统中传递导出文件

record:增量导出类型中的一个标记,标记是否将日志存储到数据库字典日志导出表中

ralfile:要传递给导出的参数文件的名字。这个文件包含所有参数文件的入口项

analyze:表明是否将移对象的统计信息写入到转存文件中去

consistent:标明是否保留所有导出对象读取一致复制

log:导出日志将要写入的文件名字

MLS:(多语言选项)表明是否要导出MLS标号

MLS_LABEL:规定MLS标号的格式


3.导入的分类和语法 

1.导入也分为三种  导出表(T),导出方案(U),导出数据库(Full)

2.语法:

imp 命令 这命令 的选项有

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

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

formuser:用于指定原用户

touser:用于指定目标用户

file:用于指定导入的文件名

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

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

direct=y:直接导出方式速度快

ignore:如果表存在,则只导入数据

show:规定文件内容是否被显示,而不是被执行

egnore:标明在执行‘CREATE’命令时,是否忽略遇到的错误。如果正在导入的对象已经存在时,应使用这个参数

grants:导入时否要导入数据库对象上的授权

indexes:是否要导入表上的索引

recordlength:转储导入文件日志的长度(以字节为单位),通常都使用缺省,除非要在两个不同操作系统中传递导入文件

inctype:正在执行的导入操作的类型(有效值有COMPLETE(缺省值),CUMULATIVE和IVCREMENTAL

prafile:要传递给导入的参数文件的名字。这个文件将包含所有参数的入口项

analyze:标明是否将移对象的统计信息写入导入转储文件中

log:导入日志将要写入的文件的名字

mls:(多语言选项)标明是否要导入MLS 标号

indexfile:不执行导入动作,只将表/索引信息写入指定的文件


准备:

1.不需要登录sqlplus,直接在DOS命令下 (win+r-->cmd) 

2.在导入和导出的时候,要到oracle目录的主目录下面的bin目录下去导(cd D:\app\Admin\product\11.1.0\db_1\BIN) 


4.案例: 导出scott 的emp,emp2表 

exp userid=scott/tiger@orcl tables=(emp,emp2) file=d:\e1.dmp


5.案例:只导表的结构 不要表的数据  就是只要表的定义 

exp userid=sysytem/manager@orcl tables=(scott.emp)  file=d:\sysytem_scott_emp.dmp rows=n


6.案例:如果导出的表的数据量比较大 采用 直接导出方式 

exp userid=scott/tiger@oracl tables=(emp) file=d:\scott_emp.dmp direct=y


7.案例:导出其他用户方案的表,比如 system导出scott的表--需要dba的权限或者 exp_full_database 的权限

exp userid=sysytem/manager@orcl tables=(scott.emp)  file=d:\sysytem_scott_emp.dmp


8.案例:导出方案 指导出一个方案中的所有 视图,表

exp userid=scott/tiger@orcl owner=scott file=d:\kk.dmp


9.案例:导出其他方案,需要dba 权限,或者是 exp_full_database 权限 --例如system用户可以导出任何方案

exp userid=system/manager@orcl owner=scott file=d:\system_scott.dmp


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

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


11.导入自己的表

imp userid=scott/tiger@orcl tables=(emp) file=d:\my_emp.dmp


12.导入其他用户的表

imp userid=system/manager@orcl tables=(emp) file=d:\my_emp.dmp


13.导入表到其他用户,要求有 dba权限或者 imp_full_database权限

imp useri=system/manager@orcl tables=(scott.emp) file=d:\my_emp.dmp touser=scott fromuser=scott


14.导入表结构   不导入数据

imp userid=scott/tiger@orcl tables=(emp) file=d:\my_emp.dmp rows=n


15.导入数据 如果对象已经存在

imp userid=scott/tiger@orcl tables=(emp) file=d:\my_emp.dmp ignore=y


16.导入自己的方案

imp userid=scott/tiger@orcl file=d:\xx.dmp


17.导入其他方案 要求用户具有dba的权限

imp userid=system/manager@orcl file=d:\xx.dmp fromuser=system touser=scott


18.导入数据库

imp userid=system/manager full=y file=d:\xxx.dmp

以上内容来自网络。


alay

Flame

Hello world!

0 评论
留下评论