电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

ORA-12913: 错误解析及处理心得


发布日期:2023/3/20
 

事先声明因为工作变动偶有整一年没有摸过ORACLE了呵呵

昨天晚上装完ORACLE后准备创建属于自己的表空间的时候出现了ORA: 无法创建字典管理的表空前 当然了故障排除很简单找到文档看一眼就排除了 但既然在ORACLEI之后系统缺省安装时为本地管理表空间(Local Managed Tablespace)LMT好处多多

偶在翻阅各类文档时找到一个清华师兄Lunar写的文章

现部分摘录如下

本地管理的表空间比字典式管理的表空间有如下优点

本地管理避免了循环空间管理操作而这种操作在字典式管理表空间中可能发生(当消耗或释放某个区的空间导致另一个消耗或释放回退段或数据字典表内空间的操作)

因为本地管理的表空间不记录数据字典表中的空闲空间从而减少了对这些表的争用

区的本地管理自动跟蹤邻近的空闲空间因而无须合并空闲区

本地管理的区大小可以由系统自动决定作为选择本地管理的表空间内的所有的区都可以有相同大小

转换为区的位图不会生成回退信息因为它们不更新数据字典中的表(除表空间定额信息等特殊情况外)

创建本地管理表空间的一些选项

在Oracle i数据库中本地管理表空间(LMT)是默认的空间管理方式要想创建本地管理表空间(LMT)只需要在CREATE TABLESPACE 语句的EXTENT MANAGEMENT 子句中指定LOCAL字句创建LMT时你可以选择使用AUTOALLOCATE 选项来使用Oracle 自动管理盘区或者可以使用一个指定大小(UNIFORM SIZE字句) 的统一盘区来管理该表空间如果省略UNIFORM SIZE选项则默认选项是AUTOALLOCATE

两类管理选项的用途

如果表空间中的EXTENT的尺寸是不一定的即需要不同的盘区大小和拥有很多盘区的大小变动的对象这时使用AUTOALLOCATE 是比较合理的选择虽然有可能浪费了一些空间但是由Oracle来管理空间的使用(空间分配和回收的工作)简化了用户空间的管理

如果想要准确控制未用的空间并且能够精确地预计为一个或更多对象要分配的空间和盘区的数目大小等那么使用UNIFORM 选项更合适因为它确保在表空间中永远不会有一定数量的未用空间UNIFORM SIZE的默认大小是MB此时使用此方式创建数据文件时数据文件的大小至少为MB (位图空间加上一个块)

上一篇:v$tempfile与v$sort

下一篇:ASSM管理(BMB段管理)的内部机理