前言:我們精心挑選了數篇優質數據分析解決方案文章,供您閱讀參考。期待這些文章能為您帶來啟發,助您在寫作的道路上更上一層樓。
關鍵詞:工業自動化;PLC;人機界面;數據庫
1工藝流程及主要測控點
目前,油田配注系統普遍采用“集中配置,分散注入”的工藝流程,即一個配置站對應多個注入站。其過程是在配置站將化學藥劑與清水按照一定比例混合,制成符合濃度要求的母液,母液經過熟化后,由外輸泵輸送至各個注入站,在注入站按照每口井的配比方案加入清水,然后,注入井下。注入站工藝流程為:上游配置站輸送來的母液進入母液儲罐,經柱塞泵增壓后被輸送到母液匯管中,再經過單井母液調節閥進入混合器。注水站來的清水經過單井清水調節器進入混合器,在這里與母液充分混合后被注入井下。注入站的測控參數主要包括母液儲罐液位、柱塞泵進出口壓力、單井壓力、單井清水流量等。
2基本原理
采用“VBA+數據庫”的方案實現報表查詢。VBA(VisualBasicforApplication)是新一代標準宏語言,是基于VisualBasicforWindows發展而來的,語言簡單易學,功能強大。VBA是VB的應用程序版本,必須依賴于已有的應用程序,不能獨立運行。目前,WIinCC、FactoryTalkViewStudio、Ifix等主流組態軟件都支持VBA編程。具體過程是利用組態軟件SE的數據記錄功能建立數據記錄模型,將需要的數據采集并存儲在ODBC指定的數據庫中。當操作員查詢報表時,選擇日期后,按下查詢按鈕,即執行VBA代碼,將數據庫中的數據讀出來,并寫入報表模板中,生成指定日期的生產數據報表。
3報表開發過程
3.1添加HMI標簽
展開HMI服務器的“HMI標簽”,右鍵點擊“標簽”,點擊“打開”,在打開的標簽窗口中點擊“新建”,在標簽名稱欄中輸入標簽名“DayReport_Date”,類型選擇“字符串”,數據源類型選擇“內存”,點擊“接受”,保存標簽。
3.2添加ActiveX控件引用
ActiveX控件是一種基于COM接口的控件,通常不能獨立使用,只能在宿主程序中運行,支持COM接口規范的編程環境均可使用它。在報表查詢畫面中,需要使用日歷控件,必須提前在“VisualBasic編輯器”中添加ActiveX控件引用。打開SE,點擊“視圖”,選擇“VisualBasic編輯器”。在打開的窗口中點擊“工具”,選擇“引用”,在列表欄中勾選“MicroSoftCalendercontrol2007”,點擊“確定”,保存設置。
3.3創建并組態畫面
打開SE的應用項目瀏覽器窗口,展開HMI服務器的“圖形”,右鍵點擊“顯示”,選擇“新建”,創建畫面“Report”。打開畫面“Report”,添加日歷控件、按鈕、文本、字符串等對象。將日歷控件的“Value”屬性及字符串的表達式屬性與“DayReport_DATE”標簽相關聯,并設置字體、顏色等其他相關屬性。
3.4設計報表模板
根據生產崗位的需求,采用MicosoftOfficeExcel2007設計報表模板“日報表.xlsx”。并將報表模板文件存儲在“D:模板”路徑下備用(此路徑應與VBA代碼中指定的路徑一致)。
3.5設置數據記錄
展開HMI服務器的“數據記錄”,右鍵點擊“數據記錄模型”,點擊“新建”,打開數據記錄模型的設置窗口。點擊“設置”標簽,選擇“ODBC數據庫”,點擊“ODBC數據源”;選擇“系統數據源”標簽,點擊“新建”;選擇“系統數據源”,點擊“下一步”;選擇“MicosoftAccessDriver(*.mdb*.accdb)”,點擊“完成”;彈出的“ODBCMicosoftAccess安裝”窗口,在“數據源名”欄中輸入“Report”,點擊“創建”按鈕,選擇保存數據庫的位置,在“數據庫名”欄中輸入“Report”,點擊“確定”。點擊“創建表”標簽,在數據庫中創建表“FloatTable”“StringTable”“TagTable”。點擊“路徑”標簽,勾選“啟用ODBC備用路徑”。點擊“文件管理”標簽,設置清除ODBC數據庫中保存舊記錄的天數。點擊“記錄觸發器”標簽,勾選“周期性”,根據需求,在“間隔”欄中設置數據采集周期。點擊“模型中的標簽”標簽,添加需要記錄的數據標簽。
3.6編制VBA程序
【關 鍵 詞】數據庫;雙機熱備份;系統;解決方案
【中圖分類號】G250.74【文獻標識碼】A【文章編號】1672-5158(2013)07-0213-02
引言:近年來,隨著經濟改革的不斷深入,企業的各項業務也有了長足發展,計算機應用水平得到迅速的提高。目前,開放平臺加客戶/服務器的雙機熱備份應用模式已經被我國中小型企業廣泛采用。
通常這種應用模式是以兩臺小型機做互為備份的兩個節點,同時聯到一個共享磁盤柜上,構成一個Client/Server方式下的Server端服務器系統。這種服務器系統在考慮系統的高連續可用性時,一般從主機、網絡到UPS電源都是一主一備,存放數據的磁盤選擇磁盤鏡像技術或選擇磁盤冗余陣列5技術(RAID5)。
從硬件角度看,這種配置已經考慮了各組成部分的冗余,然而從應用的角度來看,這樣的服務器系統還是有缺陷的。
對應用系統而言,數據庫是非常重要的,而在這種服務器系統中數據庫只有一個,一旦出現故障,不但整個系統會癱瘓,甚至還會給銀行帶來很大的經濟損失。對于這個問題,雙機熱備份模式是無能為力的。在實際應用系統的運行過程中,由于參數設置不當或數據庫本身存在的缺陷,使得數據庫出現的問題在故障率中所占比重還是比較大的,因而給應用系統的可靠運行帶來了較大的影響。本文針對這一問題,介紹我單位的一種解決方案。
一、系統的改進方案
為了解決Oracle數據庫無備份的問題,必須另建一套服務器系統。然而對中小型企業來講,另外投資一套小型服務器系統,經濟上往往不允許。考慮到現在的PC服務器在性能上已經足可以充當企業級服務器,投資較小,所以我們選擇了用PC服務器備份的方案,如圖1所示:
根據對IBM System X服務器的壓力測試結果,我們認為它具有處理日交易3萬筆的能力,符合我單位目前業務的情況,因此我們選用了IBM System X服務器做備份Oracle數據庫。
PC服務器硬件配置:
(1)CPU 4×Pentium Pro
(2)內存 8G
(3)硬盤 320G
軟件環境:
(1)操作系統 Windows server 2003
(2)數據庫 Oracle 10g
(3)應用軟件 ERP軟件
二、 RAID系統
RAID (Redundant Array of Inexpensive Dins),廉價冗余磁盤陣列。RAID是一種使用磁盤驅動器的方法,它將一組磁盤驅動器用某種邏輯方式聯系起來,作為邏輯上的一個磁盤驅動器來使用,使RAID一般是在SCSI磁盤驅動路上實現的。它的優點在于:
通過將多個物理磁盤編織(weaving)進一個單獨的邏輯卷來使用,使RAID相對傳統的磁盤驅動器,在同樣的容量下,價格要低許多。
通過將數據按條塊(blocks)寫入不同的磁盤來并行地讀寫幾個磁盤,進而提升磁盤訪向速度。帶有多個磁盤控制器的RAID系統,存取速度提高很快。
RAID的具體實現可以靠硬件也可以靠軟件,通過硬件實現RAID的產品有磁盤陣列柜,陣列柜中安裝有磁盤陣列控制卡,可以直接將柜中的硬盤配置成為邏輯盤陣。磁盤陣列柜通過SCSI電纜與服務器上普通SCSI卡相連,系統管理員需直接在磁盤柜上配置磁盤陣列。
磁盤陣列控制器一般都支持多種RAID級別、磁盤的熱插拔、在線平滑擴容和雙冗余電源。
三、備份數據庫工作原理
由于PC服務器中的操作系統、數據庫與生產機中的版本不同,所以必須先將生產機中的數據庫數據卸出來,以文本文件的形式傳到PC服務器上,然后將此文本文件再裝入PC服務器的數據庫中,從而使兩個數據庫中的數據一致。慎重起見,還可以對重要表的有關字段進行求和,并將兩個數據庫的求和結果進行比較,若一致則可以放心,不一致則說明上述操作過程有問題,需要排除后重做。
1.日間備份
將每天晚上軋帳后的數據卸出并裝載到PC服務器上,使得生產機和PC服務器中的數據在每天業務開始前保持一致。正常開機后,當生產機上的數據庫出現問題不能正常使用時,可以通過修改PC服務器的網絡地址,使上傳的交易傳到PC服務器,從而實現數據庫的切換。
但應注意,切換后的數據庫狀態是每天業務開始時的狀態,所以還應有一個追帳的過程,直到追帳完成,才算完成整個切換過程。這種切換所需的時間仍遠遠少于磁帶恢復后再追帳的時間。一般磁帶備份只做軋帳前的數據備份,這樣磁帶恢復后還要再做一個軋帳過程,才能恢復到開業時的數據庫狀態。
2.查找隔日數據
有時根據業務的需要,要求恢復前一天的有關數據,由于白天業務運轉不允許生產數據庫停下來恢復數據,有了PC服務器,可以將一些數據表在軋帳前卸出來,傳到PC服務器上,需要時在PC服務器上恢復出來,進行數據的查找。
3.磁帶備份的補充
服務器上的數據還起到異種介質備份的作用,提高了備份數據的可靠性。PC服務器可放在辦公環境下使用,這樣可使服務器與生產機保持適當的距離,一定程度上提高了整個系統的抗災能力。
在雙機熱備份應用模式下,采用PC服務器作數據庫的備份,提高了整個應用系統的連續可用性和數據備份的可靠性,由于該方案投資省、易實施,對中小型企業有一定的借鑒價值。
四、系統特點與總結
雙機與磁盤陣列柜互聯結構的特點是:
硬軟結合實現真正意義上的數據與系統分離。
對硬件配置要求不高,服務器可采用不同或相差較大的配置。
系統切換時間段,平均切換時間為60秒。
切換過程對應用程序無影響,無需重新啟動或登陸。
系統效率高。因為整個系統中數據讀寫、管理及容錯由磁盤陣列來完成。而系統服務器故障糾錯處理由HA軟件來完成,而這兩個都是相對獨立的子系統。雙機容錯監控路徑為SCSI線路(80M/S)和RS232線路或10/ 100MB自適應網卡線路,既不占用主機CPU資源,也不產用基礎網絡寬帶,因此系統效率高。
雙機與磁盤陣列柜互聯結構不采用內存鏡像技術,因此需要有一定的切換時間(通常為60-180秒),它可以有效地避免由于應用程序自身的缺陷導致系統全部宕機,同時由于所有的數據全部存貯在中置的磁盤陣列柜中,當工作機出現故障時,備份機接替工作機,從磁盤陣列中讀取數據,所以不會產生數據不同步的問題,由于這種方案不需要網絡鏡像同步,因此這種集群方案服務器的性能要比鏡像服務器結構高出很多。
雙機與磁盤陣列柜互聯結構的缺點是在系統當中存在單點錯的缺陷,所謂單點錯是指當系統中某個部件或某個應用程序出現故障時,導致所有系統全部宕機。在這個系統中磁盤陣列柜會導致單點錯,當磁盤陣列柜出現邏輯或物理故障時,所有存貯的數據會全部丟失,因此在選配這種方案時,需要選用一個品質與售后服務較好的產品。
五、結束語
計算機技術、網絡技術的廣泛應用,使企業運作效率大大提高。同時也使現代企業對計算機系統的依賴性進一步增加。如何保證核心應用永不停止,關鍵數據不會丟失?越來越多的企業采用雙機熱備份或多機集群技術來解決這一問題,其中雙機熱備份技術以其技術成熟,成本相對較低,獲得了廣泛的應用。
典型的雙機熱備份系統通過在兩臺服務器上運行雙機熱備份軟件和共用RAID磁盤陣列來實現。這種方案在電信,金觸、證券、政府等部門和行業的成功應用,業己證明其可靠性和成熟性。
參考文獻
文章首先對Oracle數據庫應用中存在的主要問題進行了簡要分析,在此基礎上提出解決Oracle數據庫應用問題的有效方案。期望通過本文的研究能夠對Oracle數據庫的推廣應用有所幫助。
【關鍵詞】Oracle數據庫 應用 問題
1 Oracle數據庫應用中存在的主要問題分析
Oracle數據庫是一種關系型數據庫管理系統,其體系結構如圖1所示。
Oracle數據庫的應用優勢主要體現在如下幾個方面:數據量大、數據保存時間長、所有數據全部可以實現共享、數據的可靠性較高、穩定性好等等。正是因為Oracle數據庫所具有的這些優勢,使其獲得了廣大使用者的認可。然而,該數據庫在實際用于卻存在一些問題,這在一定程度上影響了Oracle數據庫的應用。
1.1 表空間數據刪除引起的問題
對于Oracle數據庫而言,它的表空間之間相關的數據有兩種關系,一種是1對1的關系,另一種是1對多的關系,當需要永久性刪除某個表空間時,這個將要被刪除的表空間應當處于脫機狀態,隨后調取數據字典將對應的項目信息刪除,再將操作系統目錄中的數據文件刪除即可。上述刪除過程必須按照指定的順序進行操作,若是先將表空間的數據文件刪除,該表空間便無法找到存儲媒體,由此可能會引起數據庫應用異常,如數據庫無法正常啟動或關閉等。
1.2 字符集轉換的問題
在Oracle數據庫的應用中,中英文字符集的轉換常常會出現問題,例如,開始應用該數據庫時,要求使用英文的字符集,然后便選擇英文字符集進行安裝,在使用的過程中,由于一些新項目的增加,要求使用中文字符集,若是不對字符集進行轉換,新增項目的漢字部分將會顯示為3個“?”,由此給數據庫的應用帶來一定的影響。
1.3 回滾段聯機產生的問題
在對Oracle數據庫進行應用的過程中,回滾段聯機是一個較為常見的問題,也是困擾大部分使用者的主要問題之一。數據庫的使用者在對具體應用項目進行安裝時,一般都是參照說明書的要求進行安裝,由此可能會引起如下問題,即創建回滾段,然后聯機,但卻并未將之加入到數據庫的初始化文件當中,當數據庫重啟之后,安裝的回滾段便會處于脫機狀態,這對使用者的應用帶來了一定程度的影響。
2 解決Oracle數據庫應用問題的有效方案
為了有效解決Oracle數據庫應用中出現的各種問題,應當對數據庫的性能進行優化,具體可從以下幾個方面著手:
2.1 對數據庫進行優化設計
想要使Oracle數據庫的應用性達到最優,就必須要有一個良好的設計方案,從而使其各方面性能都達到使用者的要求,這樣便能夠避免實際應用中各種問題的發生。Oracle數據庫的設計大體上可以分為兩個方面,一方面是邏輯設計,另一方面是物理設計,在前者的設計中主要是為了將數據庫中的一些冗余數據全部消除,借此來提高數據的吞吐速度,使數據的完整性得到保障,但對于大數據表而言,可能會影響其性能。所以,在物理設計的過程中,要進行綜合考慮,并按照關聯表當中的數據量大小以及對數據項訪問的頻繁程度,提高查詢較為頻繁的數據表冗余設計,以此來滿足應用需要。
2.2 應用程序優化
相關統計結果顯示,通過對應用程度進行優化,可以使數據庫的性能提高60%左右。由此可見,對應用程序進行優化是提高Oracle數據庫性能最為有效的途徑之一,隨著數據庫性能的提升,其應用方面存在的問題會獲得有效解決。可以通過對源代碼和SQL語句兩個方面對應用程序進行優化。通常情況下,SQL語句會消耗數據庫中70%-90%的資源,它的執行效率高低直接關系到數據庫本身的性能。為此,可對部分劣質的SQL語句進行調整,并對數據庫的訪問方法進行優化改進,借此來改善數據庫系統的整體性能,從而提高其內存區的命中率,大幅度減少對網絡帶寬的占用以及I/O訪問。
2.3 數據庫內存分配的優化調整
對于Oracle應用實例而言,其通常都是由Oracle后臺進程與SGA的一個內存區組成,在應用實例當中,SGA使用效率的高低會對數據庫的性能產生極大的影響,鑒于此,可在具體應用中按照數據庫的實際運行情況,對SGA的大小進行重新調整,同時,由于內存分配是在信息系統運行時進行優化配置,所以可在對磁盤I/O的檢查時對其進行優化調整。
2.4 操作系統性能的優化配置
在對Oracle數據庫操作系統的性能進行優化配置時,可從以下兩個方面著手:
2.4.1 規劃資源
提供大量的資源是調整操作系統的主要目的之一,資源的具體分配原則為使Oracle服務器的可用資源最大化,尤其是在C/S架構中,應當盡可能使服務器的全部資源都用來運行Oracle服務。因此,操作系統應當為Oracle提供足夠的內存,從而可以容納SGA、用戶進程等,這樣可以有效解決換頁和交換的問題。
2.4.2 優化計算機的配置
對于操作系統而言,擴大內存較為常用的方式為增加虛擬內存,這部分內存屬于磁盤空間,如果實際的內存空間不足時,操作系統便會將磁盤空間與內存當中的信息進行頁面交換,由此會導致磁盤I/O的操作量增大,從而影響服務器的性能。通過對計算機的優化配置,可以有效減少內存的交換和分頁。
3 結論
綜上所述,Oracle數據庫以其自身諸多的應用優勢獲得了使用者的一致認可,但在實際應用中,卻常常會出現一些問題。為此,可以從提高Oracle數據庫性能方面著手,通過各種優化措施,解決Oracle數據庫應用中存在的問題,這對于促進Oracle數據庫的大范圍推廣應用具有重要意義。
參考文獻
[1]萬娟.Oracle數據庫應用中出現的問題及其對策[J]現代經濟信息,2015(18).
[2]王春麗,王海飛.Oracle數據庫安全問題探析與應對策略[J]電子世界,2016(14).