畢業(yè)設(shè)計(jì)(論文)Oracle數(shù)據(jù)庫巡檢報(bào)告自動生成工具_(dá)第1頁
畢業(yè)設(shè)計(jì)(論文)Oracle數(shù)據(jù)庫巡檢報(bào)告自動生成工具_(dá)第2頁
畢業(yè)設(shè)計(jì)(論文)Oracle數(shù)據(jù)庫巡檢報(bào)告自動生成工具_(dá)第3頁
畢業(yè)設(shè)計(jì)(論文)Oracle數(shù)據(jù)庫巡檢報(bào)告自動生成工具_(dá)第4頁
畢業(yè)設(shè)計(jì)(論文)Oracle數(shù)據(jù)庫巡檢報(bào)告自動生成工具_(dá)第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、通化師范學(xué)院通化師范學(xué)院 本本 科科 生生 畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)計(jì) ( 20112011 屆)屆) 題 目:oracle 數(shù)據(jù)庫巡檢報(bào)告自動生成工具 系 別: 計(jì)算機(jī)科學(xué)系 專 業(yè): 信息管理與信息系統(tǒng) 班 級: 2007 級 3 班 作者姓名: 學(xué)號: 指導(dǎo)教師: 職稱: 副教授 學(xué)歷: 碩士 論文成績: 2011 年 4 月 目目 錄錄 摘摘 要:要: .1 abstract:.1 緒緒 論論 .1 第一章第一章 工具開發(fā)分析工具開發(fā)分析 .2 1.1 需求分析.3 1.2 工具的性能分析.3 1.3 運(yùn)行環(huán)境.3 第二章第二章 使用技術(shù)的介紹使用技術(shù)的介紹 .5 2.1 所用語言簡介.5

2、 2.1.1 java 簡介.5 2.1.2 html 簡介.5 2.1.3 css 簡介.5 2.2 數(shù)據(jù)庫簡介.5 2.3 java se 介紹.6 第三章第三章 總體設(shè)計(jì)分析總體設(shè)計(jì)分析 .7 3.1 工具所需代碼設(shè)計(jì).7 3.2 工具的流程設(shè)計(jì)和功能模塊.7 3.3 數(shù)據(jù)庫設(shè)計(jì).8 3.3.1 數(shù)據(jù)庫需求分析.8 3.3.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì).9 第四章第四章 總體設(shè)計(jì)實(shí)現(xiàn)總體設(shè)計(jì)實(shí)現(xiàn) .12 4.1 生成初始文檔.12 4.2 java進(jìn)行中英替換.14 4.3 頁面最終效果.14 第五章第五章 測試與總結(jié)測試與總結(jié) .19 5.1 測試內(nèi)容.19 5.2 測試中出現(xiàn)的問題.19

3、5.3 總結(jié).21 結(jié)束語結(jié)束語 .22 參考文獻(xiàn)參考文獻(xiàn) .23 指導(dǎo)教師評語指導(dǎo)教師評語 .24 評閱人評語評閱人評語 .25 1 oracle 數(shù)據(jù)庫巡檢報(bào)告自動生成工具 計(jì)算機(jī)科學(xué)系 2007 級 3 班 摘摘 要:要:20 世紀(jì)末,隨著計(jì)算機(jī)科學(xué)的發(fā)展,數(shù)據(jù)庫技術(shù)在 internet 中的應(yīng)用越來 越廣泛,越來越多的企業(yè)都有屬于自己的數(shù)據(jù)庫,對數(shù)據(jù)庫的維護(hù)工作也就越發(fā)重要起 來。數(shù)據(jù)庫種類繁多,幾大巨頭公司相繼推出自己的數(shù)據(jù)庫產(chǎn)品,其中甲骨文的 oracle 數(shù)據(jù)庫更是越來越受到各大企業(yè)的喜歡。 本文研究了一種可以自動生成 oracle 數(shù)據(jù)庫巡檢報(bào)告的工具,這一工具解決了耗費(fèi) 大量

4、數(shù)據(jù)庫管理員時(shí)間的問題,應(yīng)用這一特性,可以快速的生成一個(gè)基于 html 格式的頁 面報(bào)告,使操作更方便,也省去了繁瑣的粘貼信息的操作,大大提高了數(shù)據(jù)庫管理員的 工作效率。 關(guān)鍵詞:關(guān)鍵詞:html 格式;巡檢報(bào)告;自動生成;oracle automatically generate tools of oracle database inspection report lv ya-nan , class 3,grade 2007,departement of computer science abstract: in the end of the 20th century, along with

