首页 > 数据库 > Oracle > 用exp/imp把远程数据导入到本地数据库中
需求:
把远程192.168.1.76主机中的herendh用户下的数据,导入到本机的herendh用户下。
步骤:
(1)在cmd窗口中执行导出命令
exp herendh/herendh@192.168.1.76:1522/orcl file=f:\test76.dmp log=f:\test76.log
这里herendh/herendh是远程库中的用户名和密码,192.168.1.76是远程主机的IP,1522是远程数据库监听的端口,file参数则指定了数据文件保存在本地的路径。log参数指定了日志文件,里面记录了导出时的所有日志信息。
注意,这个语句导的是herendh用户下所有的表。若只想导出部分表,则可用tables参数来实现:
exp herendh/herendh@192.168.1.76:1522/orcl file=f:\test76.dmp log=f:\test76.log tables=(tablesA,tablesB,tablesC)
(2)进入本机的sqlplus环境
sqlplus / as sysdba #本句等价于sqlplus sys/oracle as sysdba
或
sqlplus system/oracle
(3)若之前已创建过表空间和用户,需要先删除掉
SQL> drop tablespace herendh including contents and datafiles;
SQL> drop user herendh cascade;
(4)创建表空间
SQL>
create tablespace HERENDH
datafile 'F:\app\Administrator\oradata\orcl\HERENDH.dbf'
size 1024M
autoextend on
next 50M maxsize 20480M
extent management local;
这里指定了表空间的名称是HERENDH,
表空间文件存放于路径F:\app\Administrator\oradata\orcl\HERENDH.dbf,注意,这个路径要根据你安装Oracle时的具体路径而定。假设你的数据库是安装在D:\oracle目录下,则应写成D:\oracle\oradata\orcl\HERENDH.dbf
初始大小为1024M,若此表空间存放的数据达到此值,则表空间文件会自动增加大小,每次增加50M,最大值为20G,超过此值后无法再自动增加。
extent manaagement local表示区间管理为本地管理。Oracle管理区间有两种方式:本地管理和数据字典管理,默认就是本地管理,所以这句也可以不写。
(5)创建用户,并给用户指定空间和临时表空间
SQL>
create user herendh identified by herendh
default tablespace HERENDH
temporary tablespace TEMP;
注意,这里TEMP是默认的临时表空间,数据库装好后就已存在,不用手工创建。
(6)给用户授权
SQL> grant dba to herendh;
注意:这里因为是测试,直接给herendh授予最大的dba权限。若是生产环境,则要酌情考虑。
(7)退出sqlplus环境
SQL> exit
(8)在cmd窗口执行导入命令
imp herendh/herendh file=f:\test76.dmp full=y log=f:\imp76.log
注意:上面的命令是导入用户herendh下所有的表。如果只是导入部分表,比如要导入tableA,tableB和tableC,则应该改成
imp herendh/herendh file=f:\test76.dmp tables=(tableA,tableB,tableC) log=f:\imp76.log
(9)帮助命令
假如要查阅exp和imp的其它语法,只需要在cmd窗口输入
exp help=y
或
imp help=y
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29485627/viewspace-1983675/ ,如需转载,请注明出处,否则将追究法律责任。