使用exp和imp导入导出指定表
GPS平台、网站建设、软件开发、系统运维,找森大网络科技!
https://cnsendnet.taobao.com
来自森大科技官方博客
http://www.cnsendblog.com/index.php/?p=1509
从源数据库导出:这种方式,包含创建表,插入数据,所以,目标应没有这个表
exp user1/pwd@server1 file=c:\temp\exp.dmp tables=(table1, table2)
例如:
exp platadmin/plat_8admin@hkserver32 file=d:\hkdata.dmp tables=(REPORT_DRIVERATTENDANCE_day,REPORT_DRIVERATTENDANCE_MONTH)
我试了一下,在本地不能导出,还是得在服务器上导,在服务器上导很快,几十万条数据的表,一两秒钟就导出完了
导入到目标数据库:
imp user2/pwd@server2 file=c:\temp\exp.dmp tables=(table1, table2)
例如:
导入也很快,一两秒钟
imp platadmin/plat_8admin@orclgis file=d:\hkdata.dmp tables=(REPORT_DRIVERATTENDANCE_day,REPORT_DRIVERATTENDANCE_MONTH)
- 1
Oracle就是有这个好处,可以直接将远程的数据导出到本地;或者将本地的数据文件导入到远程数据库。而SQL SERVER的备份、还原文件,一定是放在远程服务器本机的。
补充一下,如果有许多表,那么以上语句可能会换行。但以上命令是在DOS命令窗口执行的,命令行方式,容不得换行。那咋办呢?我的笨办法是将语句拷贝到WORD文档,然后将回车换行符替换掉。替换的方法:在替换窗口,查找内容输入 ^p(注意是小写),替换内容为空,然后替换即可。
=====================================
以 sysdba 身份运行,导出导入指定用户所属表:
exp ‘sys/123456@Service1 as sysdba’ file=c:\temp\exp.dmp table
s=(sde.ISLAND)
imp ‘sys/888888@Service2 ’ file=c:\temp\exp.dmp fromuser
=sde tables=(ISLAND)
=================================================
如果表空间的名字不一样,会报 ORA-00959 错误,咋办?
1、先从源数据库,导出建表脚本(DDL)
2、在新库新表空间里运行这些DDL
3、imp,加上fromuser,touser,ignore=Y选项
imp 'sys/lt@HPM as sysdba' file=c:\temp\base.dmp fromuser=hydg touser=hpm tables=(org_user,SYS_ONLINE,sys_userRoles,Org_Role,Org_Group,sys_Event) ignore=Y
- 1
有关ORA-00959 错误的应对之道,参考文章:
GPS平台、网站建设、软件开发、系统运维,找森大网络科技!
https://cnsendnet.taobao.com
来自森大科技官方博客
http://www.cnsendblog.com/index.php/?p=1509
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?