我有一个数据库,我创建了一个用户test,创建的时候选择的是user表空间。我现在想把它移动另外一个表空间中,我应该如何操作。
我分析是不是下面的步骤就可以实现:
1,备份test用户下面的所有对象
2,新建一个表空间 ttt
3, 创建一个使用ttt表空间的新用户
4,然后把test对象还原到这个新用户下面请教大家

解决方案 »

  1.   

    改变表的表空间用
    alter table .. move tablespace
    然后重建索引
    用户和表空间没有关系吧
      

  2.   

    帮lz搜索了一下,看看对你是否有帮助
    http://www.itpub.net/thread-266796-1-1.html
      

  3.   


    test是个用户?还是一个schema里的对象?如果是一个schema的对象,是table的就可以用2楼的方法,如果是procedure,function,package的话,重新create就可以了。
    但是如果你这里的是test用户,而不是单一的一个对象的话,要把表空间转义,目前还没有比较好的直接的方法,可以用imp/exp 来转移表空间了,如果是10g的话用expdp/impdp 来做就更方便了详细可以查看这几个命令的手册。或者在csdn里查询一下,以前有关于imp/exp 这些的介绍了
    ==================================================================
    Inthirties关注Oracle数据库 维护 优化,安全,备份,恢复,迁移,故障处理如果你需要帮助或想和我一起学习的请联系
    联系方式QQ:370140387
    QQ群:  85837884(注明:数据库)
    电子邮件:[email protected]
    网站: http://www.inthirties.com