Oracle 起步日记(21)——物理调优、表空间改进

来源:互联网 发布:查linux系统版本 编辑:程序博客网 时间:2024/06/06 05:15
 

物理调优

 

影响磁盘I/O性能的主要原因有磁盘竞争、I/O次数过多和数据块空间的分配管理。

如果服务器上游多个磁盘,可将文件分散到各个可用磁盘上,减少对数据库的数据文件及事务日志文件的占用,从而有效地改善服务器的性能。

如果有多个磁盘可用,将两个事务日志成员放在不同的磁盘驱动器上,就可以消除日志文件可能产生的磁盘竞争

 

DB中,如果将数据文件存放在不同的位置,有助于降低磁盘I/O的等待时间,从而提高系统性能。因此,在一定条件下可以讲数据库中的数据文件改变位置。同时,将重做日志文件存放到不同的磁盘中也可以提高系统性能

 

查看数据库中数据文件以及所在的表空间的信息

SELECT TABLESPACE_NAME,FILE_NAME FROM DBA_DATA_FILES;

 

同一个表空间的数据文件位于同一磁盘中,按照原则来讲是不合适的

 

ALTER TABLESPACE t1 OFFLINE;

 

HOST MOVE E:\T1_1.DBF F:\T1.DBF

 

ALTER TABLESPACE t1 RENAME DATAFILE

‘E:\T1_1.DBA’

TO

‘F:\T1.DBF’;

 

ALTER TABLESPACE t1 ONLINE;

 

移动SYSTEM表空间中的数据文件的位置

 

SYSTEM表空间数据系统表空间,因此当数据库处于OPEN状态时不能被脱机

 

SHUTDOWN IMMEDIATE;

 

STARTUP MOUNT;

 

ALTER DATABASE RENAME FILE

‘C:\app\HeatherYun\oradata\orcl\system.dbf’

TO

‘F:\system.DBF’;

 

ALTER DATABASE OPEN;

 

表空间改进

 

1)  控制用户占用的表空间值

在大型DB应用中,需要控制某个用户或者某一组用户所占用的磁盘空间,以防止磁盘空间耗竭

2)  不同类型数据放置到不同的表空间

3)  调整表空间大小

 

查看数据库中表空间的具体情况

SELECT A.TABLESPACE_NAME,A.BYTES "BYTES",

A.BYTES - SUM(NVL(B.BYTES,0)) "USED",

SUM(NVL(B.BYTES,0)) "FREE",

SUM(NVL(B.BYTES,0))/A.BYTES*100 "%FREE"

FROM DBA_DATA_FILES A,DBA_FREE_SPACE B

WHERE A.FILE_ID = B.FILE_ID(+)

GROUP BY A.TABLESPACE_NAME,A.BYTES

ORDER BY A.TABLESPACE_NAME

当表空间容量剩余百分比小于20%时就需要对其进行调整

 tupian1

查看表空间数据文件大小

SELECT TABLESPACE_NAME,FILE_NAME,BYTES/1024/1024 Mbytes

FROM DBA_DATA_FILES;

 

 

整合表空间碎片,使其自由空间连续

 

查询T1表空间的自由空间

SELECT * FROM DBA_FREE_SPACE WHERE TABLESPACE_NAME = ‘T1’;

tupian2

由列表可估计相邻自由空间的真正数量。对每一行,用起始块的ID(BLOCK_ID)加上自由块(BLOCKS)的数量,如果它和下一行的块ID(BLOCK_ID)相等,则此两行是连续的

比如 128和136不是连续的,136和144是连续的

 

合并自由空间(尤其是在删除表产生很多自由空间后)

ALTER TABLESPACE T1 COALESCE;

原创粉丝点击