Oracle IMP命令详解与示例

需积分: 15 8 下载量 198 浏览量 更新于2024-07-29 收藏 115KB DOC 举报
"Oracle的导入实用程序(Import utility)是Oracle数据库系统中用于从.dmp文件恢复或导入数据的重要工具。它可以从数据库中提取数据并将其保存到操作系统文件,然后根据需要将这些数据重新导入数据库。本文将详细介绍Oracle中imp命令的使用方法和常见选项。" 在Oracle数据库管理中,imp命令提供了多种操作方式,以满足不同场景下的数据导入需求: 1. **获取帮助**: 使用`imphelp=y`命令可以获取关于imp命令的简要帮助信息,帮助用户了解如何使用该工具。 2. **导入整个数据库**: 如果需要导入整个数据库,可以使用`impsystem/managerfile=bible_dblog=dible_dbfull=yignore=y`这样的命令。其中,`system/manager`是数据库连接的用户名和密码,`bible_db`是.dmp文件名,`dible_db`是日志文件名,`full=y`表示全库导入,`ignore=y`则意味着忽略错误并继续执行。 3. **导入特定用户的数据**: 要导入单个或多个用户的数据,如`impsystem/managerfile=seaparklog=seaparkfromuser=seapark`,这将导入`seapark`用户的所有对象。若需导入多个用户,如`seapark`, `amy`, `amyc`, `harold`,可以在`fromuser`后以逗号分隔列出。 4. **跨用户数据迁移**: 想要将一个用户的数据导入到另一个用户下,例如`impsystem/managerfile=tanklog=tankfromuser=seaparktouser=seapark_copy`,这样可以将`seapark`用户的数据迁移到`seapark_copy`用户下。同样,多个用户的迁移只需修改`fromuser`和`touser`参数即可。 5. **导入特定表**: 只导入特定表时,使用`impsystem/managerfile=tanklog=tankfromuser=seaparkTABLES=(a,b)`,这里的`(a,b)`表示只导入名为`a`和`b`的两个表。 6. **从多个文件导入**: 当有多个.dmp文件需要导入时,如`impsystem/managerfile=(paycheck_1,paycheck_2,paycheck_3,paycheck_4)log=paycheck,filesize=1Gfull=y`,`file`参数接受列表,`filesize`用于设置每个文件的最大大小,这里为1GB。 7. **使用参数文件**: 通过`impsystem/managerparfile=bible_tables.par`,可以使用外部的参数文件来指定导入配置。在`bible_tables.par`参数文件中,定义了用户、目标用户、文件、日志等信息,简化命令行输入。 8. **增量导入**: 在Oracle 9i及更高版本中,`IMP`命令不再支持增量导入,取而代之的是Data Pump Import (`impdp`)工具,它提供了更高级的增量数据加载功能,如使用`INCREMENTAL`参数进行基于时间或变更的增量导入。 理解并熟练使用Oracle的imp命令对于数据库管理员来说至关重要,这有助于在数据备份、恢复、迁移和用户数据管理等场景下提高效率。需要注意的是,随着Oracle数据库版本的更新,某些imp命令的特性可能会被新功能替代,如上述提到的增量导入。因此,使用时应确保与当前数据库版本兼容。