5、 the development of computer science, the application of database technology in internet is more and more extensive, more and more enterprises have databases belonging to their own. the database maintenance work is also more important. there are a wide range of databases. several giant companies hav

6、e launched their own database products, including oracles oracle database which is more and more popular. this paper studies a tool which can automatically generate oracle database of inspection report. the tools can solve the database administrator balancing time problem. application of this one ch

7、aracter can quickly generate report based on html page and make the operation more convenient. it can also save a lot of paste information operations, which greatly improved the working efficiency of the database administrator. keywords: html format; inspection report ; automatically generate; oracl

8、e 2 緒緒 論論 隨著企業(yè)信息化建設(shè)不斷發(fā)展和壯大,業(yè)務(wù)支撐系統(tǒng)的數(shù)據(jù)成為企業(yè)的決策分析, 指導(dǎo)企業(yè)發(fā)展的核心命脈。數(shù)據(jù)所依賴的數(shù)據(jù)庫系統(tǒng)的選擇和適用也變得尤為重要。傳 統(tǒng)關(guān)系數(shù)據(jù)庫的技術(shù)發(fā)展至今,已日趨成熟,關(guān)系數(shù)據(jù)庫的競爭也不僅僅是單純的技術(shù) 競爭,早已擴(kuò)展到了商業(yè)智能、一體化解決方案和服務(wù)等更廣闊的層面【1】。 無論企業(yè)里選擇和適用的是哪種數(shù)據(jù)庫產(chǎn)品,確保其健康、高可用運(yùn)行,是企業(yè)正 常運(yùn)營的基礎(chǔ)保證,因此定期的數(shù)據(jù)庫健康檢查,找出業(yè)務(wù)支撐系統(tǒng)中可能存在的隱患, 保證數(shù)據(jù)的安全非常重要【2】。 目前保證數(shù)據(jù)安全的方法就是定期的對數(shù)據(jù)庫進(jìn)行健康檢查,并對查詢出的信息進(jìn) 行分析,掌握數(shù)據(jù)庫

9、的健康狀況。 在健康檢查的過程中,數(shù)據(jù)庫管理員會有相關(guān)的腳本,執(zhí)行即可,相應(yīng)的會生成一 個(gè) txt 格式的文檔。通過對收集的信息的分析,判斷數(shù)據(jù)庫的健康狀況。聽起來也并沒 有多少的工作量,但是上面的并不是全部的工作,最繁瑣的是要把每一部分的信息手工 的粘貼到正式的文檔中,最終交給客戶。如果只是幾套數(shù)據(jù)庫也還好,但有的客戶會有 幾十套的庫,管理員做這一系列的工作就需要花費(fèi)大量的時(shí)間。一個(gè)可以自動生成報(bào)告 的工具就顯得既方便又省時(shí)了。 3 第一章第一章 工具開發(fā)分析工具開發(fā)分析 1.11.1 需求分析需求分析 事務(wù)處理是計(jì)算機(jī)應(yīng)用的主要領(lǐng)域。各種信息系統(tǒng),如管理信息系統(tǒng)(mis)、決策支 持系統(tǒng)(

10、dss)、辦公室自動化系統(tǒng)(oas)以及計(jì)算機(jī)集成生產(chǎn)系統(tǒng)等的發(fā)展,使數(shù)據(jù)庫成 為數(shù)據(jù)的核心存儲形式。數(shù)據(jù)庫技術(shù)從誕生到現(xiàn)在,在不到半個(gè)世紀(jì)的時(shí)間里,形成了 堅(jiān)實(shí)的理論基礎(chǔ)、成熟的商業(yè)產(chǎn)品和廣泛的應(yīng)用領(lǐng)域,吸引越來越多的研究者加入。數(shù) 據(jù)庫的誕生和發(fā)展給計(jì)算機(jī)信息管理帶來了一場巨大的革命【3】。三十多年來,國內(nèi)外已 經(jīng)開發(fā)建設(shè)了成千上萬個(gè)數(shù)據(jù)庫,它已成為企業(yè)、部門乃至個(gè)人日常工作、生產(chǎn)和生活 的基礎(chǔ)設(shè)施。同時(shí),隨著應(yīng)用的擴(kuò)展與深入,數(shù)據(jù)庫的數(shù)量和規(guī)模越來越大,數(shù)據(jù)庫的 研究領(lǐng)域也已經(jīng)大大地拓廣和深化了。 oracle 數(shù)據(jù)庫巡檢報(bào)告是數(shù)據(jù)庫管理員對數(shù)據(jù)庫所有健康狀況的反應(yīng),這些信息的 收集是對

