30.Because of the better performance and greater ease of management of locally managed
tablespaces, the default for non-SYSTEM permanent tablespaces is locally managed
whenever the type of extent management is not explicitly specified
(缺省下,在没有明确指定extent的管理方法时,非SYSTEM的永久表空间都创建为本地管理表空间。)
A database administrator (DBA) can deallocate unused extents using the
following SQL syntax:
ALTER TABLE table_name DEALLOCATE UNUSED;
(DBA可以使用以下的命令回收没有使用的extents:)
When extents are freed, Oracle modifies the bitmap in the datafile (for locally
managed tablespaces) or updates the data dictionary (for dictionary managed
tablespaces) to reflect the regained extents as available space. Any data in the blocks
of freed extents becomes inaccessible.
(当分区被回收后,如果表空间是本地管理的表空间则数据库就更新数据文件的bitmap,如果表空间是字典管理的则更新
数据字典从而表明回收的空间为可用的。而原来的刚刚被释放的分区里的数据将变得不可用。)
In dictionary managed tablespaces, when a segment requires an extent larger than
the available extents, Oracle identifies and combines contiguous reclaimed extents
to form a larger one. This is called coalescing extents. Coalescing extents is not
necessary in locally managed tablespaces, because all contiguous free space is
available for allocation to a new extent regardless of whether it was reclaimed from
one or more extents.
(在字典管理的表空间中,当一个段所需的分区大于它可用的分区时,oracle会组合那些回收的分区成一个大的分区,这叫
分区组合。而在本地管理的表空间中分区组合是无必要的,因为所有的相邻的空闲空间可以直接分配给一个新的分区)
Clustered tables store information in the data segment created for the cluster.
Therefore, if you drop one table in a cluster, the data segment remains for the other
tables in the cluster, and no extents are deallocated. You can also truncate clusters
(except for hash clusters) to free extents.
(如果你drop了cluster里的一个table,这个cluster的data segment也会为cluster里的其他的table保留这部分空间,
没有任何extents会被回收。但是我们可以通过truncate clusters来释放cluster里的所有extents(hash clusters除外)。)
Multiple sorts, however, can use sort segments in a temporary tablespace
designated exclusively for sorts. These sort segments are allocated only once for the
instance, and they are not returned after the sort, but remain available for other
multiple sorts.
(多重的排序语句,临时表空间会为它设计一个排序段来执行排序。这些排序段只给这些例程分配一次,执行完排序后这个段不
会回收,而是为其他的多重排序保持可用)
31.Segments
Operations that Require Temporary Segments
The following statements sometimes require the use of a temporary segment:(用到临时段的语句)
CREATE INDEX SELECT ... ORDER BY SELECT DISTINCT ... SELECT ... GROUP BY
SELECT ... UNION SELECT ... INTERSECT SELECT ... MINUS
Some unindexed joins and correlated subqueries can require use of a temporary
segment. For example, if a query contains a DISTINCT clause, a GROUP BY, and an
ORDER BY, Oracle can require as many as two temporary segments. If applications
often issue statements in the previous list, the database administrator can improve
performance by adjusting the initialization parameter SORT_AREA_SIZE.
(如果应用经常发布以前执行的语句的话,那么DBA可以通过调整SORT_AREA_SIZE这个初始化参数来提高性能)
阅读(2283) | 评论(0) | 转发(0) |