Microsoft Windows [版本
(C) 版權所有
C:\Documents and Settings\Administrator>systeminfo
主機名: ORACLETEST
OS 名稱: Microsoft(R) Windows(R) Server
OS 版本:
系統類型: X
處理器: 安裝了
[
[
物理內存總量:
可用的物理內存:
頁面文件: 最大值:
頁面文件: 可用:
頁面文件: 使用中:
頁面文件位置: c:\pagefile
d:\pagefile
e:\pagefile
f:\pagefile
環境其實就是一台很普通的PC機
目的:測試如何以最快的方式online建立索引
C:\Documents and Settings\Administrator>sqlplus sys@FUTEST_
SQL*Plus: Release
Copyright (c)
輸入口令:
連接到:
Oracle Database
With the Partitioning
SYS TEST
SYS TEST
SYS TEST
SYS TEST
會話已更改
已用時間:
SYS TEST
會話已更改
已用時間:
SYS TEST
會話已更改
已用時間:
SYS TEST
會話已更改
已用時間:
SYS TEST
索引已創建
已用時間:
SYS TEST
上面的測試用了
設置的參數為
sort_area_size=
sort_area_retained_size=
db_file_multiblock_read_count=
還有並行系數
select decode(a
a
a
b
b
b
b
a
a
from v$px_session a
where a
order by a
C:\Documents and Settings\Administrator>sqlplus sys@futest_
SQL*Plus: Release
Copyright (c)
輸入口令:
連接到:
Oracle Database
With the Partitioning
SYS TEST
SYS TEST
SP
SYS TEST
SYS TEST
SYS TEST
索引已創建
已用時間:
SYS TEST
索引已刪除
已用時間:
SYS TEST
會話已更改
已用時間:
SYS TEST
會話已更改
已用時間:
SYS TEST
會話已更改
已用時間:
SYS TEST
會話已更改
已用時間:
SYS TEST
索引已創建
已用時間:
sort_area_size=
sort_area_retained_size=
db_file_multiblock_read_count=
並行系數
這測試結果太不穩定了
咳咳
SYS TEST
索引已刪除
我決定drop掉INDEX
SYS TEST
SUMBYTES
SYS TEST
NAME BYTES
E:\ORACLE_DATA\FUTEST\FUTEST\DATAFILE\O
_
E:\ORACLE_DATA\FUTEST\FUTEST\DATAFILE\O
S
E:\ORACLE_DATA\FUTEST\FUTEST\DATAFILE\O
_
E:\ORACLE_DATA\FUTEST\FUTEST\DATAFILE\O
NAME BYTES
E:\ORACLE_DATA\FUTEST\FUTEST\DATAFILE\O
E_
收縮之~
SYS TEST
數據庫已更改
接著繼續~
我想了想
SYS TEST
Total System Global Area
Fixed Size
Variable Size
Database Buffers
Redo Buffers
SYS TEST
NAME TYPE VALUE
pga_aggregate_target big integer
SYS TEST
把參數改小點
sort_area_size=
sort_area_retained_size=
db_file_multiblock_read_count=
還有並行系數
把DB的內存分配得稍微大一點
SYS TEST
Total System Global Area
Fixed Size
Variable Size
Database Buffers
Redo Buffers
SYS TEST
NAME TYPE VALUE
lock_sga boolean FALSE
pre_page_sga boolean TRUE
sga_max_size big integer
sga_target big integer
SYS TEST
SYS TEST
索引已創建
已用時間:
搞來搞去
再來一次
sort_area_size=
sort_area_retained_size=
db_file_multiblock_read_count=
SYS TEST
會話已更改
已用時間:
SYS TEST
會話已更改
已用時間:
SYS TEST
會話已更改
已用時間:
SYS TEST
會話已更改
已用時間:
SYS TEST
索引已創建
已用時間:
再多測一次
刪索引
回收tablespace
總結一下
我很暈了
我估計和具體的場景 硬件條件 系統並發負載 還是有所聯系
session級別增大sort_area_size + nologging + 並行
看樣子
條件 時間
手動
workarea_size_policy=MANUAL;
alter session set sort_area_size=
alter session set sort_area_retained_size=
alter session set db_file_multiblock_read_count=
parallel(degree
啥事不干直接建
CREATE INDEX IX_ALOTPRM_MTRL_LOT_ID
on FU_DB
我手多
workarea_size_policy=MANUAL;
alter session set sort_area_size=
alter session set sort_area_retained_size=
alter session set db_file_multiblock_read_count=
parallel(degree
手動
workarea_size_policy=MANUAL;
sort_area_size=
sort_area_retained_size=
db_file_multiblock_read_count=
parallel(degree
手動
workarea_size_policy=MANUAL;
sort_area_size=
sort_area_retained_size=
db_file_multiblock_read_count=
無並行
再來一次手動
workarea_size_policy=MANUAL;
sort_area_size=
sort_area_retained_size=
db_file_multiblock_read_count=
無並行
再來一次啥事不干直接建
CREATE INDEX IX_ALOTPRM_MTRL_LOT_ID
on FU_DB
若是不並行的話
若是並行的話
From:http://tw.wingwit.com/Article/program/Oracle/201311/17238.html