圖 圖 圖
圖 3.3 由管理系統控管人員職掌及資料庫權限對應由管理系統控管人員職掌及資料庫權限對應由管理系統控管人員職掌及資料庫權限對應由管理系統控管人員職掌及資料庫權限對應
系統職掌關係主要在記錄維護人員與應用系統之關聯資訊,而透過這些資訊
便可明確定義維護人員具有那些資料庫之異動權限,以圖 3.3 為例,System A 之 維護人員與 System B 之維護人員各自有其維護之資料庫。其概念資料流程圖如
圖 3.4 所示,首先必須建立 System 以及 Server 相關之資訊,然後再透過員工與
System 之關係,便可明確定義員工職掌,也間接定義那些資料庫之該員工有權利 進行異動的範圍。
圖 圖 圖
圖 3.4 人員職掌及資料庫權限對應流程圖人員職掌及資料庫權限對應流程圖人員職掌及資料庫權限對應流程圖人員職掌及資料庫權限對應流程圖
3.3 經由 經由 經由 經由資料關 資料關 資料關 資料關聯 聯 聯 聯定義 定義 定義, 定義 , , ,即時獲 即時獲 即時獲得 即時獲 得 得 得其它系統 其它系統 其它系統資料庫異動內容 其它系統 資料庫異動內容 資料庫異動內容 資料庫異動內容
圖 圖 圖
圖 3.5 資料庫來源關聯控管及異動機制資料庫來源關聯控管及異動機制資料庫來源關聯控管及異動機制 資料庫來源關聯控管及異動機制
如圖 3.5 所示,企業內部之應用系統其資料來源的參考是很頻繁且複雜,也
是較難控管的部份,若能完整記錄資料關聯之上下游關係,任何上游系統的資料
屬性更動都可追溯至下游之資料源,且透過資料與系統職掌之資訊,可在第一時
間通知相關負責人員,減少異動後所產生的錯誤。
3.4 利用比對功能確保部署完整性 利用比對功能確保部署完整性 利用比對功能確保部署完整性 利用比對功能確保部署完整性
資料庫的部署常會出現在新系統上線時,以上圖為例,要把 Testing 環境所
使用到的資料庫複製到 Production,才能使系統正常運行,目前資料庫軟體工具 只能以 Server 為單位來進行 Backup/Restore 或 Import/Export,所以若有人工操作
遺漏,便會使 Production 系統無法正常執行。
透過以系統為角度之觀點,便能輕易得知系統所使用的資料庫有那些,而且
也不受跨 Server 之影響,在部署的完整性上比單一 Server 更強,而部署系統之
前置動作就是比對,它是系統決定要部署那些單元的依據。
圖圖圖
圖 3.7 資料庫物件比對機制資料庫物件比對機制資料庫物件比對機制資料庫物件比對機制流程圖流程圖流程圖 流程圖
如圖 3.7 所示,在本系統的設計上,採用編輯區及資料庫同步區來區別控系
統管值與實際值,也是資料庫比對的兩個重要來源,透過這樣的機制可以完全掌 握其差異性,使部署的錯誤減到最低。
3.5 系統 系統 系統 系統作業流程 作業流程 作業流程 作業流程全覽 全覽 全覽圖 全覽 圖 圖 圖
第四章 第四章
第四章 第四章、 、 、 、系統實作與建置 系統實作與建置 系統實作與建置 系統實作與建置
本章節根據前章節所提出之系統架構設計方法,進行系統實作來驗證系統之 可行性,並詳細介紹系統實作所使用的開發平台、系統架構、程式架構、功能模
組以及實際導入使用的步驟與本系統的功能限制。
4.1 開發平台 開發平台 開發平台 開發平台及語言 及語言 及語言 及語言
Microsoft Visual Studio 2005 & C#.Net
本系統之程式開發工具為Microsoft Visual Studio 2005,此為Microsoft支援
至.Net Framework 2.0以上之開發平台,而本系統採用之程式語言為C# .Net,此
語言在.Net Framework支援的多種語言中,對於物件導向設計的支援最多,而本 系統是利用C#在.Net Framework 2.0平台上進行程式開發。
Microsoft SQL Server 2005
本論文現階段研究範圍為Microsoft SQL Server,而在資料庫維護上,則是
採用SQL Server 2005之管理介面來同時控管SQL Server 2000以SQL Server 2005。
4.2 系統架構 系統架構 系統架構 系統架構
本系統架構主要包含 Task Management System 以及 Virtual DBA System,Task
Management System 主要功能是控管人員職掌資料以及維護應用系統、Server 等 相關資料,Virtual DBA System 則為企業 Schema 與人員權限的集中化管理。
圖 圖圖
圖 4.1 Virtual DBA 系統架構圖系統架構圖系統架構圖系統架構圖
4.3 程式架構 程式架構 程式架構 程式架構
本程式架構主要分為兩大部份,一為參考外部之 API Library,如 Microsoft
Enterprise 以及 Microsoft Management Objects Library,另一部份則為自行開發之 模組功能。
Data Access Business Logic
Presentation Web Batch Service
DAL
Others DB MappingObject
圖 圖圖
圖 4.2 Virtual DBA 程式模組架構圖程式模組架構圖程式模組架構圖 程式模組架構圖
引用引用引用引用外部外部外部之外部之之之 API Library
本系統之程式架構三層式架構為主體如,其中引用 Microsoft Enterprise
Library 之 Confiuration Management Application Block(CMAB) 、 Exception Management Application Block(EMAB)以及 Data Access Application Block(DAAB) 等三個 Library,主要用來控制參數設定、程式錯誤控制以及資料連結的共用程
式,與 SQL Server 底層 API 聯結則是引用 SQL Server Management Objects(SMO)
之物件模組。
自行開發模自行開發模自行開發模自行開發模組組組組
1.
Web/Batch/Service本架構在 Presentation Layer 中主要有三種介面,Web 是操作管理網頁,Batch
為後端資料收集以及其它操作程式,Service 則提供對外介面供本系統或其它系 統使用
2.
QueryBLL/BLL本架構之 Business Logic Layer 中主要有兩大模組,QueryBLL 主要負責與
DataBase Transaction(COM+) 無 關 之 資 料 的 取 得 , BLL 則 負 責 需 要 用 到 Transaction(COM+)之 SQL Statement 操作(如 Insert/Update/Delete)。
3.
DAO/VO本架構之 Data Access Layer 中主要有兩大模組,DAO 是負責直接與資料庫
連得並執行 SQL Statement 之模組,而 VO 則是利用 O/R Mapping 產生之資料基 礎元件(通常相對於 DataBase 之 Table 結構),主要用來當做跨 Layer 之資料傳輸。
4.
DBHelper本架構之另一個與資料庫連結之模組,上述提及之 DAO 是透過 Microsoft
COM+之 Transaction 控管,而另一個直接操作 SMO API 之模組為 DBHelper,主
5.
Mapping Object/Control MethodMapping Object 主要用來整合 SMO 與 DAO 之溝通物件類別,而 Control Method 則為實施操作之定義(並包含對於異質資料庫之存取) 。
4.4 系統功能模組 系統功能模組 系統功能模組 系統功能模組
本小節主要說明本系統各功能模組之簡單說明。
圖 圖圖
圖 4.3 Virtual DBA 系統功能模組圖系統功能模組圖系統功能模組圖 系統功能模組圖
Security Management
本功能主要負責控管資料庫使用人員的帳號增刪、變更帳號密碼、變更
對於 DataBase Schema 的存取權限,以及控制,系統畫面如圖 4.4、圖 4.5 以
1. 設定帳號設定帳號設定帳號設定帳號
圖 圖 圖
圖 4.4 帳號維護畫面帳號維護畫面帳號維護畫面帳號維護畫面
2. 設定權限設定權限設定權限設定權限
圖 圖 圖
圖 4.5 權限設定畫面權限設定畫面權限設定畫面權限設定畫面
3. 因應職務異動調整資料庫存取權限因應職務異動調整資料庫存取權限因應職務異動調整資料庫存取權限因應職務異動調整資料庫存取權限
在Task Management系統中調整系統的Sustain及Agent人員。DIS系統依據系
統sustain人員資料決定該員是否對Table的有修改權限。可修改範圍:該員所
sustain系統所own的Table的Table Schema。
圖圖
圖圖 4.6 職掌異動設定畫面職掌異動設定畫面職掌異動設定畫面職掌異動設定畫面
Schema Management
本功能主要負責為同步收集不同資料庫之 Schema 功能,將其集中化管
理,方便資料庫管理人員或系統開發人員快速得知企業內資料來源之相關資
訊。
1. 同步收集同步收集同步收集同步收集 Schema
本功能同步收集功能區分為以 DataBase Server 為角度或是以 System 為
角度來收集資料庫權限及 Schema,如圖 4.7 所示操作,根據設定的收集條
件,會產生自動化同步 Job,後端程式會自動將相關資訊收集至 Virtual DBA
系統。 Server: RAASPMSQL ▼
儲存 關閉視窗
Execute No: 0000000000
Start Date: 0000000000 End Date: 0000000000
查詢同步結果
exe no employee cmd stime endtime result
00000001 081507/pujle CollectWkfDataByTarge t Server,RAASPD01
2010-01-28 10:35:15
2010-01-28 11:01:25 00000002 081507/pujle CollectWkfDataByTarge
t System,MIS,P
2010-02-10 13:36:14
2010-02-10 14:31:11 00000003 081507/pujle CollectWkfDataByTarge
t Server,RAASPD01
2010-03-26 15:22:15
2010-03-26 16:20:05 資料下載
DataBase Management
主要功能為資料庫維護操作之機置,包含收集資料庫物件及帳號權限、
比對、部署(包含建立及刪除)以及複製資料庫物件。
Alarm Management
主要功能為主動偵測異常以及傳送 Email 通知給相關系統維護人員之 機制。
Log Management
本功能主要記錄所有資料庫操作行為之機制,以方便追蹤所有對於資料
庫操作之正確或錯誤之動作,如圖 4.8 所示為 Log 之檢視畫面。
圖 圖圖
圖 4.8 系統操作系統操作系統操作 Log 資訊系統操作 資訊資訊 資訊
4.5 系統限制 系統限制 系統限制 系統限制
本小節主要說明在研究設計本系統架構時,針對實際企業之情況以及需求,
對於本論文研究設計方向所規範的範圍以及目前無法實作之功能設計。
控管理功能。
本系統目前只針對資料庫物件定義(Table/View….)以及相關資料庫權限進 行管理,對於資料的異動與檢視等安全性,尚未支援。
本系統只針對資料庫軟體進行管理,其它硬體或作業系統之管理並不包含。
4.6 系統導入 系統導入 系統導入 系統導入步驟 步驟 步驟 步驟
本小節主要說明要將單一系統之資料庫納入本系統控管,相關系統以及人員
管理上所必須實作的步驟說明。
建立應用系統與建立應用系統與建立應用系統與建立應用系統與資料庫資料庫資料庫關聯資料庫關聯關聯關聯
本階段之工作為建立應用系統與資料庫 Server 之相關資訊,會由資料庫的
管理人員去設定連線相關的屬性以及資料庫中之最大權限管理者帳號,使 Virtual
DBA 系統具有管理者身份去控管該資料庫。
建立應用程式與員工職掌資料建立應用程式與員工職掌資料建立應用程式與員工職掌資料建立應用程式與員工職掌資料
本階段之工作為建立系統維護人員所負責的系統,如此才能使人員具有操
作權限。
利用系統之管理帳號利用系統之管理帳號利用系統之管理帳號利用系統之管理帳號收集資料庫相關資訊收集資料庫相關資訊收集資料庫相關資訊收集資料庫相關資訊
本階段之工作是將該資料庫之所有物件資料同步至 Virtual DBA 系統,也等
建立跨系統資料關聯資訊建立跨系統資料關聯資訊建立跨系統資料關聯資訊建立跨系統資料關聯資訊
本階段之工作是設定已經收集至 Virtual DBA 的資訊中,那些資料物件是被 該系統或資料庫所參考。
回收相關開發者回收相關開發者回收相關開發者回收相關開發者系統管理系統管理系統管理權限系統管理權限權限權限,,,並更改原先使用帳號之密碼,並更改原先使用帳號之密碼並更改原先使用帳號之密碼並更改原先使用帳號之密碼本階段之工作是若更改原先設定之最大權限帳號之密碼,以使得原先之資
料庫管理人員無法再利用此管理帳號來更動資料庫之物件屬性,而帳號之密碼將
料庫管理人員無法再利用此管理帳號來更動資料庫之物件屬性,而帳號之密碼將