国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Oracle數(shù)據(jù)庫(kù)的性能優(yōu)化

2013-10-23 09:12
天津冶金 2013年4期
關(guān)鍵詞:合金數(shù)據(jù)庫(kù)性能

左 娜

(天津鋼鐵集團(tuán)有限公司煉鋼廠,天津300301)

1 引言

Oracle數(shù)據(jù)庫(kù)是當(dāng)前應(yīng)用最為廣泛的大型關(guān)系數(shù)據(jù)庫(kù)之一,其性能直接關(guān)系到整個(gè)應(yīng)用系統(tǒng)的運(yùn)行效率,在現(xiàn)代化的冶金企業(yè)得到了充分的應(yīng)用,引起信息化數(shù)據(jù)維護(hù)人員對(duì)其性能優(yōu)化的高度重視。天津鋼鐵集團(tuán)有限公司煉鋼廠的二級(jí)系統(tǒng),無(wú)論是轉(zhuǎn)爐區(qū)域還是連鑄區(qū)域應(yīng)用的都是Oracle9i數(shù)據(jù)庫(kù),所以本文以O(shè)racle數(shù)據(jù)庫(kù)在轉(zhuǎn)爐區(qū)域的應(yīng)用為例,進(jìn)行分析研究。

2 Oracle數(shù)據(jù)庫(kù)的優(yōu)化方法

在轉(zhuǎn)爐區(qū)域的二級(jí)系統(tǒng)中,現(xiàn)場(chǎng)數(shù)據(jù)采集采取直接與PLC通訊,讀取PLC原始數(shù)據(jù),并根據(jù)采集到的數(shù)據(jù)進(jìn)行邏輯判斷,對(duì)生產(chǎn)狀態(tài)進(jìn)行判斷,根據(jù)不同的工藝過(guò)程進(jìn)行生產(chǎn)信息整合存檔,將整合好的數(shù)據(jù)存儲(chǔ)到服務(wù)器的數(shù)據(jù)庫(kù)中。根據(jù)現(xiàn)場(chǎng)生產(chǎn)的需要,各個(gè)工位都有二級(jí)客戶端進(jìn)行現(xiàn)場(chǎng)顯示生產(chǎn)狀態(tài),分布圖見(jiàn)圖1。

當(dāng)二級(jí)系統(tǒng)中頻繁調(diào)用生產(chǎn)數(shù)據(jù),大量的數(shù)據(jù)交換使數(shù)據(jù)存儲(chǔ)出現(xiàn)響應(yīng)速度慢或無(wú)反映,二級(jí)客戶端不能及時(shí)準(zhǔn)確地顯示現(xiàn)場(chǎng)生產(chǎn)狀況,影響調(diào)度人員對(duì)現(xiàn)場(chǎng)的生產(chǎn)節(jié)奏的掌控,影響生產(chǎn)。所以,一個(gè)性能良好的數(shù)據(jù)庫(kù)后臺(tái)對(duì)于二級(jí)系統(tǒng)極其重要,同時(shí),對(duì)于數(shù)據(jù)庫(kù)系統(tǒng)優(yōu)化也是數(shù)據(jù)庫(kù)維護(hù)人員的重要職責(zé),筆者結(jié)合工作中遇到的問(wèn)題進(jìn)行解決和歸納,提出幾種數(shù)據(jù)庫(kù)優(yōu)化的簡(jiǎn)單而有效的方法。

圖1 數(shù)據(jù)通訊分布圖

2.1 根據(jù)存儲(chǔ)數(shù)據(jù)和數(shù)據(jù)應(yīng)用的情況,建立數(shù)據(jù)的正確表達(dá)方式

如轉(zhuǎn)爐二級(jí)系統(tǒng)的合金上料部分,一個(gè)生產(chǎn)爐次需要多次添加合金料,每次的加料數(shù)據(jù)(合金料名稱和添加重量及添加時(shí)間)都需要存儲(chǔ)在數(shù)據(jù)庫(kù)中,并以熔煉號(hào)為關(guān)鍵字進(jìn)行查詢匯總,在二級(jí)客戶端對(duì)工藝人員進(jìn)行顯示。對(duì)于該功能數(shù)據(jù)庫(kù)后臺(tái)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)部分,有兩種方法進(jìn)行實(shí)現(xiàn)。

