1. 上传dmp文件到linux系统中。因为我本机没有imp.exe文件,而且后面发现该dmp文件是无法用imp命令执行,因为它是用expdp命令导出来的。
本机是WINDOWS环境,所以,直接进入目录,再执行FTP命令:
C:\Users\Administrator>ftp 192.168.1.1
连接到 192.168.1.1。
XXX FTP server ready.
用户(192.168.1.1:(none)): FTP
331 Password required for FTP.
密码:
230 User FTP logged in.
ftp> bin
200 Type set to I.
ftp>
设置为二进制编码上传文件。执行上传命令:
put db.dmp db.dmp
2. 执行导入命令
因为dmp文件是用expdp命令导出,所以,只能用impdp命令导入,导入命令中需要指定一个文件目录,默认是oracle的安装目录下的一个目录,但因为登录到linux系统的默认路径是另一个目录,另外,也不想把文件移动到oracle目录下,所以,先创建一个文件目录:
sqlplus /nolog
SQL> connect sys/oracle as sysdba
Connected.
SQL> create directory db_dir as '/export/home/db_dir';
<pre name="code" class="plain">SQL> grant read,write on directory db_dir to user;
<pre name="code" class="plain">SQL> select * from dba_directories;
目录创建成功。
impdp user/pwd directory=db_dir dumpfile=db.dmp full=y logfile=dbimport3.log remap_schema=xxx:user remap_tablespace=xxx:users
执行以上命令导入数据。
directory:新建的目录
remap_schema:这个是为了防止导出的schema与导入的schema不一致,导致出错。
remap_tablespace:这个是为了防止导出的tablespace与导入的tablespace不一致。
SQL> create directory db_dir as '/export/home/db_dir'