oracle数据库:保持Oracle数据库优良性能的若干诀窍

="t18"> 如今Oracle数据库以其高可靠性、安全性、可兼容性得到越来越多企业青睐如何使Oracle数据库保持永久优良性能读者不妨针对以下若干方面加以考虑

分区
根据实际经验所得个大数据库中数据库空间绝大多数是被少量表所占有如何简化大数据库和治理如何改善应用查询性能般可以使用分区这种手段所谓分区就是动态地将表中记录分离到若干区别表空间上使数据在物理上被分割开来便于维护、备份、恢复、事务及查询性能当使用时候可建立个连接所有分区视图使其在逻辑上仍以个整体出现
1、建立分区表
Create table Employee (
EmpNo varchar2(10) primary key,
Name varchar2(30),
DeptNo Number(2)
)
Partition by range(DeptNo)
(
partition PART1 values less than (11)
tablespace PART1_TS,
partition PART2 values less than (21)
tablespace PART2_TS,
partition PART3 values less than (31)
tablespace PART3_TS
partition PART4 values less than (MAXVALUE)
tablespace PART4_TS
);
表Employee依据DeptNo列进行分区
2、分区索引
Create index Employee_DeptNo _disibledevent=Y
注:在输入时重新配置新存储参数

自由范围碎片整理
表空间中个自由范围是表空间中相连自由(空间)块集合个段关闭时范围将被释放并被标记为自由范围然而这些自由范围再也不能和相邻自由范围合并它们的间界线始终存在但是当表空间缺省值pctincrease设置不为0时SMON后台进会定期将这些相邻自由范围合并若pctincrease设置为0那相邻自由范围不会被数据库自动合并但可以使用altertable命令coalesce选项来强迫进行相邻自由范围合并
不进行自由范围合并在日后空间请求中会影响到表空间中空间分配当需要个足够大范围时数据库并不会合并相邻自由范围除非没有其他选择这样当表空间中前面较小自由范围已被相关使用时将使用表空间中后面部分最大个自由范围结果它们没有足够多使用空间从而导致表空间中速度上矛盾由于这样进程出现使数据库空间分配距理想越来越远自由空间碎片常会出现在那些经常关闭又重新生成数据库表和索引中
在理想ORACLE表空间中个数据库对象存储在个单独范围中并且所有有效自由空间集中在个巨大而连续范围中这样个对象需要附加存储空间时可以在增加获取足够大自由空间可能性同时最小化空间中循环提高自由空间使用率

Tags:  oracle数据库恢复 oracle创建数据库 oracle数据库备份 oracle数据库

延伸阅读

最新评论

发表评论