当一个数据库建立好后,就有表空间如:system表空间,users表空间,回滚表空间,RBS表空间等等
但系统管理员还去自己建立一些表空间, 建立这些表空间的必要性是什么呢?它具体的作用是什么呢?  还有当创建用户时,要给该用户分配表空间和分配定额(quota),分配定额具体的意义是什么呢?在该用户下分配这些定额需要给那些表空间依次分配呢?  分数很少,问题很多. 我啥也不说了.谢谢噢!

解决方案 »

  1.   

    数据库中我们建立的一个个对象如同我们现实生活中的物品
    表空间如同房子,数据文件就是地盘,而表、视图等对象就是房子中的物品。
    一个表空间可以占用一块地盘,也可以占用多块地盘。
    表空间的设计并非物理逻辑,其必要性在于更方便的管理,我们不可能把所有的东西乱七八糟的堆在一块,这就需要一个个独立的房子,表空间可以自己单独管理,也可以由字典表来统一管理。创建用户时需要指定默认的表空间,这样该用户所创建的对象才能默认放进这个房子(表空间)中,如果多个用户共用一个房子,我们就需要指定每个用户所占用空间的上限,不能一个用户把所有地方都占了,别的人的东西往哪放呀?这就需要指定用户的限额。
    =====================================================================
    Oracle基础知识
    =====================================================================    一个表空间只能属于一个数据库   每个数据库最少有一个控制文件(建议3个,分别放在不同的磁盘上)   每个数据库最少有一个表空间(SYSTEM表空间)   建立SYSTEM表空间的目的是尽量将目的相同的表存放在一起,以提高使用效率,只应存放数据字典   每个数据库最少有两个联机日志组,每组最少一个联机日志文件   一个数据文件只能属于一个表空间   一个数据文件一旦被加入到一个表空间中,就不能再从这个表空间中移走,也不能再加入到其他表空间中   建立新的表空间需要建立新的数据文件   数据文件被ORACLE格式化为ORACLE块,Oracle9i以前版本中,ORACLE块的大小是在第一次创建数据库时设定的,   并且以后不能改变,要想改变,只能重建数据库   一个段segment只能属于一个表空间,但可以属于多个数据文件   一个区extent只能属于一个数据文件,即区间(extent)不能跨越数据文件   PCTFREE和PCTUSED总和不能大于等于100   单独一个事务不能跨越多个回滚段   索引表不含ROWID值   拥有不同大小的回滚段没有任何益处   COMMIT后,数据不一定立即写盘(数据文件)   一个事务即使不被提交,也会被写入到重做日志中。   Oracle 8.0.4中,在初始安装时建立的缺省数据库,实例名为ORCL   一个块的最大长度为16KB(有2K、4K、8K、16K)
      每个数据库最大文件数(按块大小)
      2K块        20000个文件
      4K块        40000个文件
      8K块或以上     65536个文件
      oracle server可以同时启动多个数据库   一套操作系统上可以安装多个版本的ORACLE数据库系统(UNIX可以,NT不可以)   一套ORACLE数据库系统中可以有多个ORACLE数据库及其相对应的实例   每个ORACLE数据库拥有一个数据库实例(INSTANCE)(OPS除外)   所以,一套操作系统上同时可以有多个oracle数据库实例启动
      

  2.   

    创建用户时需要指定默认的表空间,而这个默认的表空间是否可为该用户指定多个?是否一个用户即可同时指定在users表空间,temporory表空间,system表空间等等,这些有限制吗?