一種可以在建合金加料(BOF_ALLOY_PROD)表中,建立多個(gè)合金料名稱(MAT_name)及其對(duì)應(yīng)重 量 的 字 段 (MAT_weight), 如 MAT_name_i、MAT_weight_i(i=1……n),即每一爐的投料只有一條加料數(shù)據(jù);對(duì)于這種表結(jié)構(gòu)就需要設(shè)計(jì)人員對(duì)于生產(chǎn)過(guò)程中添加合金料的次數(shù)有所了解和預(yù)估值,因?yàn)楸斫Y(jié)構(gòu)固定后,對(duì)于添加合金料的次數(shù)就會(huì)由數(shù)據(jù)庫(kù)表結(jié)構(gòu)的字段約束,對(duì)于少于表字段定義的次數(shù)的合金添加數(shù)據(jù)都會(huì)進(jìn)行記錄,相反,超出數(shù)據(jù)結(jié)構(gòu)定義部分會(huì)無(wú)法記錄,對(duì)于生產(chǎn)過(guò)程中,出現(xiàn)異常多次添加合金料的數(shù)據(jù)就會(huì)丟失。對(duì)于這種數(shù)據(jù)結(jié)構(gòu)定義的優(yōu)點(diǎn),就是數(shù)據(jù)查詢響應(yīng)速度快,數(shù)據(jù)庫(kù)負(fù)載小,對(duì)于現(xiàn)場(chǎng)越多處調(diào)用數(shù)據(jù)時(shí)優(yōu)勢(shì)顯示的越明顯。

另一種可以在建合金加料(BOF_ALLOY_PROD)表中,建立一個(gè)合金料名稱(MAT_name)及其記錄重量的字段(MAT_weight),也就是每投一次料就生成條數(shù)據(jù)記錄,就是在冶煉一爐鋼水的過(guò)程中,會(huì)出現(xiàn)多條添加合金料的生產(chǎn)數(shù)據(jù)。對(duì)于這種數(shù)據(jù)結(jié)構(gòu),對(duì)于生產(chǎn)過(guò)程中的添加次數(shù)沒(méi)有定值約束,只要生產(chǎn)就會(huì)生成一條記錄存入數(shù)據(jù)庫(kù)。兩種表達(dá)式列表見(jiàn)表1。

數(shù)據(jù)庫(kù)的設(shè)計(jì)人員對(duì)于數(shù)據(jù)庫(kù)的需求分析,必須準(zhǔn)確地反映用戶的實(shí)際要求,其結(jié)果將直接影響到數(shù)據(jù)庫(kù)后面各個(gè)階段的設(shè)計(jì),及設(shè)計(jì)結(jié)果是否合理和實(shí)用。對(duì)于這兩種的數(shù)據(jù)表結(jié)構(gòu)各有利弊,數(shù)據(jù)庫(kù)設(shè)計(jì)人員應(yīng)根據(jù)現(xiàn)場(chǎng)的生產(chǎn)工藝及數(shù)據(jù)存儲(chǔ),及其數(shù)據(jù)在應(yīng)用過(guò)程中的調(diào)用情況進(jìn)行取舍。

2.2 對(duì)數(shù)據(jù)庫(kù)有宏觀的數(shù)據(jù)存儲(chǔ)管理,即對(duì)數(shù)據(jù)物理存儲(chǔ)方式(表結(jié)構(gòu)、表空間)的管理

表1 兩種表達(dá)式列表

