在Oracle数据库中可以使用imp和exp命令来执行数据的导入导出(包括表结构和数据),使用imp和exp命令执行导入导出操作必需的是需要安装Oracle数据库,系统安装Oracle数据库,可以识别 dmp / imp 命令,否则系统会不识别imp和exp命令,如下左图所示:
装好Oracle后,使用数据库连接工具连接好数据库(我自己使用的是sqldeveloper),执行导入导出命令:
导出:
1. 打开cmd;
2. 执行命令。命令格式:exp 用户名/密码@数据库IP地址/实力名 file=导出文件路径\文件名.dmp owner=用户名
例如:exp CUSTOMER_SERVICE_ROOT/[email protected]/fdms2 file=C:\Users\Administrator\Desktop\20180202.dmp owner=CUSTOMER_SERVICE_ROOT 此处的fdms2是数据库名,此处导出的是整个数据库,若有选择性的导出部分表结构和数据则执行下面的命令:
exp CUSTOMER_SERVICE_ROOT/[email protected]/fdms2 file=C:\Users\Administrator\Desktop\20180202.dmp tables=(AAAA,BBBB)
注意:在执行导出整个数据库时,有些表是空表,没有数据,导出数据时,空表是不会被执行导出的,此时需要对空表做一定的处理:
1. 执行sql :select table_name from user_tables where NUM_ROWS=0;
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;
2. 将步骤1中执行的sql结果复制继续执行,然后执行导出命令即可导出表结构和数据。
导入:
1.--DBCA 创建Orcl实例
2. --数据库连接工具 sys用户登录
3.--创建临时表空间(可不做)
create temporary tablespace myth_temp tempfile 'C:\Oracle_space\myth_temp_20171116.dbf'
size 100m autoextend on next 50m maxsize 200m;
4.--创建表空间
create tablespace myth datafile 'C:\Oracle_space\myth_20171116.dbf'
size 200m autoextend on next 100m maxsize 400m;
5--扩展表空间(辅助操作,可不做)
alter tablespace myth add datafile 'C:\Oracle_space\myth_20171116.dbf'
size 200m autoextend on;
6--创建用户并制定表空间
create user username identified by 123456 default tablespace myth
temporary tablespace myth_temp
7.--赋权
grant dba to username
8.--WIN + R
9.--CMD
10.--导入命令
imp 新用户名/密码@实例名 file=dmp文件路径\文件名.dmp fromuser=导出时的用户名 touser=新用户名
imp uwp_cfgh_root/123456@fdms file=C:\server\201711088.dmp fromuser=uwp_cfgh_root touser=uwp_cfgh_root
若执行导入部分表结构和数据则用下面的命令:
imp CUSTOMER_SERVICE_ROOT/[email protected]/fdms2 file=C:\Users\Administrator\Desktop\20180202.dmp tables=(AAAA,BBBB);
参考文档地址:http://blog.csdn.net/micholas_net/article/details/78714589
http://blog.csdn.net/menghuannvxia/article/details/51076930