
将DMP文件导入Oracle数据库
5星
- 浏览量: 0
- 大小:None
- 文件类型:DOC
简介:
本教程详细介绍如何将DMP格式的数据导出文件成功导入到Oracle数据库中,涵盖所需工具、步骤及注意事项,帮助用户高效完成数据迁移任务。
### DMP 文件导入 Oracle 数据库详解
#### 一、引言
DMP 文件是 Oracle 数据库备份的一种常用格式,主要用于数据库的数据迁移、备份与恢复。本段落将详细介绍如何使用 `imp` 命令来导入 DMP 文件至 Oracle 数据库,并探讨相关命令的使用方法。
#### 二、DMP 文件概述
DMP 文件是 Oracle 数据库专用的一种二进制格式文件,主要用于存储数据库的备份数据。这种文件通常包含表空间、表、视图、索引、触发器、存储过程等数据库对象以及相关数据。
#### 三、IMP 和 EXP 命令简介
在 Oracle 数据库管理中,`imp` 和 `exp` 是两个非常重要的命令工具:
- **EXP**: 用于导出数据库中的数据到 DMP 文件。
- **IMP**: 用于从 DMP 文件中导入数据到数据库。
#### 四、IMP 命令的基本语法
导入 DMP 文件到 Oracle 数据库时,可以使用以下基本语法:
```shell
imp [参数列表]
```
其中,参数列表主要包括:
- `userid=用户名/密码[@数据库名]`: 指定连接到数据库的用户名和密码。
- `file=文件路径`: 指定要导入的 DMP 文件的路径。
- `full=y|n`: 如果设置为 `y`,则导入整个数据库;如果设置为 `n`,则只导入指定的对象。
- `owner=用户名列表`: 指定要导入哪些用户的对象。
- `tables=表名列表`: 指定要导入哪些表。
- `ignore=y|n`: 如果设置为 `y`,则忽略导入过程中遇到的错误。
#### 五、具体操作步骤
##### 5.1 数据导出
1. **完全导出**:
```shell
exp userid=系统用户名/密码@数据库名 file=路径/full=y
```
例如:
```shell
exp system/sql@TEST file=d:daochu.dmp full=y
```
2. **按用户导出**:
```shell
exp userid=系统用户名/密码@数据库名 file=路径 owner=(用户名1,用户名2)
```
例如:
```shell
exp system/sql@TEST file=d:daochu.dmp owner=(system,sys)
```
3. **按表导出**:
```shell
exp userid=系统用户名/密码@数据库名 file=路径 tables=(表名1,表名2)
```
例如:
```shell
exp aichannel/aichannel@TESTDB2 file=d:dataewsmgnt.dmp tables=(table1,table2)
```
4. **条件导出**:
```shell
exp userid=系统用户名/密码@数据库名 file=路径 tables=(表名1) query=WHERE 条件
```
例如:
```shell
exp system/sql@TEST file=d:daochu.dmp tables=(table1) query=where filed1 like 00%
```
##### 5.2 数据导入
1. **完全导入**:
```shell
imp userid=系统用户名/密码@数据库名 file=路径
```
例如:
```shell
imp system/sql@TEST file=d:daochu.dmp
```
2. **按表导入**:
```shell
imp userid=系统用户名/密码@数据库名 file=路径 tables=(表名1)
```
例如:
```shell
imp system/sql@TEST file=d:daochu.dmp tables=(table1)
```
3. **处理导入时的错误**:
- 当遇到已存在的表导致的错误时,可以通过添加 `ignore=y` 参数来跳过这些错误。
```shell
imp system/sql@TEST file=d:daochu.dmp ignore=y
```
#### 六、特殊处理
当个别表无法成功导入时,可以按照以下步骤操作:
1. 根据导入时 SQL*PLUS 的提示,确定无法正确创建的表。
2. 在 SQL*PLUS 中复制这些表的结构到 TXT 文档。
3. 在 SQL*PLUS 中通过 `@C:1.txt` 运行,创建表结构。
4. 向新创建的表导入数据。
```shell
imp system/sql@orcl file=d:955.dmp tables=(table1,table2,table3) ignore=y
```
#### 七、权限与连接
为了能够成功地导入或导出数据,需要确保操作用户拥有足够的权限。通常需要授予用户以下权限:
- `CREATE USER`
- `DROP USER`
- `ALTER USER`
- `CREATE ANY VIEW`
- `DROP ANY VIEW`
- `EXP_FULL_DATABASE`
- `IMP_FULL_DATABASE`
- `DBA`
- `CONNECT`
- `RESOURCE`
此外,还需要验证数据库
全部评论 (0)


