一、采取传统方式导出dmp文件,同时指定默认路径
exp fuelMS/fuelMS@127.0.0.1/ORCL OWNER=FUELMS file='/mnt1/oracle/data/exported_data.dmp' log=export_log.log
[oracle@Aliyun data]$ exp fuelMS/fuelMS@127.0.0.1/ORCL OWNER=FUELMS file='/mnt1/oracle/data/exported_data.dmp' log=export_log.log^C
[oracle@Aliyun data]$ ls -alh
total 588M
drwxrwxrwx 2 root root 4.0K Oct 11 13:42 .
drwxr-xr-x 6 oracle oinstall 4.0K Aug 3 19:26 ..
-rw-r----- 1 oracle oinstall 339M Oct 11 11:56 A.dmp
-rw-r--r-- 1 oracle oinstall 416 Oct 11 11:56 A.log
-rw-r----- 1 oracle oinstall 33M Oct 11 12:02 B.dmp
-rw-r--r-- 1 oracle oinstall 23K Oct 11 12:02 B.log
-rw-r--r-- 1 oracle oinstall 7.7K Oct 11 13:42 export_log.log
-rw-r--r-- 1 oracle oinstall 217M Oct 11 13:42 exported_data.dmp
传统的导出工具,不同于数据泵,可能在大型数据库中不够高效。
fuelMS/fuelMS
@127.0.0.1/ORC
L
:连接到数据库所需的用户名和密码以及数据库的服务名(ORCL
)。owner参数:这指定了要导出的数据库对象。
file=exported_data.dmp
:这指定了导出文件的名称,即.dmp
格式的文件。log=export_log.log
:这指定了导出操作的日志文件,用于记录导出过程的详细信息。
二、采取传统方式导入dmp文件(速度较慢)
传统方式直接导入:
imp fuelMS/fuelMS@127.0.0.1/ORCL FROMUSER=FUELMS TOUSER=FUELMS file='/mnt1/oracle/data/exported_data.dmp' log=import_log.log
忽略错误进行导入:通常不使用
imp fuelMS/fuelMS@ORCL FROMUSER=FUELMS TOUSER=FUELMS file='/mnt1/oracle/data/exported_data.dmp' log=import_log.log REPLACE=Y
通过数据泵覆盖导入:
在传统的导入工具中,通常不提供直接的方式来替换已存在的对象。导入将只追加数据,而不会替换或修改现有对象。
impdp fuelMS/fuelMS@127.0.0.1/ORCL DIRECTORY=DUMP_DIR DUMPFILE=exported_data.dmp LOGFILE=import_log.log REMAP_SCHEMA=FUELMS:FUELMS REUSE_DATAFILES=YES
DIRECTORY=DUMP_DIR
:数据泵的导入目录,确保已在数据库中创建这个目录。DUMPFILE=exported_data.dmp
:导出文件的名称。LOGFILE=import_log.log
:导入操作的日志文件的名称。REMAP_SCHEMA=FUELMS:FUELMS
:这部分告诉数据泵工具将数据从源用户FUELMS
重定向到目标用户FUELMS
,从而覆盖目标用户中的数据。REUSE_DATAFILES=YES
:这告诉数据泵工具重用数据文件,从而覆盖目标用户中的数据。
备注:
要使用数据泵工具 impdp
导入数据,确保以下几点:
使用正确的导出文件:确保导入的文件(
exported_data.dmp
)是通过数据泵工具expdp
创建的,而不是传统exp
工具创建的。如果文件是传统exp
工具创建的,应该使用传统imp
命令来导入数据。使用正确的目录:
DIRECTORY=DUMP_DIR
指定了数据泵导入的目录。确保该目录已存在,并且具有正确的权限。验证连接信息:确保连接字符串
fuelMS/fuelMS@127.0.0.1/ORCL
正确,并可以成功连接到数据库。确保数据库版本匹配:导出和导入的数据库版本应该匹配,否则可能会出现兼容性问题。