11、數(shù)據(jù)庫性能判斷的第一步。數(shù)據(jù)庫管理員通過對信息的分析,對發(fā)現(xiàn)的報(bào)錯(cuò)或 者警告進(jìn)行處理,以避免如數(shù)據(jù)庫當(dāng)機(jī)等一些災(zāi)難的發(fā)生。 1.21.2 工具的工具的性能性能分析分析 oracle 數(shù)據(jù)庫巡檢報(bào)告自動生成工具的總體設(shè)計(jì)目標(biāo)是為了讓數(shù)據(jù)庫管理員能夠通 過簡單的操作步驟,從而快速的自動生成所需報(bào)告。傳統(tǒng)的對于數(shù)據(jù)庫巡檢的這一工作 步驟過于繁瑣,從對數(shù)據(jù)庫信息的提取到生成可以提交給客戶的報(bào)告這一過程,一個(gè)單 節(jié)點(diǎn)的數(shù)據(jù)庫也需要 1 個(gè)小時(shí)左右,大部分的客戶會有很多套庫,可想而知其中的工作 量之大。最主要是這一個(gè)過程所用的大部分時(shí)間和維護(hù)數(shù)據(jù)庫的健康是沒關(guān)系的。而自 動生成巡檢報(bào)告的這一工具就是針對過

12、于耗時(shí)的問題出發(fā),減少數(shù)據(jù)庫管理員的工作量, 更提高了巡檢數(shù)據(jù)庫這一工作的效率。 1.31.3 運(yùn)行環(huán)境運(yùn)行環(huán)境 操作系統(tǒng)環(huán)境 客戶端: 操作系統(tǒng):windows 98/nt/2000/xp 或更高版本,有 java 環(huán)境; 4 瀏覽器:ie 6.0 以上或 netscape 同等版本以上; 服務(wù)器: 操作系統(tǒng):windows,linux,aix 等; 數(shù)據(jù)庫:oracle 。 5 第二章第二章 使用技術(shù)的介紹使用技術(shù)的介紹 2.12.1 所用語言所用語言簡介簡介 .1 javajava 簡介簡介 java 是一個(gè)由 sun 公司開發(fā)而成的新一代編程語言。使用它可在各式各樣不同

13、種機(jī) 器、不同種操作平臺的網(wǎng)絡(luò)環(huán)境中開發(fā)軟件。不論你使用的是哪一種 www 瀏覽器,哪一 種計(jì)算機(jī),哪一種操作系統(tǒng),只要 www 瀏覽器上面注明了“支持 java” ,你就可以看到生 動的主頁。java 正在逐步成為 internet 應(yīng)用的主要開發(fā)語言【4】。它徹底改變了應(yīng)用軟 件的開發(fā)模式,帶來了自 pc 機(jī)以來又一次技術(shù)革命,為迅速發(fā)展的信息世界增添了新的 活力。 .2 htmlhtml 簡介簡介 html(hyper text markup language 超文本標(biāo)記語言)是一種用來制作超文本文檔 的簡單標(biāo)記語言。用 html 編寫的超文本文檔稱為 html 文檔,它

14、能獨(dú)立于各種操作系統(tǒng) 平臺(如 unix,windows 等) 。html 文檔(即 homepage 的源文件)是一個(gè)放置了標(biāo)記的 ascii 文本文件,通常它帶有.html 或.htm 的文件擴(kuò)展名。 .3 csscss 簡介簡介 css(cascading style sheet,可譯為“層疊樣式表”或“級聯(lián)樣式表” )是一組格 式設(shè)置規(guī)則,用于控制 web 頁面的外觀。通過使用 css 樣式設(shè)置頁面的格式,可將頁面 的內(nèi)容與表現(xiàn)形式分離。頁面內(nèi)容存放在 html 文檔中,而用于定義表現(xiàn)形式的 css 規(guī)則 則存放在另一個(gè)文件中或 html 文檔的某一部分,通常為文件頭部

