系统表空间(System)
该表空间包含的数据文件称为系统数据文件。
该存放系统表和数据字典,一般不放用户的数据,但是用户脚本,如过程,函数,包等
却是保存在数据字典中的。
数据字典是一些系统表或视图,他存放系统的信息,他包括数据库版本,数据文件信息,表与索引等段信息,系统的运行状态等各种和系统有关的信息和用户脚本信息。数据库管理员可以通过对数据字典的查询,就可以了解到 Oracle 的运行状态。
www.ixdba.net
查看数据数据字典的 SQL
select * from dict
查看内部系统表的 SQL
select * from v$fixed_view_definition
DBA 对系统的系统表中的数据字典必须有一个很深刻的了解,他们必须准备一些基础的 SQL 语句,通过这些 SQL 可以立即了解系统的状况和数据库的状态,这些基本的 SQL
包括
・系统的剩余空间
・系统的 SGA
・状态系统的等待
・用户的权限
・当前的用户锁
・缓冲区的使用状况等
在成为 DBA 的道路上我们不建议你过分的依赖于 OEM/Quest 等优秀的数据库管理工
具,因为他们不利于你对数据数据字典的理解,SQL 语句可以完成几乎全部的数据库管理
工作。
大量的读少量的写是该表空间的一个显著的特点。
临时表空间(Temporary)
该表空间包含的数据文件称为临时数据文件
主要存放用户的排序等临时数据,因为没有办法在一个永久表空间上开辟临时段,所以
就必须有一个临时表空间,主要用于不能在内存上进行的排序操作。我们必须为用户指定一
个临时表空间。
临时段占有的空间会在下次系统启动的时候全部被释放。
回滚段表空间(Rollback)
如果数据库进行对数据的修改,那么就必须使用回滚段,回滚段是用来临时存放修改前
的数据(UNDO)。回滚段通常都放在一个单独的表空间上(回滚表空间),避免表空间碎片
化,这个表空间包含的数据文件就是回滚数据文件。
回滚段在系统中的作用
当数据库进行更新插入删除等操作的时候,新的数据被更新到原来的数据文件,而旧的
数据(Before Image)就被放到回滚段中,如果数据需要回滚,那么可以从回滚段将数据再复
制到数据文件中。来完成数据的回滚。在系统恢复的时候, 回滚段可以用来回滚没有被
commit 的数据,解决系统的一直性读。
回滚段在一般情况下都是大量的写,少量读,因此建议把回滚段单独出来放在一个单独
的设备(如单独的磁盘或 RAID),以减少磁盘的 IO 争用。
回滚段的工作方式
・一个回滚表空间可以被划分成多个回滚段.
・一个回滚段可以保存多个会话的数据.
・回滚段是一个圆形的数据模型
假设回滚段由 4 个区间组成,他们的使用顺序就是区间 1区间 2区间 3区间 4
区间 1。也就是说,区间是可以循环使用的,当区间 4 到区间 1 的时候,区间 1 里面的会话还没有结束, 区间 4 用完后就不能再用区间 1,这时系统必须分配区间 5,来继续为其他会话