导入导出问题
文章平均质量分 64
zclinux_
这个作者很懒,什么都没留下…
展开
-
【EXPDP/IMPDP】数据泵导入导出遇到目录没有权限问题
当执行数据泵导出的时候,报了如下错误:ORA-39002: invalid operationORA-39070: Unable to open the log file.ORA-39087: directory name DUMP_DIR is invalid分析了一下报错,提示没有权限去将日志写入到日志文件中,DUMP_DIR文件没有权限仔细想了下,如果是exp/i原创 2017-11-17 10:40:46 · 15631 阅读 · 0 评论 -
【EXP】导出数据库dmp文件,只有几张表有数据,剩下的所有表只有表结构没有数据
导出一个dmp,指定的表中有数据,其他的表只有表结构,有数据的表只有几张,分别是A,B,C三张表,剩下的表都没有数据思路:导出一个111.dmp,所有的表都只是表结构将111.dmp导入到新创建的用户中,用户为test用户将正式数据库的数据insert到test中的A,B,C三张表中,导出test的dmp即可,导出完成后,删除test用户操作:1.exp zheng原创 2018-01-10 12:32:59 · 4115 阅读 · 0 评论 -
【EXP】比较大的dmp文件导入的时候可以将界面关掉
有一个需求,将一个dmp文件导入到数据库中,但是这个crt的回话有timeout,3分钟,所以一到三分钟就掉线,导入就失败了,这让人很头疼,关闭界面,imp也就终止了最后想到了几招,分享一下:1.写一个定时任务,crontab -e 一分钟后,执行该定时任务,这样的话及时回话被关闭,也不会影响导入2.用nohup进行导入 nohup imp test1/test1 file=tes原创 2018-01-09 09:24:24 · 1231 阅读 · 0 评论 -
【EXPDP】expdp/impdp数据泵远程导入导出
Oracle在10g的时候有一个很好用的导出工具expdp(数据泵)但是这个工具好用的同时,有一个局限,就是必须用本地的用户才可以导出数据,也就是说数据泵只能导出本地数据库的数据但是如果业务需求是 将一个用户的全部表都导出,但是不需要t1,t2,t3而且这个数据库不是本地的,是异地的一个数据库正常的思路是通过exp userxx/passwd@192.168.1.100/orcl原创 2017-11-24 15:21:24 · 11621 阅读 · 0 评论 -
【IMPDP】ORA-31655
出现ora-31655错误的情况是因为不是同一个schema,导致的问题产生解决的方法;在导入语句最后添加上remap_schema=old:new着old是原schema,也就是导出的用户名,new是想要导入的用户名例子:我这里有一个expdp导出的dmp文件用户是test_old,想要到入到其他的数据库中的test_new我可以这样写;impdp test_ne原创 2017-11-21 13:25:26 · 10769 阅读 · 0 评论 -
【EXP】exp-00091解决办法
如果遇到exp的话一般都是因为字符集的问题解决办法:1.在oracle中查看数据库的字符集SQL> select userenv('language') from dual;USERENV('LANGUAGE')-------------------------------------------------------AMERICAN_AMER原创 2017-11-06 15:29:16 · 482 阅读 · 0 评论 -
【EXPDP】导出全部表的时候,选择不导出某个表
导出的时候指定某一张表不导出的话,一般都用的是数据泵的expdp来操作具体方法是:expdp test/test dumpfile=test.dmp directory=test_dir exclude=table:"='TEST_TABLE'"不导出test_table这个表。或者可以用parfile来操作vim test.parexclude=table:"='TEST原创 2017-11-20 17:32:52 · 10732 阅读 · 0 评论 -
【EXPDP】指定导出,只导出函数,导出的时候加上where条件过滤
expdp导出的时候可以使用parfile这个参数,在parfile中添加想要的导出信息:这里简单写了几句:vim test.parinclude=function --导出函数include=test_table:"like '%TEST%'" --导出test_table表中包含TEST字段的全部数据query=test_user:"where test_id=原创 2017-11-20 17:05:56 · 4863 阅读 · 3 评论 -
【EXP/IMP】问题总结
为了使测试与生产数据保持一致,只需要导出数据的时候,可以将测试库的表truncate,保留其它如索引,trigger,constraints,grants等不用再重新导。exp时候rows=y,其它全部选n,imp时候 rows=y ,其它n ignore是否忽略创建错误。Oracle在恢复数据的过程中,当恢复某个表时,该表已经存在,就要根据ignor转载 2017-11-15 11:22:55 · 1640 阅读 · 0 评论 -
【IMP】导出的时候显示ddl建表语句
导出数据后,在导入的时候想要显示出建表语句,可以用show=y这个选项来实现imp test/test file=test.dmp ignore=y show=y fromuser=test1 touser=test这样会显示建表的时候的ddl语句如果想要完整一点的,可以参考下杨建荣老师的《Oracle DBA工作日记》里面用了awk来进行格式的修改如果不用的话,手动也原创 2017-11-15 10:53:27 · 987 阅读 · 0 评论 -
【EXP】根据字段导出数据query
exp有些时候需要根据字段来进行导出操作例如:想要导出hr用户中的employees中salary要大于4000的数据这样的话需要添加where语句,需要用到的参数是query查看下大于4000的有多少数据SQL> select count(*) from employees where salary>=4000; COUNT(*)----------原创 2017-11-15 10:39:47 · 2298 阅读 · 0 评论 -
【EXP】Oracle多表导出问题
有些时候,需要导入某个用户的一些相关表。但是不知道用户的用户名和密码。这样就很尴尬但是如果手上有dba权限的用户的话,就很方便的能导出了先要知道多表导出的语句exp system/123456 file=test.dmp tables=table1,table2,table3 log=test.log或者exp system/123456 file=test.dmp t原创 2017-11-15 09:54:22 · 8200 阅读 · 2 评论 -
【EXP】WINDOWS下如何导出
有些时候需要在windows下通过远程来导出数据那么windows下怎么导出呢例子:exp hr/hr@192.168.1.222:1521/zhang file=d:backup.dmp log=d:backup.log原创 2017-11-15 09:57:02 · 1194 阅读 · 0 评论 -
【EXPDP/IMPDP】ORACLE数据泵导入导出案例(expdp & impdp)
概要:因项目需要,通常需要将生产库下的部分数据抽取并恢复到测试库上本文主要介绍数据泵导入导出的几种情况以及错误处理案例环境:rhel-server-6.5-x86_64oracle 11.2.0.4.0一、数据泵导出a、按用户导出b、按表导出b1、全表转载 2017-10-11 10:04:22 · 1156 阅读 · 0 评论 -
【Oracle】创建用户配额总是不足的解决问题 quota
在oracle中,正常创建的用户是没有配额限制的,也就是默认的是unlimited on tablespace的,但是在有些时候,没有设置相关的配额,用户总是会报错用户配额严重不足,查看表空间,也有很大的剩余空间,纠结了很久这个问题,今天在读书的时候偶然发现了这样的一句话:“revoke DBA权限可能导致quota unlimited on tablespace的权限丢失,对于revoke原创 2017-11-17 10:50:13 · 3355 阅读 · 0 评论 -
【IMP】IMP导入表的时候,如果表存在怎么办
在imp导入的时候,如果表存在的话,会追加数据在表中,所以如果不想追加在表中的话,需要将想导入的表truncate掉后,在impSQL:truncate table TEST1;imp test/test file=test.dmp tables=test1 ignore=y buffer=40960000这里要添加上ignore=y 否则导入会失败的...原创 2018-05-28 12:37:06 · 17424 阅读 · 0 评论