15、分。將內(nèi)容與表現(xiàn)形式 分離,不僅可使維護(hù)站點(diǎn)的外觀更加容易,而且還可以使 html 文檔代碼更加簡練,縮短 瀏覽器的加載時(shí)間。 2.22.2 數(shù)據(jù)庫簡介數(shù)據(jù)庫簡介 6 oracle 數(shù)據(jù)庫管理系統(tǒng)是一個(gè)以關(guān)系型和面向?qū)ο鬄橹行墓芾頂?shù)據(jù)的數(shù)據(jù)庫管理軟 件系統(tǒng),其在管理信息系統(tǒng)、企業(yè)數(shù)據(jù)處理、因特網(wǎng)及電子商務(wù)等領(lǐng)域有著非常廣泛的 應(yīng)用【5】。因其在數(shù)據(jù)安全性與數(shù)據(jù)完整性控制方面的優(yōu)越性能,以及跨操作系統(tǒng)、跨硬 件平臺的數(shù)據(jù)互操作能力,使得越來越多的用戶將 oracle 作為其應(yīng)用數(shù)據(jù)的處理系統(tǒng)。 2.32.3 javajava sese 介紹介紹 java se 是 java 平臺標(biāo)準(zhǔn)版的簡稱(j

16、ava platform, standard edition) (also known as java 2 platform) ,用于開發(fā)和部署桌面、服務(wù)器以及嵌入設(shè)備和實(shí)時(shí)環(huán)境 中的 java 應(yīng)用程序【6】。java se 包括用于開發(fā) java web 服務(wù)的類庫,同時(shí),java se 為 java ee 提供了基礎(chǔ)。java se(java platform, standard edition,java 標(biāo)準(zhǔn)版) 就是基于 jdk 和 jre 的。 7 第三章第三章 總體設(shè)計(jì)分析總體設(shè)計(jì)分析 3.13.1 工具所需代碼設(shè)計(jì)工具所需代碼設(shè)計(jì) 可以分解為如下幾個(gè)部分: 1、從數(shù)據(jù)庫中提取數(shù)

17、據(jù):這一部分主要是從目標(biāo)數(shù)據(jù)庫中提取分析時(shí)所需要的數(shù)據(jù), 包括用基本的 sql 語句提取的數(shù)據(jù)和對數(shù)據(jù)的一些解釋,是整個(gè)文檔中的最重要部分。 2、文檔中的中英文替換:此時(shí)已經(jīng)存在了一個(gè)文檔,但是其中的一些解釋信息卻不 能中文顯示,所以需要 java 代碼把文檔中的英文替換成中文,達(dá)到最后的文檔顯示效果。 3.23.2 工具的流程設(shè)計(jì)和功能模塊工具的流程設(shè)計(jì)和功能模塊 對于一份功能健全的巡檢報(bào)告,你可以知道它的作者,巡檢單位,和一些數(shù)據(jù)庫的 信息。如圖 3-1 為本工具的功能模塊圖。 巡檢報(bào)告 系統(tǒng) 方面 數(shù)據(jù)庫 方面 系 統(tǒng) 環(huán) 境 主 機(jī) 配 置 c p u 使 用 率 內(nèi) 存 使 用 率

18、s g a 參 數(shù) 控 制 文 件 日 志 文 件 表 空 間 管 理 數(shù) 據(jù) 庫 配 置 圖 3-1 功能模塊圖 本工具的目的是從 oracle 數(shù)據(jù)庫中提取信息,從而快速生成 html 文檔。流程大致 如圖 3-2 下所示: 8 初始文檔 最終文檔 主代碼 sql 代碼 數(shù)據(jù)說明代碼 文檔樣式 主要數(shù)據(jù) 數(shù)據(jù)說明 頁面設(shè)置代碼 執(zhí)行 替換 圖 3-2 工具流程圖 用戶在操作系統(tǒng)終端對數(shù)據(jù)庫執(zhí)行操作,然后會在當(dāng)前路徑生成一個(gè) html 格式的初 始文檔。在 java 環(huán)境下對初始文檔進(jìn)行替換工作,生成最終的可以交給用戶的文檔。 3.33.3 數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì) 數(shù)據(jù)庫在一個(gè)信息管理系統(tǒng)中占

