当我们创建一张表时,oracle为我们创建一个段,也就是表相当于段,第一次创建表时,分配一个区给我们使用,区一般是8k大小,每个区有8个块,当存储数据的时候,并不是从头开始存储,因为头部已经被使用了,当一个区被用完时,oracle会再给我们分配另一个区,之后这样循环下去。当我们执行SQL语句的时候,oracle先在buffer_cache中寻找,如果有,就直接调用,否则,会发出I/O请求,这个比较慢,因为涉及到了物理读,我们希望更多的逻辑读,每次I/O读的时候,是将一个块包含进内存中,这样分配是有理由的,节省了时间,同时缓存一份数据,为了下一次的操作。