本文共 3167 字,大约阅读时间需要 10 分钟。
* 应用程序之间的数据分离,防止某个TableSpace脱机后对多个程序造成影响 * 回滚段数据与用户数据分离,防止单磁盘故障造成数据永久丢失 * 可以控制单个TableSpace脱机,提供更高的整体可用性 * 为特定类型数据库使用保留TableSpace,可优化TableSpace的使用 为TableSpace设置合适的参数,下文中详细介绍。 可以有效控制TableSpace的大小,限制用户权限防止发生意外。 Oracle创建的TableSpace默认均是本地管理的,明确的表述应该是: 在CREATE TABLESPACE 语句中 EXTENT MANAGEMENT 子句中指定 LOCAL 然后可以用 AUTOALLOCATE 选项(默认)来使Oracle自动管理盘区 CREATE TABLESPACE lmtbsb DATAFILE '/u02/oracle/data/lmtbsb01.dbf' SIZE 50M EXTENT MANAGEMENT LOCAL AUTOALLOCATE; 也可以使用一个指定大小(UNIFORM SIZE)的同意盘区来管理该TableSpace CREATE TABLESPACE lmtbsb DATAFILE '/u02/oracle/data/lmtbsb01.dbf' SIZE 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K; 如果未指定盘区大小,则默认为1M,说明数据文件至少要大于1MB 注:如果TableSpace被期望用于包含需要不同盘区大小和拥有很多盘区的大小变动的对象,那选择AUTOALLOCATE是最好的选择。AUTOALLOCATE是一种管理TableSpace的简便方法,只是有可能会对一些空间造成浪费。如果需要准确控制未用空间,并能够精确预计为一个或多个对象要非配的空间和盘区大小,那就可以使用UNIFORM。 2、在本地管理TableSpace中指定段空间管理 可使用 SEGMENT SPACE MANAGEMENT子句来设置端控件的管理模式,有以下几种模式: MANUAL(默认):使用段中管理空闲空间的空闲列表。 AUTO:使用位图来管理段中的空闲空间。又称为自动段空间管理。 AUTO立功了一种更加简单、有效的管理方法,完全消除了为表空间中创建的段指定和调整PCTUSED、FREELISTS、FREELISTS GROUPS属性的任何必要。 CREATE TABLESPACE lmtbsb DATAFILE '/u02/oracle/data/lmtbsb01.dbf' SIZE 50M EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; * 不能讲本地管理TableSpace改为本地管理的temp TableSpace * 本地管理TableSpace没有必要合并空闲盘区 * 可以改变TableSpace状态(ONLINE/OFFLINE) * 启用/禁用该TableSpace数据文件的自动盘区大小 DATAFILE '/u02/oracle/data/tbsb01.dbf' SIZE 50M EXTENT MANAGEMENT DICTIONARY 使用ALTER TABLESPACE语句可以进行以下操作: * 可以改变TableSpace状态(ONLINE/OFFLINE) * 启用/禁用该TableSpace数据文件的自动盘区大小 临时表空间主要用于提高多个排序操作的并发能力、减小开销,或避免Oracle空间管理操作在一起进行。临时表空间创建之后,可以被多个用户共享。 一个给定实例和表空间的所有排序操作共享一个单一的排序段。即排序段为一个给定表空间的每个执行排序操作的实例而存在。 排序段由使用临时表空间用于排序的第一个语句创建,并在关闭时释放,一个盘区不能被多个事务共享。 可以使用V$SORT_SEGMENT视图来查看临时表空间排序段的空间分配和回收情况 用V$SORT_USAGE视图查看这些段的当前排序用户 CREATE TEMPORARY TABLESPACE lmtemp TEMPFILE '/u02/oracle/data/lmtemp01.dbf' SIZE 20M REUSE EXTENT MANAGEMENT LOCAL UNIFORM SIZE 16M; 注1:临时数据文件信息查询与数据文件不同,需要查询V$TEMPFILE和DBA_TEMP_FILES,但结构与V$DATAFILE和DBA_DATA_FILES类似。 注2:临时表空间在初次使用时才分配空间,可以更快创建和修改大小,但要注意磁盘大小。 ALTER TABLESPACE lmtemp ADD TEMPFILE '/u02/oracle/data/lmtemp02.dbf' SIZE 20M REUSE; ALTER DATABASE TEMPFILE '/u02/oracle/data/lmtemp02.dbf' ONLINE|OFFLINE; ALTER DATABASE TEMPFILE '/u02/oracle/data/lmtemp02.dbf' RESIZE 4M; ALTER DATABASE TEMPFILE '/u02/oracle/data/lmtemp02.dbf' DROP DATAFILE '/u02/oracle/data/sort01.dbf' SIZE 50M EXTENT MANAGEMENT DICTIONARY 注1:不能以这种方式创建EXTENT MANAGEMENT LOCAL的临时表空间。 注2:可以使用ALTER TABLESPACE tbsa TEMPORARY;语句将一个现有的字典管理永久表空间改为临时表空间。 转载地址:http://ehswn.baihongyu.com/