19、有非常重要的地位,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)的好壞將直接 對應(yīng)用系統(tǒng)的效率,以及實(shí)現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)可以提高數(shù)據(jù)存 儲的效率,保證數(shù)據(jù)的完整和一致。 .1 數(shù)據(jù)庫需求分析數(shù)據(jù)庫需求分析 1.表空間的使用狀況是整個(gè)巡檢報(bào)告中比較重要的部分,記錄數(shù)據(jù)庫中各個(gè)表空間 的剩余空間,把握它們的使用情況,避免沒有使用空間的情況。針對本巡檢報(bào)告的需求, 得到表空間如下需求信息。 表空間,包括數(shù)據(jù)項(xiàng):名稱,類型,狀態(tài)。 數(shù)據(jù)文件,包括數(shù)據(jù)項(xiàng):id,存儲路徑,所屬表空間,大小。 剩余可用空間,包括數(shù)據(jù)項(xiàng):表空間,數(shù)據(jù)文件,可用字節(jié)數(shù)。 9 以上三者之間的關(guān)系如圖 3-3 所示。 表空間

20、(由一個(gè)或多個(gè)數(shù)據(jù)文件構(gòu)成) 數(shù)據(jù)文件 剩余 空間 已 用 空 間 圖 3-3 三者之間的關(guān)系圖 2. 數(shù)據(jù)文件的自動擴(kuò)展也是整個(gè)報(bào)告中比較關(guān)鍵的問題之一,如果數(shù)據(jù)文件可以自 動擴(kuò)展,即使出現(xiàn)表空間空閑使用率很低也不用擔(dān)心,oracle 會自動增加它的容量。其 中又包括存儲正常數(shù)據(jù)的數(shù)據(jù)文件和存儲臨時(shí)數(shù)據(jù)的臨時(shí)數(shù)據(jù)文件。針對本巡檢報(bào)告的 需求,得到數(shù)據(jù)文件自動擴(kuò)展如下需求信息。 數(shù)據(jù)文件,包括數(shù)據(jù)項(xiàng):id,存儲路徑,所屬表空間,大小。 臨時(shí)表空間數(shù)據(jù)文件,包括數(shù)據(jù)項(xiàng):表空間,數(shù)據(jù)文件,可用字節(jié)數(shù)。 .2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì) 1.在巡檢報(bào)告中各個(gè)有關(guān)表空間使用情

21、況的表的設(shè)計(jì)結(jié)果如下所示。 表 3-1 dba_tablespaces 字段名數(shù)據(jù)類型允許空說明 tablespace_namevarchar2(30)no 表空間名 statusvarchar2(9)yes 狀態(tài) extent_managementvarchar2(10)yes 區(qū)的管理方式 contentsvarchar2(9)yes 表空間類型 segment_space_managementvarchar2(6)yes 段空間管理 10 表 3-2 dba_data_files 字段名數(shù)據(jù)類型允許空說明 file_namevarchar2(513)yes 文件存儲路徑 file_idn

22、umberyes 文件編號 tablespace_namevarchar2(30)yes 所屬表空間 bytesnumberyes 字節(jié)數(shù) blocksnumberyes 總塊數(shù) statusvarchar2(9)yes 當(dāng)前狀態(tài) autoextensiblevarchar2(3)yes 是否可擴(kuò)展 online_statusvarchar2(7)yes 在線與否 表 3-3 dba_free_space 字段名數(shù)據(jù)類型允許空說明 tablespace_namevarchar2(30)yes 表空間名 bytesnumberyes 字節(jié)數(shù) file_idnumberyes 文件編號 block

23、_idnumberyes 數(shù)據(jù)塊編號 blocksnumberyes 數(shù)據(jù)塊數(shù) 2. 在巡檢報(bào)告中各個(gè)有關(guān)數(shù)據(jù)文件自動擴(kuò)展情況表的設(shè)計(jì)結(jié)果如下所示。 表 3-4 dba_data_files 字段名數(shù)據(jù)類型允許空說明 file_namevarchar2(513)yes 文件存儲路徑 file_idnumberyes 文件編號 tablespace_namevarchar2(30)yes 所屬表空間 bytesnumberyes 字節(jié)數(shù) blocksnumberyes 總塊數(shù) statusvarchar2(9)yes 當(dāng)前狀態(tài) autoextensiblevarchar2(3)yes 是否可擴(kuò)展

