Oracle数据库分离数据

倾城太守 2017-09-22 10:37:54
公司购买的BPM系统在部署的时候,软件商想都没想直接建完数据库后使用SYSTEM表空间,现在随着公司发展,增加开发人员之后很不好管理,考虑要把应用从这个表空间分离出来,软件商没有提供应用的ER设计图,怎么分离这些数据表呢?应用的很多表都不确定,还有约束、索引,导入导出好几次都失败了!没办法,求大神提供技术支持。。。有意向加下微信:gt2390461568
...全文
305 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jdsnhan 2017-09-25
  • 打赏
  • 举报
回复
1、建立新的表空间,建立新的用户,使用导出导入的方法 2、使用语句逐个迁移,表使用move tablespace,索引使用rebuild
如: select 'alter table ' ||table_name || ' move tablespace newtablespace;' from user_all_tables where tablespace_name='SYSTEM' and owner='你的用户';
select 'alter index ' || index_name || ' rebuild tablespace newtablespace;' from user_indexes
 WHERE index_type = 'NORMAL'
   AND table_owner = '你的用户';
碧水幽幽泉 2017-09-23
  • 打赏
  • 举报
回复
引用 4 楼 xifenfei 的回复:
这种应该问题不大,一般来说,可以考虑使用逻辑的数据迁移的方法,当然具体要看你那边的实际情况,如果需要支持联系我们
大神好久不见,终于冒泡了。
江南小鱼 2017-09-22
  • 打赏
  • 举报
回复
这种不适合导出导入了,可以先把表、序列、触发器、函数、过程等等,生成脚本出来 在新用户下同步的执行脚本,先弄一个空库出来,然后做数据迁移
minsic78 2017-09-22
  • 打赏
  • 举报
回复
如果应用对象都建在system或者sys等系统用户下,没法确认应用所使用的对象,那么这种分离就会很危险,有一个方法可以先粗略的区分下:查询dba_objects,查看对象的created字段,从而与系统对象区分开来。 但如果只是表建错了表空间,建到了SYSTEM表空间上,那么可以使用move操作将表迁移至新的应用专属表空间,当然move之后需要rebuild这些表上的索引。
惜分飞 2017-09-22
  • 打赏
  • 举报
回复
这种应该问题不大,一般来说,可以考虑使用逻辑的数据迁移的方法,当然具体要看你那边的实际情况,如果需要支持联系我们
碧水幽幽泉 2017-09-22
  • 打赏
  • 举报
回复
新建表空间,然后再迁移数据。

17,090

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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