oracle 导入数据时主键丢失,[转载]impdp之后数据表主键、索引、注释信息丢失的解决方法及expdp/imp...
时间: 2024-05-23 18:12:39 浏览: 198
在使用 `impdp` 命令导入数据时,可能会出现数据表主键、索引、注释信息丢失的情况。这通常是由于导入时没有正确设置参数或者目标数据库与源数据库不兼容等原因引起的。以下是解决方法:
1. 检查导入时是否正确设置了参数
在使用 `impdp` 命令导入数据时,需要指定一些参数,如 `TABLE_EXISTS_ACTION`、`REMAP_TABLESPACE`、`REMAP_SCHEMA` 等。如果这些参数没有正确设置,可能会导致数据表主键、索引、注释信息丢失。因此,建议在导入数据之前仔细检查参数是否设置正确。
2. 检查目标数据库是否与源数据库兼容
如果目标数据库与源数据库不兼容,也可能会导致数据表主键、索引、注释信息丢失。因此,建议在导入数据之前检查目标数据库是否与源数据库兼容,如数据库版本、字符集等。
3. 使用 `expdp` 和 `impdp` 命令导入数据
使用 `expdp` 命令将数据导出到一个文件中,然后使用 `impdp` 命令将数据从文件中导入到目标数据库中。这种方法可以避免数据表主键、索引、注释信息丢失的问题,并且可以更好地控制导入过程。
总之,如果在使用 `impdp` 命令导入数据时出现数据表主键、索引、注释信息丢失的情况,可以尝试以上解决方法。
相关问题
使用expdp/impdp远程导入导出oracle数据
使用 expdp/impdp 命令可以实现 Oracle 数据库的导入导出。以下是使用 expdp/impdp 远程导入导出 Oracle 数据的步骤:
1. 在远程服务器上创建一个目录,用于存放导出的数据文件。例如,创建目录 /u01/exp_dir。
2. 在本地电脑上打开命令行窗口,连接到远程服务器的 Oracle 数据库。
3. 输入以下命令导出数据:
```
expdp username/password@remote_server:port/service_name directory=exp_dir dumpfile=my_export.dmp
```
其中,username 和 password 分别是远程服务器上的 Oracle 数据库的用户名和密码;remote_server、port 和 service_name 分别是远程服务器的主机名、端口号和服务名称;directory 是第一步创建的目录名称;dumpfile 是导出的数据文件名。
4. 等待数据导出完成。导出的数据文件将存储在远程服务器上的指定目录中。
5. 在本地电脑上打开命令行窗口,连接到本地的 Oracle 数据库。
6. 输入以下命令导入数据:
```
impdp username/password directory=exp_dir dumpfile=my_export.dmp
```
其中,username 和 password 分别是本地 Oracle 数据库的用户名和密码;directory 是第一步创建的目录名称;dumpfile 是导出的数据文件名。
7. 等待数据导入完成。导入的数据将存储在本地 Oracle 数据库中。
oracle数据库expdp命令,Oracle数据库备份 expdp/impdp导出导入命令
Oracle数据库提供了expdp和impdp命令用于备份和恢复数据库。这两个命令的使用方式如下:
1. expdp命令
expdp命令用于备份Oracle数据库,它能够将某个schema或整个数据库导出到一个二进制文件中。具体命令格式如下:
```
expdp username/password@connect_string DIRECTORY=directory_name DUMPFILE=dumpfile_name.dmp SCHEMAS=schema_name
```
其中:
- `username/password@connect_string`:指定连接Oracle数据库的用户名、密码和连接字符串。
- `DIRECTORY=directory_name`:指定备份文件的目录。
- `DUMPFILE=dumpfile_name.dmp`:指定备份文件的名称。
- `SCHEMAS=schema_name`:指定要备份的schema名称,多个schema可以用逗号分隔。
执行命令后,Oracle数据库会将指定的schema或整个数据库导出到一个二进制文件中。
2. impdp命令
impdp命令用于恢复Oracle数据库,它能够将之前导出的二进制文件导入到数据库中。具体命令格式如下:
```
impdp username/password@connect_string DIRECTORY=directory_name DUMPFILE=dumpfile_name.dmp SCHEMAS=schema_name
```
其中:
- `username/password@connect_string`:指定连接Oracle数据库的用户名、密码和连接字符串。
- `DIRECTORY=directory_name`:指定备份文件所在的目录。
- `DUMPFILE=dumpfile_name.dmp`:指定备份文件的名称。
- `SCHEMAS=schema_name`:指定要恢复的schema名称,多个schema可以用逗号分隔。
执行命令后,Oracle数据库会将指定的schema或整个数据库从备份文件中恢复出来。
需要注意的是,expdp和impdp命令需要在Oracle数据库服务器上执行,而不是在客户端。
阅读全文