24、 online_statusvarchar2(7)yes 在線與否 表 3-5 dba_temp_files 字段名數(shù)據(jù)類型允許空說明 file_namevarchar2(513)yes 文件存儲路徑 file_idnumberyes 文件編號 tablespace_namevarchar2(30)no 所屬表空間 bytesnumberyes 字節(jié)數(shù) blocksnumberyes 總塊數(shù) 11 statuschar(9)yes 當(dāng)前狀態(tài) autoextensiblevarchar2(3)yes 是否可擴(kuò)展 maxbytesnumberyes 最大字節(jié)數(shù) maxblocksnumberyes

25、 最大數(shù)據(jù)塊數(shù) 12 第四章第四章 總體設(shè)計(jì)實(shí)現(xiàn)總體設(shè)計(jì)實(shí)現(xiàn) 4.14.1 生成初始文檔生成初始文檔 以上所有的代碼存儲在一個(gè)腳本 rep.pdc 中,在服務(wù)器端的 sqlplus 下執(zhí)行此腳本, 過程如下 在當(dāng)前目錄下生成如下 liyw_report_oraclesid+時(shí)間.html 文件 最初文檔的效果 13 所用到的部分代碼如下: set linesize 1000 col f.tablespace_name format a15 col d.tot_grootte_mb format a10 col ts-per format a15 select upper(f.tablespac

26、e_name) ts-name, d.tot_grootte_mb ts-bytes(m), d.tot_grootte_mb - f.total_bytes ts-used (m), f.total_bytes ts-free(m), to_char(round(d.tot_grootte_mb - f.total_bytes) / d.tot_grootte_mb * 100, 2), 990.99) ts-per from (select tablespace_name, round(sum(bytes) / (1024 * 1024), 2) total_bytes, round(ma

27、x(bytes) / (1024 * 1024), 2) max_bytes from sys.dba_free_space group by tablespace_name) f, (select dd.tablespace_name, round(sum(dd.bytes) / (1024 * 1024), 2) tot_grootte_mb from sys.dba_data_files dd group by dd.tablespace_name) d where d.tablespace_name = f.tablespace_name order by 5 desc; 14 sel

28、ect file_name,tablespace_name,autoextensible from dba_data_files where autoextensible=yes; select file_name,tablespace_name,autoextensible from dba_temp_files where autoextensible=yes; 4.24.2 javajava 進(jìn)行中英替換進(jìn)行中英替換 由上面的最初文檔頁面效果可以看到,數(shù)據(jù)的旁邊會有一串英文,這串英文實(shí)際是 對這部分?jǐn)?shù)據(jù)的標(biāo)題。如果這樣的顯示效果應(yīng)該只有設(shè)計(jì)者可以明白它的意思,所以需 要把英文替換成中文,

29、讓所有看到文檔的人都能夠一目了然。 拷貝這個(gè)初始文檔到本地計(jì)算機(jī),設(shè)置好 java_home 環(huán)境變量,進(jìn)入你 r1.java 所 在路徑,對 r1.java 進(jìn)行編譯,會在此目錄下生成 r1.class 4.34.3 頁面最終效果頁面最終效果 r1.class 和 orac_b.txt 應(yīng)在同一目錄下,執(zhí)行如下命令 15 最終頁面效果 使用到的代碼如下: import java.util.regex.*; import java.io.*; import java.lang.string.*; import java.lang.integer; public class r1 public

30、static void main(string args) 16 string chinese =new string10002 ; string outfile; if (args.length=0) system.out.println(err:請輸入轉(zhuǎn)換文件的名字); return; if (args.length=1) outfile=lyn_helch.html; else outfile=args1; chinese=readfilebylines(orac_b.txt); system.out.println(參數(shù)文件長度為:+chinese.length+行); writefi

