我在oracle数据库中一直使用system表空间,现在要求我们换个表空间,请问应该如何才能将我的用户dbms_cq和它下面的所有对象都移动到新表空间tablespace_cq下?
最好有个示例或者示例的链接也好啊,摆脱大家了!
最好有个示例或者示例的链接也好啊,摆脱大家了!
解决方案 »
- 【请教】每个视图是否都有基本表? 如果知道视图如何找到基本表?
- Oracle安装遇到的问题
- Oracle 8.15 报错
- 控制台和批处理调用sqlldr的区别?
- UNION ALL語句中關於字段的問題, 請大家來看看
- 请教大侠,我的PLSQLDevloper 打开不用,过了没多久,再点击就死掉,然后弹出 【通信管道文件已结束的提示】框。请问什么原因谢谢
- 关于Oracle大数据量查询的问题,高手请进... .......................
- 关于Oracle表与视图依赖的关系
- 银行卡号正则表达式
- WINDOWS 2008 搭建ORACLE 时报错,-配置网络基础结构配置失败-插件的执行方法失败
- 为什么数据库的汉字拷出来是乱码?
- 3.求一条sql语句
exp 导出当前用户的表,imp 导入这些表到新用户下。
用alter table dbms_cq.xxx_table move tablespace tablespace_cq来解决
另外,表空间不同了怎么导阿?
move tablespace <tablespace_name>注: 改变位置后 要重建索引
alter index <index_name> rebuild ; ok 祝你好运
insert into user2.table_name select * from user2.table_name
数据多的话:
把数据通过exp导出成dmp文件,然后收回user2用户的unlimited tablespace权限,再倒入数据即可
(1)alter user dbms_cq default tablespace tablespace_cq quota unlimited on tablespace_cq;(2)expdp schemas=dbms_cq:从system表空间中导出DBMS_CQ模式的所有数据.(3)impdp schemas=dbms_cq:从导出文件中导入数据到DBMS_CQ模式.因为第一步已经将DBMS_CQ用户默认表空间改为tablespace_cq,所以,现在执行导入时,也就是将数据都导入到了指定的表空间中.
个人感觉还是使用move稳妥,虽然比较麻烦。
如果你要用IMPDP将源表空间中的内容导入到新的表空间,可以使用子句REMAP_TABLESPACE=SOURCE_TABLESPACE:TARGET_TABLESPACE子句就可以了,我试过了,并导入成功