1.在数据库中建立A,B两个表空间
2.建立U1用户默认表空间是A
3.用SQLSERVER的DTS导出表1,检查在表空间A中有此表
4.修改用户U1的默认空间为B
5.同样用DAS导出表1,以为会在表空间B中建立表1,其实没有
问题是我必须在A,B两个表空间中建立相同结构的表1,名称也相同,怎么办?
另问我移去用户U1时,所导出的表一起删除了,是不是每个表都与用户关联?

解决方案 »

  1.   

    我也一样,刚开始学Oracle。呵呵
      

  2.   

    同一用户可以有多个表空间   表空间--用来装表的空间 我的解释
    oracle 以用户为单位,表与用户关联,故每个用户只可以有1个相同名称的表
      

  3.   

    MrPMP(新用户注册) :谢谢!真的是这么回事,从您这儿得到了肯定,但麻烦的是我的项目是让用户可以建立数据库(sqlserver),那么对应到ORACLE是建立表空间的,比如将数据资料按年度存放,可以想象每个年度的数据库(ORACLE中是表空间)中的表名称肯定一样,按照ORACLE的做法是不是每个年度对应的表空间都要相应的建立一个用户,设想如果跨年度查询显示记录,那么要涉及到多个年度的表空间和多个用户,这太麻烦了,每个用户肯定还要设置它的口令,请问是这个理吗?有没有好的办法.
      

  4.   

    这里是.NET高级群,在内的都是有一定水平的成员,请大家一起来探讨!   3945892
      

  5.   

    jimmyjudy(陈存) :不好意思,没有弄懂您的意思,3945892 是什么?
      

  6.   

    MrPMP(新用户注册):我只是拿年度做个列子,事实上我的项目必须以多个表空间加以区分,正如您所说的数据量比较大的时候
      

  7.   

    to jsxd () :
    首先你要弄清楚 用户、表、表空间的真正含义1、在Oracle中,表是建立在用户下面的,删除用户时,表也一起删除;
    2、表空间是用于指定表的存放位置,是一个物理概念,用户与表是逻辑概念。从你的业务需求来看,以表空间的方式来存放年度数据是不恰当的,解决方式有很多:
    1、按不同的年度建表;
    2、扩展当前的表结构,添加年度标记;
    3、以不同的Oracle数据库来区分不同的年度。