(1/2)Oracle中用Exp命令导出指定用户下的所有表的前N行数据,并用imp数据导入到本地数据库中
一 oracle创建用户,分配表空间,授予权限
创建表空间
create tablespace product_tt
logging
datafile 'E:\note\product_center\product_tt.dbf'
size 500m
autoextend on
next 200m maxsize 20480m
extent management local;
–创建用户并且设置默认表空间和临时表空间
create user tt identified by 123456
default tablespace product_tt
;
–用户解锁
alter user tt account unlock;
–设置权限
grant connect, resource to tt;
二 备份数据并导入数据库
查询某个用户下的表,将获得表的名称是下面cmd命令的tables的参数
select wm_concat(a.table_name) from dba_tables a where owner='SCOTT';
--或者
select wm_concat(table_name) from user_tables;
cmd 使用exp导出数据每个表的前N行数据(这里导出前2行)
cmd中直接粘贴下面
exp “scott/tiger file=d:\test3.dmp TABLES=(DEPT,EMP,SALGRADE,EMP2,L,R,EMP_BONUS,T4_1,T4_2,EMP4_2,EMP4_1,T1,T2,DUPES,EMP1,BONUS) QUERY=‘WHERE rownum<=2’”
!!!方便查看,不能粘贴 前面主要是需要修改的参数
exp "
scott/tiger
file=d:\test3.dmp
TABLES=(DEPT,EMP,BONUS)
QUERY='WHERE rownum<=2'"
imp tt/123456 fromuser=tt touser=tt file=d:\test3.dmp tables=DEPT,EMP,SALGRADE,EMP2,L,R,EMP_BONUS,T4_1,T4_2,EMP4_2,EMP4_1,T1,T2,DUPES,EMP1,BONUS rows=y indexes=n commit=y buffer=65536 feedback=100000 ignore=n log=imp.log
!!!方便查看,不能粘贴 前面主要是需要修改的参数
imp
tt/123456
fromuser=tt
touser=tt
file=d:\test3.dmp
tables=DEPT,EMP,BONUS
rows=y indexes=n commit=y buffer=65536 feedback=100000 ignore=n log=imp.log
远程导出exp
exp导出时报错,ORA-12154 TNS: 无法解析指定的连接标识符
tnsname.ora文件需要修改为远程ip
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 【远程ip】 )(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
可以在dos下测试oracle连接是否成功
tnsping orcl
远程导出配置的是服务名
exp "username/aaa@qq.com file=d:\test3.dmp TABLES=(tablename1, tablename2) QUERY='WHERE rownum<=2'"
原文链接
查询某个用户拥有的表:https://blog.csdn.net/zl834205311/article/details/84943718
创建表空间:https://blog.csdn.net/East_MrChiu/article/details/69491086
备份数据:https://blog.csdn.net/holly2008/article/details/22898833
远程备份数据:
https://blog.csdn.net/luobing_csdn/article/details/66969093
上一篇: oracle使用cmd命令进行导入dmp