FREELISTS和FREELIST-GROUPS参数是段的存储参数。
数据库在INSERT,UPDATE操作时都需要请求空闲的数据块,由于不可能每次操作时都去每个数据块查询一下看看有没有空闲的块(如果这样那效率太低了)。为了解决这个问题,ORACLE的在每个段的段头有一个空闲数据块指针链表的结构,这个就称为FREELISTS,FREELISTS列表代表链表的长度。表面上看像解决了问题,但在高并发对一个表的插入或更新时,一个空闲链表往往会出现等待的现象,所以为了提高性能,又增加了多个空闲链表的处理,也就是FREELIST-GROUPS,也就说段有多少个空闲链表是FREELIST-GROUPS参数决定。
在ORACLE9.2以前,对于一些高并发的表需要检查FREELISTS和FREELIST-GROUPS参数是否满足应用的要求。从ORACLE9.2新增加了ASSM(表空间段自动管理)的新特性,有了ASSM,链接列表FREELISTS被位图结构所取代,所以也根本不需要指定什么FREELISTS和FREELIST-GROUPS参数了,一个段里哪些数据块是空闲的,那些是可以再使用的,在这个位图里全部可以取到,并且全部是由ORACLE自动管理。
通过测试与实践,采用自动段管理的表,在并发处理性能上表现非常好,所以基本上现在的表都采用段自动管理了,因此FREELISTS和FREELIST-GROUPS参数也就成为过去。
分享到:
相关推荐
在Oracle数据库管理中,存储参数(Storage Parameters)的设置对数据段的空间管理和性能优化具有至关重要的作用。通过调整这些参数,可以有效地控制表空间中数据段的扩展方式、大小以及碎片化程度,从而提高数据库的...
- **`FREELISTS`** 和 **`freelist_groups`**:分别表示自由链的数量和自由链组的数量。 - **`LOGGING`**:表示是否启用日志记录。 - **`BUF`**:表示缓冲区大小。 以上SQL语句涵盖了Oracle数据库日常维护中的许多...
### Oracle 常用SQL查询知识点详解 #### 1. 查看表空间的名称及大小 ```sql select t.tablespace_...通过以上Oracle常用SQL查询的知识点详解,我们可以更好地管理和监控Oracle数据库,从而提高系统的稳定性和性能。
Oracle数据库是世界上最流行的数据库管理系统之一,常用于存储和管理企业级的数据。在Oracle中,创建数据表是构建数据库结构的基础。这里我们详细讨论一下“Oracle emp, dept, salgrade”建表语句及其相关知识点。 ...
- `FREELIST_GROUPS`: 在此段中分配的自由列表组数。 ##### 2.6 日志与备份相关字段 - **表名**:多个表共同涉及 - **描述**:记录表的日志属性和备份状态。 - **主要字段**: - `LOGGING`: 日志记录属性。 - `...
### Oracle中的经典SQL查询知识点详解 #### 一、查看表空间的名称及大小 此查询用于获取Oracle数据库中各个表空间的名称及其总大小(单位为MB)。 **SQL语句**: ```sql SELECT T.TABLESPACE_NAME, ROUND(SUM(BYTES...
本文总结了十个常用的 Oracle 查询语句,涵盖了查看表空间、回滚段、控制文件、日志文件、表空间使用情况、数据库对象、数据库版本、数据库创建日期、归档方式、长时间运行的 SQL 语句和数据表参数信息等多个方面。...
freelist_groups, LOGGING, BUFFER_POOL, num_rows, blocks, empty_blocks, avg_space, chain_cnt, avg_row_len, sample_size, last_analyzed FROM dba_tab_partitions -- WHERE table_name = :tname AND...
根据提供的文件信息,我们可以归纳出一系列与Oracle数据库维护相关的SQL查询语句,这些语句主要用于监控和管理Oracle数据库系统的各个方面。接下来将详细解释每个查询语句的功能及其应用场景。 ### 1. 查询Oracle...
1. **手工段空间管理(Manual Segment Space Management,MSSM)**:在这个模式下,DBA需要设置参数如`FREELISTS`、`FREELIST GROUPS`、`PCTUSED`、`PCTFREE`和`INITRANS`来控制段空间的分配和使用。`FREELISTS`是一...
freelist_groups, LOGGING, BUFFER_POOL, num_rows, blocks, empty_blocks, avg_space, chain_cnt, avg_row_len, sample_size, last_analyzed FROM dba_tab_partitions -- WHERE table_name = :tname AND table_...
Oracle数据库是世界上最流行的数据库管理系统之一,用于存储和管理大量结构化数据。对于DBA(数据库管理员)来说,定期维护数据库是确保系统稳定性和性能的关键任务。以下是一些Oracle数据库维护中常用的SQL语句,...
- 分配多个Freelist列表:对于并发插入操作频繁的表,使用`ALTER TABLE`语句增加freelists,减少表段头的热块问题。 - SQL优化:通过改进查询语句,减少全表扫描,利用索引,避免笛卡尔积等来提升SQL执行效率。 ...
MSSM需要手动管理空间,包括pctused、freelists和freelist groups等参数。ASSM自9i版本引入,10g后成为默认设置,它废弃了pctused,但保留了pctfree,并通过自动管理空闲空间来提高性能。 在Oracle中,数据块...
以上这些查询是Oracle系统管理中最常用的SQL语句之一,涵盖了从基本的表空间管理和监控到更高级的数据库性能调优等多个方面。掌握这些查询将大大提高数据库管理员的工作效率,并有助于维护数据库的稳定性和性能。