數(shù)據(jù)庫(kù)的設(shè)計(jì)人員在數(shù)據(jù)庫(kù)的設(shè)計(jì)過(guò)程中最經(jīng)常犯的錯(cuò)誤是:表結(jié)構(gòu)和索引設(shè)計(jì)時(shí),使表與索引共建在一個(gè)表空間中。在數(shù)據(jù)量不是很大,查詢不頻繁的時(shí)候,數(shù)據(jù)庫(kù)的設(shè)計(jì)缺點(diǎn)就不會(huì)暴露出來(lái)。但是在煉鋼廠二級(jí)系統(tǒng)中,轉(zhuǎn)爐區(qū)域的數(shù)據(jù)收集,尤其是轉(zhuǎn)爐傾角和氧槍高度的數(shù)據(jù)表,每5 s就有一條記錄入庫(kù),生產(chǎn)一爐鋼水就會(huì)有千條左右記錄,每天生產(chǎn)按40爐計(jì)算就會(huì)有4萬(wàn)的記錄,數(shù)據(jù)庫(kù)數(shù)據(jù)的歸檔保留時(shí)間是6個(gè)月,每個(gè)月按30天計(jì)算,數(shù)據(jù)庫(kù)中的數(shù)據(jù)量就達(dá)到了720萬(wàn)條記錄,如果數(shù)據(jù)表僅僅是存放數(shù)據(jù),數(shù)據(jù)庫(kù)的設(shè)計(jì)缺陷不明顯,但是現(xiàn)場(chǎng)就有二級(jí)程序是槍位圖和轉(zhuǎn)爐傾角圖,根據(jù)時(shí)間進(jìn)行繪圖,這就需要頻繁地從數(shù)據(jù)庫(kù)中調(diào)用查詢數(shù)據(jù),就會(huì)發(fā)現(xiàn)數(shù)據(jù)的查詢速度很慢,而且會(huì)爆出“程序出錯(cuò),錯(cuò)誤編號(hào):-12535,錯(cuò)誤描述ORA-12535:TNS:操作超時(shí)”的錯(cuò)誤。產(chǎn)生問(wèn)題的根本原因是數(shù)據(jù)查詢的時(shí)間超長(zhǎng),不能及返回查詢數(shù)據(jù)結(jié)果,使前臺(tái)的運(yùn)行程序沒(méi)有響應(yīng)、掛掉。在ER關(guān)系上,這種表和索引共在一個(gè)表空間,設(shè)計(jì)并不存在缺陷,但是在應(yīng)用時(shí),這成為了一大弊病,解決的方法就是將表數(shù)據(jù)和索引數(shù)據(jù)分開(kāi)表空間存儲(chǔ)進(jìn)行優(yōu)化:

指定表數(shù)據(jù)及索引數(shù)據(jù)存儲(chǔ)表空間SQL語(yǔ)法語(yǔ)句最簡(jiǎn)單的形式如下:

數(shù)據(jù)庫(kù)表名稱:BOF_TURNING_PROD

索引名稱:INDEX_BOF_TURNING_PROD

將表數(shù)據(jù)存儲(chǔ)在L2_BOF_DATA表空間里:

2.3 建立滿足需求的索引

通常情況下,簡(jiǎn)單的索引經(jīng)常用于掃描小表來(lái)提高數(shù)據(jù)查詢效率,但在聯(lián)結(jié)多個(gè)表時(shí)需要建立復(fù)合鍵索引來(lái)提高數(shù)據(jù)庫(kù)檢索效率。

在生產(chǎn)過(guò)程中,煉鋼區(qū)域的數(shù)據(jù)一般情況下都是以轉(zhuǎn)爐的熔煉號(hào)為主的相關(guān)數(shù)據(jù)存儲(chǔ),對(duì)于每一爐的生產(chǎn)過(guò)程中添加的散裝料、合金數(shù)據(jù)、吹氧量、吹氬量等進(jìn)行統(tǒng)計(jì)。對(duì)于合金數(shù)據(jù)的查詢就需要建立復(fù)合索引。

轉(zhuǎn)爐合金投入實(shí)績(jī)表(BOF_Alloy_Prod)中包含字段:熔煉號(hào)HTNO;添加時(shí)間Time_Add;合金料倉(cāng)號(hào) Alloy_BUNKER_NO ;合金重量 Alloy_weight;

轉(zhuǎn)爐合金料倉(cāng)對(duì)應(yīng)表(BOF_Alloy_list)中包含的字段:合金料倉(cāng)號(hào)Alloy_BUNKER_NO;合金名稱Alloy_name;

實(shí)現(xiàn)功能:按爐次(熔煉號(hào)為9999999)對(duì)合金投料數(shù)據(jù)進(jìn)行搜索、顯示:熔煉號(hào)HTNO;合金料名稱 Alloy_name;合金重量 Alloy_weight;

執(zhí)行的SQL語(yǔ)句為:selectHTNO,Alloy_name,Alloy_weigh from BOF_Alloy_Prod,BOF_Alloy_listwhereHTNO=9999999 and BOF_Alloy_Prod.Alloy_BUNKER_NO=BOF_Alloy_list.Alloy_BUNKER_NO

