Oracle数据库分离数据 公司购买的BPM系统在部署的时候,软件商想都没想直接建完数据库后使用SYSTEM表空间,现在随着公司发展,增加开发人员之后很不好管理,考虑要把应用从这个表空间分离出来,软件商没有提供应用的ER设计图,怎么分离这些数据表呢?应用的很多表都不确定,还有约束、索引,导入导出好几次都失败了!没办法,求大神提供技术支持有意向加下微信:gt2390461568 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果应用对象都建在system或者sys等系统用户下,没法确认应用所使用的对象,那么这种分离就会很危险,有一个方法可以先粗略的区分下:查询dba_objects,查看对象的created字段,从而与系统对象区分开来。但如果只是表建错了表空间,建到了SYSTEM表空间上,那么可以使用move操作将表迁移至新的应用专属表空间,当然move之后需要rebuild这些表上的索引。 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 = '你的用户'; oracle 临时变量赋值问题 select 出字段如何把一列字符串合并起来 oracle动态调用的问题 两列属性的比较 将SQL-Server存储过程转换为Oracle的,谢谢大家~~~ oracle进程 如何select出用户表中的字段名或信息? oracle的数据出版 oracle下为什么select * from test where id<>'' 这句话不好用呢 在oracle中在两个整型值之间执行按位逻辑与运算的运算符是什么? 远程数据库链接问题 求教使用SQL查询不包含某字符的语句
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 = '你的用户';