前导发轫:网海拾贝
大型数据库体系中凡是要用到盘考统计,但是关于数据量大的体系,用户在停止垂危的盘考统计时凡是感慨速率很慢,不克不及惬心运用要求,这就要求我们在规划数据库体系时停止公道设置,进步盘考统计的速率。本文联合笔者的项目斥地经历,论说仔细的设置要领。
以oracle7.33数据库体系为例,我们在斥地大型oracle数据库体系时联合项方针特点,本着安然、高效的准绳对数据库停止了一些物理规划,从而大大进步了数据库的盘考统计速率。总结为如下几点:
1)扩大数据表空间到500M,用于存放本体系的数据;
2)段盘区的初始大小为10K,添加大小为10K,添加幅度为1;
3)用户且则空间增大40M;
4)体系且则表空间和回滚段表空间增大40M,而且新建4个回滚段;
5)需求凡是联结盘考,而且数据量又大的库存表、名录表、收发料表放在一簇内;
6)供应按时备份,备份文件放在别的的机器上。
设置数据表空间的SQL语句如下:
CREATE TABLESPACE WXGL_DATA1 DATAFILE 'WXGL_DATA1.ORA' SIZE 500M ONLINE;
添加体系且则表空间和回滚段表空间的SQL语句如下:
ALTER TABLESPACE TEMPORARY_DATA ADD DATAFILE 'TMP2ORCL.ORA' SIZE 40M;
ALTER TABLESPACE ROLLBACK_DATA ADD DATAFILE 'RBS2ORCL.ORA' SIZE 40M;
将数据空间设置在指定的数据文件的SQL语句如下:
CREATE USER ZBGL IDENTIFIED BY ZBGL;
GRANT DBA TO ZBGL;
ALTER USER ZBGL DEFAULT TABLESPACE WXGL_DATA1 TEMPORARY TABLESPACE TEMPORARY_DATA; 1. 设置五个回滚段的SQL语句如下:
SELECT SEGMENT_NAME FROM DBA_ROLLBACK_SEGS WHERE INITIAL_EXTENT < 512000 AND
UPPPER(OWNER) = 'PUBLIC';
SELECT UPPER(STATUS) FROM DBA_ROLLBACK_SEGS WHERE UPPER(SEGMENT_NAME) = ''
ALTER ROLLBACK SEGMENT RB1 OFFLINE;
ALTER ROLLBACK SEGMENT RB2 OFFLINE;
ALTER ROLLBACK SEGMENT RB3 OFFLINE;
ALTER ROLLBACK SEGMENT RB4 OFFLINE;
ALTER ROLLBACK SEGMENT RB5 OFFLINE;
DROP ROLLBACK SEGMENT RB1;
DROP ROLLBACK SEGMENT RB2;
DROP ROLLBACK SEGMENT RB3;
DROP ROLLBACK SEGMENT RB4;
DROP ROLLBACK SEGMENT RB5;
CREATE PUBLIC ROLLBACK SEGMENT RB1 TABLESPACE ROLLBACK_DATA
STORAGE (INITIAL 512000 NEXT 512000 MAXEXTENTS 121);
CREATE PUBLIC ROLLBACK SEGMENT RB2 TABLESPACE ROLLBACK_DATA
STORAGE (INITIAL 512000 NEXT 512000 MAXEXTENTS 121);
CREATE PUBLIC ROLLBACK SEGMENT RB3 TABLESPACE ROLLBACK_DATA
STORAGE (INITIAL 512000 NEXT 512000 MAXEXTENTS 121);
CREATE PUBLIC ROLLBACK SEGMENT RB4 TABLESPACE ROLLBACK_DATA
STORAGE (INITIAL 512000 NEXT 512000 MAXEXTENTS 121);
CREATE PUBLIC ROLLBACK SEGMENT RB5 TABLESPACE ROLLBACK_DATA
STORAGE (INITIAL 512000 NEXT 512000 MAXEXTENTS 121);
ALTER ROLLBACK SEGMENT RB1 ONLINE;
ALTER ROLLBACK SEGMENT RB2 ONLINE;
ALTER ROLLBACK SEGMENT RB3 ONLINE;
ALTER ROLLBACK SEGMENT RB4 ONLINE;
ALTER ROLLBACK SEGMENT RB5 ONLINE;
COMMIT;
2.将数据量大的库存表等放在一簇内的SQL语句如下:
KCB='CREATE TABLE QC_KCB( '
' CKNM NUMBER(8) ,'
' QCNM NUMBER(10) ,'
' CKKC NUMBER(12,2),'
' SNCKKC NUMBER(12,2),'
' LDJ NUMBER(12,2),'
' BZ VARCHAR(100),'
' PRIMARY KEY(CKNM,QCNM))'
' TABLESPACE WXGL_DATA1 ' ;(大数据量的库存表等放在WXGL_DATA1)
QCFL = 'CREATE TABLE QC_QCFL '
'(FLBH NUMBER(2) PRIMARY KEY,'
' FLMC VARCHAR(20) '
' ) '
' TABLESPACE WXGL_DATA2 ' ;(其他表放在WXGL_DATA2
版权声明: 原创作品,应许转载,转载时请务必以超链接体式格局标明文章 原始来由 、作者信息和本声明。否则将清查功令责任。