可否把2007年的数据分离出来,以后要用的时候再导进去?

sherrywang 2008-05-14 04:54:26
初当数据库管理员,现在碰到一个数据备份的问题:
现在部分表的数据已经上亿条了,占用的空间越来越大,所以想把2007年的数据备份出来放到磁带库上,然后把这些数据从当前的运行的数据库中删除,以腾出空间,提高速度.
我做了个测试,是这样处理的:
用pl sql的导出工具把某个表的数据导出,带where条件,比如说where revtime=to_date('2007-12-01','yyyy-mm-dd')
得到的数据文件为a.dmp
导了二份,第二份的where 条件是where revtime=to_date('2007-12-02','yyyy-mm-dd')
得到的数据文件为b.dmp

在另一台电脑上,用imp想把这a.dmp和b.dmp导到数据库中,想验证一下导入后的数据是否是a+b的数据,但是导入的时候出现了错误"imp-00008 导出文件中出现无法识别的语句",在网上搜索了很多信息但是还没能解决.

现在想请教两个问题:
1.按前面的想法,如果导入成功,数据库中是否会是a.dmp和b.dmp的数据之和?
我是担心如果我把2007年数据导出来后在原库上把原始数据删除,万一某天要看这些数据而已导不回来.
2.有没解决过imp-00008的XDJM?


谢谢大家先.
...全文
60 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sherrywang 2008-05-16
  • 打赏
  • 举报
回复
因为数据库非常大,一天大概有近100W条记录,所以即使做历史数据表放在单独的表空间,那这个表空间也需要非常大的磁盘空间,所以如果能按条件备份出来是最好的
SYUEHOKO 2008-05-15
  • 打赏
  • 举报
回复
其实你完全可以不用DMP文件导出来..如果是这样的话..那岂不是每天都要组成一个DMP文件.那文件量可不得了.
思路:
可以先将现在的库的表空间结构导出,不导数据.再新增一个NEW SPACE.将导出的结构导入,然后用SQL将现在的库
的数据(2007年的)移植至NEW SPACE中.另外,可以是两台不一样的电脑.两个ORACLE连接只需建DBLINK即可.
如果你要做成DMP文件.也可以EXP NEW SPACE中的数据保存.
其实,像这种数据备份方法很多,也可以做成即时的.触发器什么的.完全看你想要什么样的结果.
sherrywang 2008-05-15
  • 打赏
  • 举报
回复
希望有人来关注,自己顶下.........
oracle_dba_11 2008-05-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ruihuahan 的回复:]
建议做一个历史数据表,放在一个单独的表空间。
然后对历史数据表或表空间做备份或者导入导出处理。
[/Quote]
ruihuahan 2008-05-15
  • 打赏
  • 举报
回复
建议做一个历史数据表,放在一个单独的表空间。
然后对历史数据表或表空间做备份或者导入导出处理。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