1. 获取帮助
imp help=y
2.导入一个完整数据库
imp system/manager file=bible_db log=dible_db full=y ignore=y
3.导入一个或一组指定用户所属的全部表、索引和其他对象
imp system/manager file=seapark log=seapark fromuser=seapark
imp system/manager file=seapark log=seapark fromuser=(seapark,amy,amyc,harold)
4.将一个用户所属的数据导入另一个用户
imp system/manager file=tank log=tank fromuser=seapark touser=seapark_copy
imp system/manager file=tank log=tank fromuser=(seapark,amy)
touser=(seapark1, amy1)
5.导入一个表
imp system/manager file=tank log=tank fromuser=seapark TABLES=(a,b)
6.从多个文件导入
imp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4)
log=paycheck, filesize=1G full=y
7.使用参数文件
imp system/manager parfile=bible_tables.par
bible_tables.par参数文件:
#Import the sample ————tables used for the Oracle8i Database Administrator's
Bible. fromuser=seapark touser=seapark_copy file=seapark log=seapark_import
8. 增量导入
imp system./manager inctype= RECTORE FULL=Y FILE=A需要注意:1.导入数据时,尽量建一个和备份数据的用户名和表空间都一样的表。有时候备份的数据里会有些和原数据库的用户名或者表空间名绑定东西,比较讨厌,做数据库设计的人比较垃圾吧。所以,如果往一个不相同的表空间名或者用户名里面导数据时有时候会报错。例如下面的错误就是因为表空间名建的不一样导致的:IMP-00003: 遇到 ORACLE 错误 959
ORA-00959: 表空间 'NEWCENTER' 不存在2. 如执行imp system/system file=e:newcenter.dmpfromuser=newcenter touser=newcenter时会报如下的错误:已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
. 正在将 NEWCENTER 的对象导入到 NEWCENTER
IMP-00003: 遇到 ORACLE 错误 1435
ORA-01435: 用户不存在
成功终止导入, 但出现警告。其实touser=newcenter中的用户是存在的,原因是没有实例名,导致找不到用户。加上实例名imp system/system@ORCLfile=e:newcenter.dmp fromuser=newcenter touser=newcenter执行正确。所以imp时最好在userid上加上实例名。