以前的数据库使用的SQL server2000,为了方便,将整个数据库分成了几个小库,每个库中有一组或几组表。现在数据库改用Oracle9i,我想保持原有数据库的结构不变,仍然分成几个小库来存。请问:在Oracle里面建立多个数据库,将来实现跨库查询会不会影响效率呢?或者有没有什么更好的办法?谢谢

解决方案 »

  1.   

    Oracle 中多个数据库会有多个实例
    那样会产生资源竞争
    推荐建立多个schema和user而不是多个库
      

  2.   

    sqlserver中的数据库,对应于oracle的user
      

  3.   

    SQLSERVER和oracle的机制不一样的,SQLSERVER中将系统相关的信息存储在几个固定的数据库内,比如master,model,msdb等,用户数据库的元数据信息均在这些系统数据库内,所以从一定意义上讲,在SQLSERVER中建立的用户库不能独立工作,他们依赖于那几个系统数据库.而在oracle内不是这样的,一个数据库内包括全部的系统的和用户的信息,并不依赖于外部的数据库,在当前的数据库内你可以通过数据字典这样的东东查到你想要的许多信息,这些系统的信息都存在于system表空间内.所以建议楼主先搞清楚这两种数据库的区别再进行数据转换,没必要在oracle里建立多个数据库,开销会比较大的.