31、lebylines(args0,outfile,chinese); system.out.println(完畢); /*讀配置參數(shù)文件*/ public static string readfilebylines(string filename) string chinese =new string10002 ; file file = new file(filename); bufferedreader reader = null; try reader = new bufferedreader(new filereader(file); string headstring = null;

32、string tempstring = null; int char_no = 0; int line=0; while (tempstring = reader.readline() != null) char_no=tempstring.indexof(=); if(char_no!=-1) headstring=tempstring.substring(0,char_no); tempstring=tempstring.substring(char_no+1); chineseline0=headstring; chineseline1=tempstring; line+; reader

33、.close(); catch (ioexception e) e.printstacktrace(); finally if (reader != null) try 17 reader.close(); catch (ioexception e1) return chinese; public static void writefilebylines(string filename,string filename1,string ary) filewriter fw = null; file fe=null; bufferedreader reader = null; string st;

34、 string chenge; try fw = new filewriter(filename1); fe = new file(filename); reader = new bufferedreader(new filereader(fe); pattern p; matcher m; boolean b=true; for (int i = 0; i+) st=reader.readline(); if (st= null )break; for(int j = 0; j+) if (aryj0= null )break; p =ppile(aryj0); m = p.matcher(

35、st); b=m.find(); if(b) chenge=m.replaceall(aryj1); fw.write(chenge); fw.write(rn); break; if (!b) fw.write(st); fw.write(rn); fw.close(); 18 catch (exception e) e.printstacktrace(); finally try fw.close(); catch (exception e) e.printstacktrace(); 19 第五章第五章 測試與總結(jié)測試與總結(jié) 5.15.1 測試內(nèi)容測試內(nèi)容 主要包括一下幾個(gè)方面: 1、操作

36、系統(tǒng)平臺測試。 linux 或者 aix 服務(wù)器,可以在服務(wù)器上執(zhí)行信息采集腳本,將其生成的 html 文 檔下載到本地,再對其進(jìn)行編譯,以免字符集不符出現(xiàn)亂碼。 2、數(shù)據(jù)庫版本測試。 對 oracle 9i、10g、11g 等不同版本測試,確定其適用的版本。 3、速度測試。 記錄開始執(zhí)行到生成報(bào)告的整個(gè)過程中所用的時(shí)間,以評定其高效性。 5.25.2 測試中出現(xiàn)的問題測試中出現(xiàn)的問題 1、初始文檔信息丟失問題 執(zhí)行過程中沒有任何報(bào)錯(cuò),但是從生成的最初文檔中可以看到數(shù)據(jù)庫的部分信息 丟失,顯示效果如圖 5-1 所示: 20 圖 5-1 部分信息丟失問題 出現(xiàn)這個(gè)問題的原因主要是在數(shù)據(jù)庫中提取信

37、息時(shí),執(zhí)行腳本的用戶沒有足夠的對 數(shù)據(jù)庫操作的權(quán)限,對執(zhí)行腳本的用戶授予 sysdba 權(quán)限后顯示效果如圖 5-2 所示: 圖 5-2 解決信息丟失問題效果 2、亂碼問題 可以在任何的操作系統(tǒng)中執(zhí)行腳本生成初始的文檔,但是運(yùn)用 java 進(jìn)行中英文替換 時(shí)有可能因?yàn)樽址膯栴}出現(xiàn)亂碼,顯示效果如圖 5-3 所示: 21 圖 5-3 亂碼問題 如圖可以可到,在對 java 代碼編譯過程中出現(xiàn)了亂碼,無法生成相應(yīng)的 .class 文 件,這主要是代碼編寫的字符集和操作系統(tǒng)中的編碼不同,解決辦法如下: (1)把初始文檔拷貝到 windows 上,在 windows 系統(tǒng)中對其進(jìn)行編譯。 (2)設(shè)置當(dāng)前操作系統(tǒng)的字符集,如本測試系統(tǒng)是 linux,可以只對當(dāng)前會話修改 export lang=zh_cn.gb18030 ,設(shè)置后再進(jìn)行編譯,顯示效果如圖 5-4 所示: 圖 5-3 解決亂碼問題顯示效果 5.35.3 總結(jié)總結(jié) 通過對工具的開發(fā),各個(gè)腳本的編寫以及最后的測試,快速生成 oracle 巡檢報(bào) 告這一工具已經(jīng)可以滿足當(dāng)前數(shù)據(jù)庫管理員的要求,當(dāng)然,此工

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論