当一个数据库建立好后,就有表空间如:system表空间,users表空间,回滚表空间,RBS表空间等等
但系统管理员还去自己建立一些表空间, 建立这些表空间的必要性是什么呢?它具体的作用是什么呢? 还有当创建用户时,要给该用户分配表空间和分配定额(quota),分配定额具体的意义是什么呢?在该用户下分配这些定额需要给那些表空间依次分配呢? 分数很少,问题很多. 我啥也不说了.谢谢噢!
但系统管理员还去自己建立一些表空间, 建立这些表空间的必要性是什么呢?它具体的作用是什么呢? 还有当创建用户时,要给该用户分配表空间和分配定额(quota),分配定额具体的意义是什么呢?在该用户下分配这些定额需要给那些表空间依次分配呢? 分数很少,问题很多. 我啥也不说了.谢谢噢!
解决方案 »
- 古怪的pl/sql里面的存储过程问题
- oracle常用优化SQL
- 请教 PL/SQL ORA-01461 仅可以为插入LONG列的LONG值赋值
- linux下用oci连接oracle数据库编译出现undefined reference to `OCIInitialize'是什么意思?高手请进。
- 我用normal用户登录oracle,能否将远程计算机上数据库备份到我的本地电脑
- 存储过程怎样从参数传入表名??
- 查询某一字段最小、最大的记录
- 我的版本为Oracle8.1.7,在PL-SQL中写存储过程出问题?
- 谁有linux下oracle8i使用教程,谢谢!
- dbms_output使用问题
- OMS难道只是小孩的玩具?
- ora92如何性能调优?
表空间如同房子,数据文件就是地盘,而表、视图等对象就是房子中的物品。
一个表空间可以占用一块地盘,也可以占用多块地盘。
表空间的设计并非物理逻辑,其必要性在于更方便的管理,我们不可能把所有的东西乱七八糟的堆在一块,这就需要一个个独立的房子,表空间可以自己单独管理,也可以由字典表来统一管理。创建用户时需要指定默认的表空间,这样该用户所创建的对象才能默认放进这个房子(表空间)中,如果多个用户共用一个房子,我们就需要指定每个用户所占用空间的上限,不能一个用户把所有地方都占了,别的人的东西往哪放呀?这就需要指定用户的限额。
=====================================================================
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数据库实例启动