ORACLE9i默认有那么多个方案和用户,我开发程序的一些表到底是要建立在哪个方案下在呀,还有那么多个用户,开发程序时,都用哪个用户连接更好呀,还是说要自己新建一个专门连接程序的用户?在建空间表时,要指定文件大小,以后如实际空间已达到所建表空间大小时,里面的表就不能写记录了,那我们在开发程序时又怎么能懂得表要建多大合适呢?能不能把它的空间最大值设成自动增大,以后有多少记录它就可以自动增大多少.这样就不会因空间超过最大值而被限制不能用了.另再问一下,ORACLE每建一个数据库.默认就要开销1G多的空间,如于同台机如有多个不同系统程序,要用不同数据库的话,是不是要为各自的系统程序分别建一个库?还是说每个系统共享一个数,然后各个系统程序的表放在自己的方案下就可以?还有就是两个不同的库.他们的用户或方案名相同的话,会不会相互影响?我知道SQLSERVER是不同的数据库可以共享同样的用户名,但ORACLE好象不是这样,每个数据库中的用户不能共享的.

解决方案 »

  1.   

    数据库下有若干实例(instances),一个实例下有若干方案或模式(schema)
    一个方案下有若干表、视图等数据库对象。用户是用来访问其有权限的方案或表的。
    自己开发最好首先建立自己的表空间,一般小型应用500Mb足够了,或者你可以设置1Gb
    然后建立自己的方案,表就放在自己的方案下,而不用系统提供的那些方案。
    默认建立的方案会放在SYSTEM表空间,不推荐这么做,最好使用alter user ... 
    default tablespace ...语句来指定默认表空间。两个实例间的访问必须建立数据库链接来进行,两个方案间的访问要方便的多
    只需要 <方案名.表名>即可。当然你首先要授予访问权限。
      

  2.   


    create table tablename(id number) tablespace users
      

  3.   

    对于上面的:"个实例间的访问必须建立数据库链接来进行,两个方案间的访问要方便的多
    只需要 <方案名.表名>即可。当然你首先要授予访问权限"
    我的意思是说,如在同一台机上我有两个互相不相干的系统,如一个是人事档案系统,一个是销售系统.这是两个没有关系的程序,但他们都要用ORACLE,这是我们是要为他们各自建不同名和数据库名还是说只要一个数据库名,而把他们的数据表各自放在同一数所库存的不同的方案下面?说白一点的意思,就是说,当我们建了一个用DBCA新建了一个数据库,那么这个数据库是只能针对一套系统程序还是说它可以针对很多套系统程序,只是每个系统程序的表放在不同方案就可以了?