教你在oracle中导入.dmp数据库文件
执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,DOS中可以执行时由于 在oracle 9i 中 安装目录ora92BIN被设置为全局路径,该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。 在Oracle数据库管理中,数据导入和导出是关键操作,用于数据备份、迁移以及环境间的同步。Oracle提供了两种工具:EXP(Export)和IMP(Import),它们分别用于数据的导出和导入。这两个实用程序在Oracle安装目录下的BIN子目录中,如ora92BIN或ora81BIN,它们通常被添加到系统的PATH环境变量中,以便于在命令行中直接调用。 1. **数据导出**: - 完全数据库导出:`exp system/manager@TEST file=d:daochu.dmp full=y`,这将导出整个TEST数据库的所有对象和数据。 - 特定用户导出:`exp system/manager@TEST file=d:daochu.dmp owner=(system,sys)`,导出指定用户(如system和sys)的所有对象。 - 单个或多个表导出:`exp aichannel/aichannel@TESTDB2 file=d:datanewsmgnt.dmptables=(inner_notify,notify_staff_relat)`,只导出指定的表。 - 条件筛选导出:`exp system/manager@TEST file=d:daochu.dmp tables=(table1) query="where filed1 like '00%'"`,导出满足特定条件(字段filed1以"00"开头)的数据。 2. **数据导入**: - 完整数据库导入:`imp system/manager@TEST file=d:daochu.dmp`,将.dmp文件中的所有数据导入到TEST数据库中。 - 忽略已存在表的导入:`imp system/manager@TEST file=d:daochu.dmp ignore=y`,即使表已存在,也会尝试导入,忽略错误。 - 单个表导入:`imp system/manager@TEST file=d:daochu.dmp tables=(table1)`,只导入指定的表。 为了进行这些操作,操作者需要有足够的权限,包括对数据库的连接权(CONNECT)、资源使用权(RESOURCE)以及数据库管理员(DBA)权限。如果权限不足,Oracle会给出提示。在导入前,确保能成功连接到数据库,可以使用tnsping命令来验证,例如`tnsping TEST`。 3. **权限授予**: 如果需要给新用户授权进行数据导入导出,可以按照以下步骤操作: - 通过SQL*Plus以管理员(如system)身份登录。 - 创建新用户,例如`create user 用户名 IDENTIFIED BY 密码`。 - 授予必要的权限,如`GRANT CREATE USER, DROP USER, ALTER USER, CREATE ANY VIEW, DROP ANY VIEW, EXP_FULL_DATABASE, IMP_FULL_DATABASE, DBA, CONNECT, RESOURCE, CREATE SESSION TO 用户名字`,这将赋予用户创建和管理用户、视图,以及执行完整数据库导入导出的权限。 4. **导入命令执行示例**: 在命令行中,切换到.dmp文件所在的目录,然后执行`imp userid=system/manager full=y file=*.dmp`或`imp userid=system/manager full=y file=filename.dmp`,例如`F:WorkOracle_Databackup>imp userid=test/test full=y file=inner_notify.dmp`。 请注意,数据导入导出过程中可能会遇到数据冲突或权限问题,因此在操作前应备份重要数据,并根据实际情况调整命令参数。此外,Oracle提供了更高级的数据泵(Data Pump)工具(expdp和impdp),它们提供更高的性能和更多的选项,适用于大数据量的导入导出场景。
- qmm11102014-03-28很好用 解决大忙
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助