社区
Oracle 高级技术
帖子详情
100分求一条数据导出语句
heliangtai
2009-11-13 10:26:25
现在这个数据库的数据非常多,全部导出有100G之大;而我现在只需要导出部分数据(08-09年所有表产生的新数据)。
08年以前的数据没有备份。
...全文
226
24
打赏
收藏
100分求一条数据导出语句
现在这个数据库的数据非常多,全部导出有100G之大;而我现在只需要导出部分数据(08-09年所有表产生的新数据)。 08年以前的数据没有备份。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
24 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kbzl251
2009-11-30
打赏
举报
回复
关注中..
yonghengdizhen
2009-11-26
打赏
举报
回复
如果有合适的分区管理,用交换表分区是最快的方法
cuizg
2009-11-26
打赏
举报
回复
如果原来没有做分区表管理的话,可以根据筛选条件建分区表,将业务数据移入分区表,然后对分区表执行导出操作,这样速度会快一些,而且便于今后的管理
duanzhi1984
2009-11-14
打赏
举报
回复
应该不可以,除非你一个一个的导到相同的数据结构种。
以前我们公司就是这样移数据的
sjm5210
2009-11-14
打赏
举报
回复
好像不可以,我们以前都是建库时为年表或月表,到时只需要备几个表就可以。
KingSunSha
2009-11-14
打赏
举报
回复
绝大多数数据库系统中记录都是相关联的,也就是说绝大多数情况下08-09年所有表产生的新数据是不能完整表达业务逻辑的。比如销售系统中,08/09产生的销售记录很可能是针对04/05年就产生的客户,或者06/07能就开始销售的产品,只导出08/09年的记录往往是不能用于完整的测试方案的。
这种情况下的部分数据导出只能是根据业务逻辑,找一个起始表,导出其中08/09年的数据,然后用代码搜索所有相关数据,放入临时表中,最后导出。
sxq129601
2009-11-14
打赏
举报
回复
路过观察
shiyiwan
2009-11-13
打赏
举报
回复
导出数据做什么用的?
试试AUL吧
http://www.anysql.net/
zhangwonderful
2009-11-13
打赏
举报
回复
首先建立一个1.txt文件:
tables=employee
file=f:exp.dmp
query="where birthday>= to_date('1980-12-18','yyyy-mm-dd')"
然后:
exp user/password@sid parfile=1.txt
binglingxiaolingling
2009-11-13
打赏
举报
回复
利用select语句进行将08~09的数据查出来放到临时表中,然后mysqldump命令导出临时表就ok
cosio
2009-11-13
打赏
举报
回复
[Quote=引用 6 楼 inthirties 的回复:]
引用楼主 heliangtai 的回复:
现在这个数据库的数据非常多,全部导出有100G之大;而我现在只需要导出部分数据(08-09年所有表产生的新数据)。
08年以前的数据没有备份。
有没有可以通过query找到这些记录的,如果可以的话 exp可以用query过滤的。
[/Quote]
如果表很多,字段也不一样,这样子也挺麻烦的!
inthirties
2009-11-13
打赏
举报
回复
[Quote=引用楼主 heliangtai 的回复:]
现在这个数据库的数据非常多,全部导出有100G之大;而我现在只需要导出部分数据(08-09年所有表产生的新数据)。
08年以前的数据没有备份。
[/Quote]
有没有可以通过query找到这些记录的,如果可以的话 exp可以用query过滤的。
cosio
2009-11-13
打赏
举报
回复
先建一个实例,把现在的数据导出,在导入到新建的实例,然后在这个实例中遍历表,一个一个来删除!
oldmeng
2009-11-13
打赏
举报
回复
先创建辅助表,把要导出的数据都选出来,另存在辅助表里,再把辅助表导出来。
这个办法非常麻烦,但是也能解决你的问题。
也期待更高高手来给解决。
Adebayor
2009-11-13
打赏
举报
回复
关注ing
lengyunfei006
2009-11-13
打赏
举报
回复
貌似没辙啊,mark here!
cosio
2009-11-13
打赏
举报
回复
这个好像没有好的解决办法!
heliangtai
2009-11-13
打赏
举报
回复
[Quote=引用 9 楼 zhangwonderful 的回复:]
首先建立一个1.txt文件:
tables=employee
file=f:exp.dmp
query="where birthday>= to_date('1980-12-18','yyyy-mm-dd')"
然后:
exp user/password@sid parfile=1.txt
[/Quote]
似乎没用
heliangtai
2009-11-13
打赏
举报
回复
[Quote=引用 5 楼 cosio 的回复:]
先建一个实例,把现在的数据导出,在导入到新建的实例,然后在这个实例中遍历表,一个一个来删除!
[/Quote]
这样还不是全部导出,有这个功夫我就不用在这儿来问了,呵呵。另外oracle版本是9i
heliangtai
2009-11-13
打赏
举报
回复
[Quote=引用 14 楼 georgesun 的回复:]
如果你是归档日志,而且还有08-09年的归档日志存在,也许有希望。
个人认为08-09年所有表产生的新数据,好像没见过要这样的业务数据,如果需要,应该从系统设计上保留所有历史。
[/Quote]
需求是这样的,数据库是征管系统数据库,我们现在需要一些最新的数据用来测试系统,要求用最新的真正数据测蔗,而不需要所有的数据。
因此才需要这样的导
加载更多回复(4)
MSSQL表
数据
导出
成Insert
语句
的工具
可以将各种
数据
库中的
数据
用
一条
sql
语句
体现出来,开发时使用方便实用
从SQLSERVER
数据
库中
导出
记录生成insert into
语句
从SQLSERVER
数据
库中
导出
记录生成insert into
语句
c#编写的oracle
导出
到excel
c#全部源码,用到了aspose插件。 能将查询
导出
到excel。 能一次
导出
多条查询
语句
,
语句
需要用";"分割。 自动判断
数据
条数分页,每页65535条。 自动判断
导出
文件大小,若单文件大于
100
MB,则分文件
导出
MySQL
导出
一条
数据
的插入
语句
MySQL
导出
一条
数据
的插入
语句
的方法。
DateGrip
导出
某
一条
数据
的insert或update的Sql
语句
DateGrip
导出
某
一条
数据
的insert或update的Sql
语句
Oracle 高级技术
3,497
社区成员
18,709
社区内容
发帖
与我相关
我的任务
Oracle 高级技术
Oracle 高级技术相关讨论专区
复制链接
扫一扫
分享
社区描述
Oracle 高级技术相关讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章