一. 导出工具 exp
1. 它是操作系统下一个可执行的文件 存放目录/ORACLE_HOME/bin
exp导出工具将数据库中数据备份压缩成一个二进制系统文件.可以在不同OS间迁移
它有三种模式:
a. 用户模式: 导出用户所有对象以及对象中的数据;
exp username/password@XE owner=xxx file=d:\xxx_20130223.dmp;
b. 表模式: 导出用户所有表或者指定的表;
exp username/password@XE owner=xxx file=d:\xxx_20130223.dmp TABLES=(SONIC);
c. 整个数据库: 导出数据库中所有对象。
exp username/password@XE file=d:\xxx_20130223.dmp FULL=Y;
二.导入工具 imp
1. 它是操作系统下一个可执行的文件 存放目录/ORACLE_HOME/bin
imp导入工具将EXP形成的二进制系统文件导入到数据库中.
它有三种模式:
a. 用户模式: 导入用户所有对象以及对象中的数据;
imp username/password@XE fromuser =xxx touser =xxx file=d:\xxx_20130223.dmp;
b. 表模式: 导入用户所有表或者指定的表;
imp username/password@XE fromuser =xxx file=d:\xxx_20130223.dmp TABLES=(SONIC);
c. 整个数据库: 导入数据库中所有对象。
imp username/password@XE file=d:\xxx_20130223.dmp FULL=Y;
三.导入导出实例
操作步骤:
oracle sqlplus连接说明:
cmd sqlplus /nolog conn sys/root@IBMSPRO as sysdba //conn system/admin@ORCL 提示“已连接。” 表示连接成功
1.从 A 上导出数据文件到指定目录(目录名称自己定义,只要自己能找到就行,和用户名没有关系)
exp xxx/xxx@IBMS_40 owner=ibms file=d:\ibms_40_20130223.dmp;
2.在A机器上查看用户默认表空间,以便导入时创建一样的表空间
select username,default_tablespace from dba_users where username ='ibms';
3.查看用户使用的表空间
select DISTINCT owner ,tablespace_name from dba_extents where owner like 'ibms';
4.查看表空间对应的数据文件,以便在B上创建大小合适的数据文件。
select file_name,tablespace_name from dba_data_files where tablespace_name in ('IBMS-DATA','IBMS-DATAB'); //'IBMS-DATA','IBMS-DATAB'为上面查询出的表空间
5.检查B机器的表空间,看是否存在IBMS-DATA,IBMS-DATAB
select name from v$tablespace where name in ('IBMS-DATA','IBMS-DATAB'); 查找不到,说明没有这个两个表空间,需要创建。
6.要导入数据的server没有IBMS-DATA,IBMS-DATAB表空间。创建
CREATE TABLESPACE "IBMS-DATA" LOGGING DATAFILE 'D:\oracle\app\oracle\product\10.2.0\oradata\ibmspro\mytbs01.dbf' SIZE 500M AUTOEXTEND ON NEXT 32M EXTENT MANAGEMENT LOCAL; CREATE TABLESPACE "IBMS-DATAB" LOGGING DATAFILE 'D:\oracle\app\oracle\product\10.2.0\oradata\ibmspro\mytbs02.dbf' SIZE 500M AUTOEXTEND ON NEXT 32M EXTENT MANAGEMENT LOCAL;
7.在服务器B上查找用户是否已经存在
select username from dba_users where username='ibms';
接下来分为两种情况,如果不存在那么按照 [一] 方法,如果存在按照 [二]
【一】创建用户
create user ibms identified by Test2passwd default tablespace cmis temporary tablespace temp profile default;
【二】如果用户存在
drop user ibms cascade; (删除用户及其拥有的所有对象)
#此时如果这个用户在连接,drop会出错,必须先杀掉用户的session,然后再drop user
SELECT 'alter system kill session '''||SID||','||SERIAL#||''' immediate;' FROM V$SESSION WHERE USERNAME='ibms';
#(如果用户正在连接,构建命令并杀掉)
create user ibms identified by ibmspasswd default tablespace IBMS-DATA temporary tablespace IBMS-DATA IBMS-DATAB default;(创建用户) grant connect,resource to ibms; (授权) --放开所有表空间 --grant unlimited tablespace to ibms; --给所有权限 --grant resource,connect,dba to ibms;
8.把文件从A机器上拷贝到B机器上。
9.最后在A机器上按用户导入数据
imp xxx/xxx@IBMSPRO fromuser=ibms touser=ibms file=d:\xxx_20130223.dmp ignore=y
四.导入可能出现的问题:
(1) imp和exp使用的字符集不同
如果字符集不同, 导入会失败, 可以改变unix环境变量或者NT注册表里NLS_LANG相关信息.
导入完成后再改回来.
(2) imp和exp版本不能往上兼容
imp可以成功导入低版本exp生成的文件, 不能导入高版本exp生成的文件
根据情况我们可以用
imp username/password@connect_string
说明: connect_string 是在/ORACLE_HOME/network/admin/tnsnames.ora
定义的本地或者远端数据库的名称
注意事项:
UNIX: /etc/hosts 要定义本地或者远端数据库服务器的主机名
win2000: winnt\system32\drivers\etc\hosts
相关推荐
Oracle expimp导出导入命令及数据库备份 很详细
Oracle数据导入导出impexp.txtOracle数据导入导出impexp.txtOracle数据导入导出impexp.txtOracle数据导入导出impexp.txtOracle数据导入导出impexp.txtOracle数据导入导出impexp.txtOracle数据导入导出impexp....
Oracle exp/imp,备份或导入时注意的事项: 本篇主要讲述的是Oracle exp/imp备份导入的实际操作中需要注意的事项的介绍,凡事都不是完美的。不论哪种计算机语言,不论它的实际操作技巧是如何灵活,都是避免不掉它的...
通过oracle自带的exp imp命令对oracle数据库进行导入备份 和 导入恢复
在实际工作中,有时需要将exp导出的历史备份dmp文件进行恢复,若之前的建表语句及表空间名无法找到,则直接用imp语句进行导入的话可能报错表空间不存在,且导入数据占用空间可能会非常大。使用本文方法可将exp导出的...
oracle导入、导出命令、工具,数据库应用经常使用到的命令工具
oracle导入 导出 oracle导入 导出 oracle导入 导出 oracle导入 导出
oracle 使用IMP命令导入数据时 经常会碰到乱码问题,本文档从根本上解决了导入数据乱码根源及解决办法
imp方式批量导入dmp文件。oracle数据库bat脚本。需要配置数据库的链接信息和dmp路径信息。
ORACLE导出导入(exp和imp)总结[文].pdf
Oracle exp imp命令详解,介绍这两种命令的参数,用法
linux oracle 远程连接oracle服务器时,客服端机器需要安装imp exp命令才可以操作操作数据库导入/导出数据
oracle导入导出命令(imp、exp),描述oracle导入导出的三种方式
EXP-IMP,Oracle数据导入导出,Oracle数据导入导出
Oracle数据导入导出impexp命令
Oracle 19c 备份恢复-导入导出
Oracle-exp\imp-导入导出时遇到的问题
Oracle客户端11.2.0.4.0的安装包,及其中exp和imp文件