雖然在數(shù)據(jù)庫(kù)中使用索引能提高查詢效率,但是數(shù)據(jù)庫(kù)的維護(hù)人員必須注意使用索引的利弊。索引不僅需要占用空間來(lái)存儲(chǔ)(建議存儲(chǔ)索引與表數(shù)據(jù)不在同一表空間),也需要定期維護(hù)。在數(shù)據(jù)庫(kù)的應(yīng)用過(guò)程中,表數(shù)據(jù)數(shù)據(jù)記錄經(jīng)常會(huì)根據(jù)系統(tǒng)應(yīng)用需要被增減修改或修改索引列,同時(shí)索引也會(huì)被修改可能產(chǎn)生碎片,影響數(shù)據(jù)庫(kù)性能。在許可的條件下,也可以階段性地執(zhí)行truncate命令刪除表中所有記錄,同時(shí)刪除索引碎片。對(duì)于數(shù)據(jù)表進(jìn)行刪除或truncate表后,要及時(shí)對(duì)索引重建,提高數(shù)據(jù)庫(kù)性能。

執(zhí)行語(yǔ)句:

TRUNCATE Table表名;

ALTER INDEX索引名REBUILD表空間名稱。

3 結(jié)束語(yǔ)

Oracle數(shù)據(jù)庫(kù)系統(tǒng)性能優(yōu)化與調(diào)整是一個(gè)復(fù)雜、繁瑣的系統(tǒng)工程,貫穿于數(shù)據(jù)庫(kù)系統(tǒng)開(kāi)發(fā)的整個(gè)過(guò)程。當(dāng)然,對(duì)于數(shù)據(jù)應(yīng)用(數(shù)據(jù)查詢、修改、添加、刪除)時(shí),細(xì)節(jié)處理(SQL語(yǔ)句的應(yīng)用)對(duì)數(shù)據(jù)庫(kù)性能也會(huì)有很大的影響。數(shù)據(jù)庫(kù)的性能優(yōu)化方法還有許多,需要在工作中不斷地實(shí)踐應(yīng)用。本文只是根據(jù)在現(xiàn)場(chǎng)的二級(jí)系統(tǒng)長(zhǎng)時(shí)間運(yùn)行維護(hù)的工作中,對(duì)于一些最常見(jiàn)的二級(jí)系統(tǒng)問(wèn)題進(jìn)行歸納,總結(jié)出這幾種最直接有效的解決問(wèn)題方法。

[1]騰永昌.Oracle9i數(shù)據(jù)庫(kù)管理員使用大全[M].北京:清華大學(xué)出版社,2005:766-778.

[2]Ault M.Oracle數(shù)據(jù)庫(kù)管理與維護(hù)技術(shù)手冊(cè)[M].北京:清華大學(xué)出版社,2003:595-663.

[3]Lawson C.Oracle性能優(yōu)化科學(xué)與藝術(shù)[M].北京:清華大學(xué)出版社,2006.

[4]蓋國(guó)強(qiáng),馮春培.Oracle數(shù)據(jù)庫(kù)性能優(yōu)化[M].北京:人民郵電出版社,2006.

[5]柳丹.Oracle PL/SQL面向?qū)ο筇匦訵eb應(yīng)用研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2006,16(1):234-237.

[6]蘇淑文,翁敬農(nóng).Oracle系統(tǒng)異構(gòu)環(huán)境下的信息集成[J].計(jì)算機(jī)技術(shù)與發(fā)展,2007,17(3):128-131.

[7]杜志源,劉剛,王永智.高校教務(wù)管理系統(tǒng)數(shù)據(jù)庫(kù)性能優(yōu)化的研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2007(20):5066-5068.

猜你喜歡
合金數(shù)據(jù)庫(kù)性能
奧科寧克與NASA聯(lián)合研發(fā)3D打印用Al-Cu-Zn-Mg合金
鉬鎢合金燒結(jié)致密化行為
提供將近80 Gbps的帶寬性能 DisplayPort 2.0正式發(fā)布
Zr-Nb-Fe合金在LiOH溶液中的腐蝕行為
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
Al-Se雙元置換的基于LGPS的thio-LISICON的制備與性能表征
強(qiáng)韌化PBT/PC共混物的制備與性能
尼木县| 手机| 运城市| 高陵县| 泸溪县| 石家庄市| 米易县| 乾安县| 兴宁市| 嘉义县| 绥化市| 黎川县| 鹤壁市| 荣昌县| 广灵县| 清河县| 绥化市| 阿尔山市| 商河县| 鄂州市| 台前县| 黄石市| 常宁市| 镇江市| 刚察县| 赤壁市| 澎湖县| 娄底市| 冀州市| 景泰县| 彭泽县| 班玛县| 桐乡市| 灵台县| 静海县| 淅川县| 彰化县| 搜索| 满城县| 翁牛特旗| 景宁|