PS 在11g中执行导入导出时有的选项可能不需要加()!
PS2,导入导出命令请在shell下运行非sql/plus环境!
***数据库逻辑备份与恢复**
导出:
导出具体分为:导出表,导出方案,导出数据库三种方式.
导出使用exp命令完成的:
userid:用于指定执行导出操作的用户名,口令,连接字符串
tables:用于指定执行导出操作的表
owner:用于指定执行导出操作的[方案].
full=y;用于指定执行导出操作的[数据库].
inctype:用于指定执行导出操作的[增量类型]
rows:用于指定导出操作[是否要导出表中的数据]
file:用于指定导出[文件名]
=============== a.导出表:
(在导入和导出的时候,要到oracle目录的bin下C:\Java\oracle\product\10.2.0\db_1\bin)
(1)导出自己的表
exp userid=scott/yuyang@orcl talbes=(emp) file=d:\1.dmp;
(2)导出其他方案的表(需要dba权限或是exp_full_database的权限)
exp userid=scott/yuyang@orcl talbes=(scott.emp) file=d:\1.dmp;
====================b.导出表
(3)导出表单的结构
exp userid=scott/yuyang@orcl tables=(emp) file=d:\1.dmp rows=n;
(4)使用直接导出方式
exp userid=scott/yuyang@orcl talbes=(emp) file=d:\1.dmp direct=y
这种方式比默认导出速度要快,当数据量大时,可以考虑使用这样的方法
这时候需要数据库的字符串要与客户端字符集完全一致.否则会报错
c.导出数据库
exp userid=system/yuyang@orcl full=y inctype=complete file=d:\x.dmp;
====================c.导出方案(还是在bin目录下cmd)
(1)导出自己的方案
exp scott/yuyang@orcl owner=(emp) file=d:\1.dmp ;
(2)导出其他方案
exp userid=system/yuyang@orcl owner=(system,scott) file=d:\system.dmp ;
-----------------------------------导入数据-------------------------------
导入:
导入也分三种导入表,导入方案,导入数据库
...userid,tables,file,full=y;inctype,rows
formuser:用于指定源用户.
touser:用于指定目标用户
ignore:如果表存在,则只导入数据
a.导入表
1.导入自己的表
imp userid=scott/yuyang@orcl tables=(emp) file=d:\x.dmp;
2.导入其他用户的表(dba或imp_fulll_database)
imp userid=scott/yuyang@orcl table=(emp) file=d:\xx.dmp touser=scott
3.导入表的结构(导入表结构,不导入数据)
imp userid=scott/yuyang table=(emp) file=d:\xx.dmp rows=n;
4.导入数据
如果是对象,(比如表)已经存在可以只导入表的数据
imp userid=soctt/yuyang@orcl tables=(emp) file=d:\xxx.dmp ignore=y;
b.导入方案
导入一个或多个方案,如果要导入其他方案,该球该用户具有dba的权限,或是imp_full_database
(1)导入自身的方案
imp userid=scott/yuyang file=d:\xx.dmp;
(2)导入其他方案(要求该用户具有dba的权限)
imp userid=system/yuyang file=d:\xx.dmp formuser=system touser=scott
c.导入数据库
导入所有对象结构和数据
imp userid=system/yuyang full=y file=d:\xx.dmp;