『壹』 資料庫管理員
DBA資料庫管理員要求
近年來,我一直在和資料庫管理員打交道,並直接面試了很多DBA職位。本文想概括一下IT行業對DBA的要求,以及國內DBA的新資現狀。可以肯定地說,做一個高級DBA是很不錯的職業。如果你打算成為一名DBA,那麼希望本文起到拋磚引玉的作用。
什麼是DBA
資料庫管理員,英文是Database Administrator,簡稱DBA。這個職位對不同的人意味著不同的意義。一個小的軟體開發工作室和一個分工高度明細的大公司相比,DBA的職責來得更加寬泛一些。一個公司,不管它是自己開發應用軟體,還是購買第三方的應用軟體,只要涉及到資料庫(有多少不涉及資料庫的應用軟體呢?資料庫是商業的靈魂和大腦啊),就需要確定是否僱傭一個或幾個DBA。知道DBA這個職位有哪些要求,對於企業內部這個職位的定義或者對於那些未來的DBA將是至關重要的。下面我列出了DBA的一些職責:
安裝和升級資料庫伺服器(如Oracle、Microsoft sql server),以及應用程序工具。 資料庫設計系統存儲方案,並制定未來的存儲需求計劃。 一旦開發人員設計了一個應用,就需要DBA來創建資料庫存儲結構(tablespaces)。 一旦開發人員設計了一個應用,就需要DBA來創建資料庫對象(tables,views,indexes)。 根據開發人員的反饋信息,必要的時候,修改資料庫的結構。 登記資料庫的用戶,維護資料庫的安全性。 保證資料庫的使用符合知識產權相關法規。 控制和監控用戶對資料庫的存取訪問。 監控和優化資料庫的性能。 制定資料庫備份計劃,災難出現時對資料庫信息進行恢復 維護適當介質上的存檔或者備份數據 備份和恢復資料庫 聯系資料庫系統的生產廠商,跟蹤技術信息。 DBA的個性特點
很多時候管理人員都忽視了DBA的個性特點,他們只關注DBA的技術能力。實際上,上面談到的每個職責都意味著:DBA需要跟各種人員打交道,這些人員可能是銷售商、用戶、開發人員或者管理人員。這說明:DBA必須具有下面的個性特點:
自信心 好奇心 堅韌的意志力 老練 自我驅動 注意細節 為什麼這些個性特點很重要呢?
我就有幾個缺乏自信心的部下,他們反復問我一些事無巨細的問題,他們沒有信心哪怕做最小的決定。他們也缺乏工作的主動性。這對於初級DBA來說可能問題不太大,但對於那些高級DBA來說,如果他們缺乏自信心,他們又可以依賴誰幫他們決策呢?在DBA的面試中,即使你不能回答某個技術問題,你也要表現出足夠的自信心。最致命的不是不知道問題的答案,而是不知道從哪兒得到答案。
幾乎所有的資料庫系統都在不停地更新。但並不是所有的更新都有技術文檔。對於好的DBA來說,好奇心是必需的。沒有好奇心和求知慾的DBA總是等待有人告訴他們答案。而一個求知慾強的DBA將安裝最新版本的資料庫系統,並立即開始搜尋那些哪怕是細微的功能和性能上的差異和增強,從而改進自己的工作。應試時一個必然問及的問題是:你手頭有哪些參考資料?你如何使用它們?毫無疑問,如果你只回答了資料庫的文檔,或者你甚至沒有讀過他們,你的"股票市值"將大大下降。好奇心會驅使DBA們理解數據字典(Data Dictionary)、管理工具(Tools)或者其他支持包(Packages)。
DBA常常會碰到棘手的問題。尋找答案是一個需要堅韌意志力、可以經受摔打的個性特點。我常常在一些討論組或者論壇上看到DBA們提出的問題,這些問題往往是提問者自己可以解決的,如果他們具有堅韌的個性特點,並努力尋求問題的答案。
自我驅動對每個人都是很重要的,對DBA尤其如此。DBA要能想辦法使問題出現,而不是等待問題的出現。自驅力強的DBA常常設法取得或者自己寫一些必要的腳本(Script)來監控包括數據表大小(Table Size)、表空間使用(Tablespace Usage)等項目,這些項目如果被忽視,他們將遇到麻煩。應試的時候DBA們常常被問及在PL/SQL、SQL或者SQL*PLUS方面的經驗,這些問題將把你從從來沒有編寫過自己需要的腳本的那些DBA們區分開。
不用說和用戶,就是和程序員和管理人員打交道,也需要你足夠老練。一個一點不會處事的DBA不會為你做什麼好事,只會在你的部門點燃敵對情緒的烈火。老練是這樣一種能力,你勸告某個人到地府去,哈哈,最後這個人懷著渴望的心情去了。很多時候,開發者、管理者、用戶,他們會提出毫無道理的需求,DBA們需要老練地引導、修正它們的要求,說服他們。在應試時,你的應對就很能說明你是否老練。
最後說說注意細節,這種性格傾向非常重要。注意細節的DBA們衣著整潔,有自己的日程安排,在應試前對應聘的單位做過調查。注意細節的DBA們深入了解資料庫的內核,並能理解視圖、表之間的關系。
DBA的等級
DBA的等級並不是很嚴格的。按照對資料庫的掌握情況,我簡單地分成三個等級:初級Primary、中級Intermediate和高級Senior。
初級DBA又稱為DBBS,是英文Database Baby Sitter的縮寫。初級DBA常常是兼職的,他們往往同時是程序員或者兼任其他的工作。初級DBA往往把個人簡歷寫得很棒,參與了很多和資料庫有關的項目或工作。但是,這些項目或者工作往往是:第三方軟體供應商已經安裝並配置了資料庫,他們只做一些監控的工作。他們能處理一些簡單的問題,但大多數時候他們向應用軟體供應商求救。初級DBA更喜歡圖形化的資料庫管理或者監控工具,他們喜歡Access這樣的桌面資料庫簡單易用,並把這些小型資料庫的經驗簡單地應用到大型資料庫相關的工作中。
初級DBA是最好區分的。而中級DBA和高級DBA就不太好區分。他們的差別在於經驗的不同和個性特點、能力方面的差異。中級DBA比較多,他們可以勝任高級DBA的大部分工作,包括:
資料庫安裝 資料庫配置和管理 許可權設置和安全管理 監控和性能調節 備份和恢復 解決一般的問題 中級DBA往往從業一年左右,熟悉某種操作系統環境下的資料庫。因為對中級DBA來講,Windows NT和Unix是有很大差別的。中級DBA對SQL比較熟悉,他們自己購買了幾本資料庫方面的書籍,並深入鑽研。中級DBA往往同時兼任資料庫程序員,他們的工作對性能、穩定性、安全性的追求基本上不是很高,往往配合高級DBA做一些例行工作。
高級DBA在國內是非常少的。他們購買了太多的資料庫方面的英文資料,也許是托朋友從Amazon買的。相對於他們的報酬來講,買書的錢是很少的一個比例。高級DBA一般都熟悉很多種操作平台下的幾種大型資料庫。他們知道各種不同資料庫在不同環境下的優勢和劣勢,並能在資料庫平台和資料庫環境的選擇方面做出決策。他們一般通曉系統架構和資料庫設計,並能對資料庫進行各種級別的優化。高級DBA一般都配有助手,他們更偏向做決策和計劃。高級DBA往往在銀行業、保險業、在線交易等對穩定性、安全性、性能都要求比較高的關鍵業務處理領域大顯身手。
很多時候,是否取得資料庫專家認證證書並不是很重要。我知道很多資料庫廠商的培訓只要你去了都會獲得證書。有很多的公司提供商業化的培訓,他們的服務質量也有好有劣。所以證書並不是特別地有意義。
幾種流行的資料庫系統
最"容易"的資料庫系統-Microsoft SQL Server
如果你打算做一個DBA,建議你選擇那些現在比較流行的資料庫系統。這意味著你將有更多的就業機會、交流和培訓機會,而且,流行自有流行的理由,你可以因此省心很多。當然,就業競爭壓力也比較大。一般的入門者選擇Microsoft SQL Server,這是非常適合中小型企業的資料庫系統,熟悉Access的讀者很容易就能初步使用Microsoft SQL Server,成為一個DBBS。 J
Microsoft SQL Server 7.0的報價,5用戶版1399美金,增加用戶時,127美金每用戶。
最"難"的資料庫-無冕之王Oracle
如果你有機會接觸到Oracle,那可是個好機會。Oracle是目前最看好的資料庫廠商,由於其強大的功能和可配置、可管理能力,Oracle DBA的薪資一般比其他資料庫管理員的薪資要高。而且,Oracle在大中型企業的關鍵應用也更加普遍了。Oracle可以運行在Windows NT、Sun Solaris、Linux等平台下。很多情況下要求你不僅僅熟悉NT,還要你熟悉Unix;而且Oracle不太友善的界面和成箱的Oracle產品資料可能也是一個障礙。
Oracle 8i標准版的報價,如果運行在Windows NT,附帶JServer和interMedia,支持5個並發用戶,報價是3925美金每CPU。增加並發用戶時,785美金每用戶。增加附加的命名用戶時,392.5美金每用戶。
資料庫系統的貴族-IBM UDB/DB2
作為30年資料庫研究的成果,IBM DB2確實稱得上"資料庫系統的貴族"。不管是小型商業系統,還是大的銀行系統,用DB2都是可以高枕無憂的。最近推出的新版DB2 6.1, 管理和調節工具更加卓越和便於使用。DB2 可以運行在Intel架構上,也可以運行在IBM的S/390大型計算機上。如果你所在的行業對IBM的機器特別地稱道,建議你學習IBM DB2。
DB2有兩種版本:工作組版和企業版。工作組版999美元每伺服器,外加249美元每個並發用戶。而企業版是12500美元每個CPU,不限並發用戶數量。
以Java為中心的資料庫-Sybase Adaptive Server Enterprise(ASE) 12.0
即將發布的Sybase ASE 12.0,直接面向Java 程序員。這種以Java為中心的資料庫系統,為那些准備在Java 平台下構建企業應用的企業來說,將是最好的選擇。但是ASE稱不上一個資料庫領域的領先者,盡管相對於它以前的版本已經改進很多,並支持多個CPU和更多的並發,還有很多的新的特性。但Sybase的風光似乎已經不再。
值得期盼的Informix Centaur
有時候"第一"只是意味著你的對手需要等待更長的時間去趕上你。這正是1997年創立的Informix所面臨的。Informix公司是率先將多媒體特性加入到關系資料庫系統的大型資料庫廠商之一。但是如今,IBM、Oracle、Sybase都已經跨越了這個概念。所以,Informix不得不尋求新的支撐來使自己區別於其他資料庫廠商。這就是Informix Centaur的目標。Informix Centaur結合了Informix Dynamic Server 7.3的對象-關系資料庫和Informix Universal Data Option 9.1,意在獲得更好的適應性和多媒體支持。詳情如何,我們拭目以待!
DBA的薪資
有很多因素影響到你作為DBA的薪資:
你的經驗和能力所決定的DBA等級 你所熟悉的資料庫系統 你的個性特點和潛力 下面的表說明了國內DBA人員的基本薪資狀況,並說明了DAB等級和你所熟悉的資料庫系統怎樣影響到DBA的薪資。當然,這只是我個人掌握的情況,只能在一定程度上代錶行業的平均水平。
DBA等級資料庫系統 初級DBA年薪(萬元) 中級DBA年薪(萬元) 高級DBA年薪(萬元) Oracle 4 8 11 Microsoft SQL Server 3 5 8 IBM DB2 4 8 10 Sybase 3.5 6 8 Informix 4 7 10 註:每年按13個月計算。表內數字為平均年薪
『貳』 使用mysql 一個資料庫中有倆個表: student(學生表) 和score(成績表)
SET @i=0。
SQL本身有數據導入的操作。但如果要從一個備份的文件中導入數據,則要進行另外的操作。下面以一個例子進行說明。
SQL伺服器上已有一個DOE資料庫,並且裡面有大量的數據,現准備從另外一個備份文件A1.BAK(不是DOE資料庫的備份文件)中導入另外的數據(即導入後在DOE中增加一些數據表,表中已錄有數據),並保持原DOE的數據不變。
(2)靜安區參考資料庫反饋擴展閱讀:
在為MySQL分配足夠的內存之前,請考慮不同領域對MySQL的內存需求。要考慮的關鍵領域是:並發連接——對於大量並發連接,排序和臨時表將需要大量內存。在撰寫本文時,對於處理3000+並發連接的資料庫,16GB到32GB的RAM是足夠的。
內存碎片可以消耗大約10%或更多的內存。像innodb_buffer_pool_size、key_buffer_size、query_cache_size等緩存和緩沖區要消耗大約80%的已分配內存。
『叄』 資料庫的數據檢索和 搜索引擎的信息檢索的不同點是什麼需要解決的核心問題和核心技術有何不同
信息檢索不等於搜索引擎。
互聯網的發展明顯地促進了信息檢索技術的發展和應用,一大批搜索引擎產品誕生,為網民提供了很好的快速信息獲取和網路信息導航工具,但是將信息檢索等同於使用搜索引擎就陷入了誤區。搜索引擎技術中也普遍採用了全文信息檢索技術,但互聯網信息搜索和企業信息搜索是不同的。
一是數據量。傳統信息檢索系統一般索引庫規模多在GB級,但互聯網網頁搜索需要處理幾千萬上億的網頁,搜索引擎的基本策略都是採用檢索伺服器群集,對大多數企業應用是不合適和不必要的,並不適用於企業應用。
二是內容相關性。信息太多,查准和排序就特別重要,Google等搜索引擎發展了網頁鏈接分析技術,根據互聯網上網頁被連接次數作為重要性評判的依據。但企業網站內部的網頁鏈接由網站內容采編發布系統決定,其鏈接次數存在偶然因素,不能作為判別重要性的依據。真正的企業應用的檢索要求基於內容的相關性排序,就是說,和檢索要求最相關的信息排在檢索結果的前面,鏈接分析技術此種排序基本不起作用。
三是實時性。搜索引擎的索引生成和檢索服務是分開的,周期性更新和同步數據,大的搜索引擎的更新周期需要以周乃至月度量;而企業信息檢索需要實時反映內外信息變化,搜索引擎系統機制並不能適應企業中動態性數據增長和修改的要求。
四是安全性。互聯網搜索引擎都基於文件系統,但企業應用中內容一般均會安全和集中地存放在數據倉庫中以保證數據安全和管理的要求。
五是個性化和智能化。由於搜索引擎數據和客戶規模的限制,相關反饋、知識檢索、知識挖掘等計算密集的智能技術很難應用,而專門針對企業的信息檢索應用能在智能化和個性走得更遠。
(InformationRetrieval),通常指文本信息檢索,包括信息的存儲、組織、表現、查詢、存取等各個方面,其核心為文本信息的索引和檢索。從歷史上看,信息檢索經歷了手工檢索、計算機檢索到目前網路化、智能化檢索等多個發展階段。
目前,信息檢索已經發展到網路化和智能化的階段。信息檢索的對象從相對封閉、穩定一致、由獨立資料庫集中管理的信息內容擴展到開放、動態、更新快、分布廣泛、管理鬆散的Web內容;信息檢索的用戶也由原來的情報專業人員擴展到包括商務人員、管理人員、教師學生、各專業人士等在內的普通大眾,他們對信息檢索從結果到方式提出了更高、更多樣化的要求。適應網路化、智能化以及個性化的需要是目前信息檢索技術發展的新趨勢。
信息檢索技術的熱點
◆智能檢索或知識檢索
傳統的全文檢索技術基於關鍵詞匹配進行檢索,往往存在查不全、查不準、檢索質量不高的現象,特別是在網路信息時代,利用關鍵詞匹配很難滿足人們檢索的要求。智能檢索利用分詞詞典、同義詞典,同音詞典改善檢索效果,比如用戶查詢「計算機」,與「電腦」相關的信息也能檢索出來;進一步還可在知識層面或者說概念層面上輔助查詢,通過主題詞典、上下位詞典、相關同級詞典,形成一個知識體系或概念網路,給予用戶智能知識提示,最終幫助用戶獲得最佳的檢索效果,比如用戶可以進一步縮小查詢范圍至「微機」、「伺服器」或擴大查詢至「信息技術」或查詢相關的「電子技術」、「軟體」、「計算機應用」等范疇。另外,智能檢索還包括歧義信息和檢索處理,如「蘋果」,究竟是指水果還是電腦品牌,「華人」與「中華人民共和國」的區分,將通過歧義知識描述庫、全文索引、用戶檢索上下文分析以及用戶相關性反饋等技術結合處理,高效、准確地反饋給用戶最需要的信息。
◆知識挖掘
目前主要指文本挖掘技術的發展,目的是幫助人們更好的發現、組織、表示信息,提取知識,滿足信息檢索的高層次需要。知識挖掘包括摘要、分類(聚類)和相似性檢索等方面。
自動摘要就是利用計算機自動地從原始文獻中提取文摘。在信息檢索中,自動摘要有助於用戶快速評價檢索結果的相關程度,在信息服務中,自動摘要有助於多種形式的內容分發,如發往PDA、手機等。相似性檢索技術基於文檔內容特徵檢索與其相似或相關的文檔,是實現用戶個性化相關反饋的基礎,也可用於去重分析。自動分類可基於統計或規則,經過機器學習形成預定義分類樹,再根據文檔的內容特徵將其歸類;自動聚類則是根據文檔內容的相關程度進行分組歸並。自動分類(聚類)在信息組織、導航方面非常有用。
◆異構信息整合檢索和全息檢索
在信息檢索分布化和網路化的趨勢下,信息檢索系統的開放性和集成性要求越來越高,需要能夠檢索和整合不同來源和結構的信息,這是異構信息檢索技術發展的基點,包括支持各種格式化文件,如TEXT、HTML、XML、RTF、MSOffice、PDF、PS2/PS、MARC、ISO2709等處理和檢索;支持多語種信息的檢索;支持結構化數據、半結構化數據及非結構化數據的統一處理;和關系資料庫檢索的無縫集成以及其他開放檢索介面的集成等。所謂「全息檢索」的概念就是支持一切格式和方式的檢索,從目前實踐來講,發展到異構信息整合檢索的層面,基於自然語言理解的人機交互以及多媒體信息檢索整合等方面尚有待取得進一步突破。
另外,從工程實踐角度,綜合採用內存和外部存儲的多級緩存、分布式群集和負載均衡技術也是信息檢索技術發展的重要方面。
隨著互聯網的普及和電子商務的發展,企業和個人可獲取、需處理的信息量呈爆發式增長,而且其中絕大部分都是非結構化和半結構化數據。內容管理的重要性日益凸現,而信息檢索作為內容管理的核心支撐技術,隨著內容管理的發展和普及,亦將應用到各個領域,成為人們日常工作生活的密切夥伴。
信息檢索起源於圖書館的參考咨詢和文摘索引工作,從19世紀下半葉首先開始發展,至20世紀40年代,索引和檢索成已為圖書館獨立的工具和用戶服務項目。
隨著1946年世界上第一台電子計算機問世,計算機技術逐步走進信息檢索領域,並與信息檢索理論緊密結合起來;離線批量情報檢索系統、聯機實時情報檢索系統相繼研製成功並商業化,20世紀60年代到80年代,在信息處理技術、通訊技術、計算機和資料庫技術的推動下,信息檢索在教育、軍事和商業等各領域高速發展,得到了廣泛的應用。Dialog國際聯機情報檢索系統是這一時期的信息檢索領域的代表,至今仍是世界上最著名的系統之一。
搜索引擎工作流程
互聯網是一個寶庫,搜索引擎是打開寶庫的一把鑰匙。然而,絕大多數網民在搜索引擎的相關知識及使用技巧上能力不足。國外的一次調查結果顯示,約有71%的人對搜索的結果感到不同程度的失望。作為互聯網的第二大服務,這種狀況應該改變。
互聯網的迅速發展,導致了網上信息的爆炸性增長。全球目前的網頁超過20億,每天新增加730萬網頁。要在如此浩瀚的信息海洋里尋找信息,就像「大海撈針」一樣困難。搜索引擎正是為了解決這個「迷航」問題而出現的技術。
搜索引擎的工作包括如下三個過程:
1.在互聯中發現、搜集網頁信息;
2.對信息進行提取和組織建立索引庫;
3.再由檢索器根據用戶輸入的查詢關字,在索引庫中快速檢出文檔,進行文檔與查詢的相關度評價,對將要輸出的結果進行排序,並將查詢結果返回給用戶。
發現、搜集網頁信息
需要有高性能的「網路蜘蛛」程序(Spider)去自動地在互聯網中搜索信息。一個典型的網路蜘蛛工作的方式,是查看一個頁面,並從中找到相關信息, 然後它再從該頁面的所有鏈接中出發,繼續尋找相關的信息,以此類推,直至窮盡。網路蜘蛛要求能夠快速、全面。網路蜘蛛為實現其快速地瀏覽整個互聯網,通常在技術上採用搶先式多線程技術實現在網上聚集信息。通過搶先式多線程的使用,你能索引一個基於URL鏈接的Web頁面,啟動一個新的線程跟隨每個新的URL鏈接,索引一個新的URL起點。當然在伺服器上所開的線程也不能無限膨脹,需要在伺服器的正常運轉和快速收集網頁之間找一個平衡點。在演算法上各個搜索引擎技術公司可能不盡相同,但目的都是快速瀏覽Web頁和後續過程相配合。目前國內的搜索引擎技術公司中,比如網路公司的網路蜘蛛採用了可定製、高擴展性的調度演算法使得搜索器能在極短的時間內收集到最大數量的互聯網信息,並把所 獲得的信息保存下來以備建立索引庫和用戶檢索。
索引庫的建立
關繫到用戶能否最迅速地找到最准確、最廣泛的信息,同時索引庫的建立也必須迅速,對網路蜘蛛抓來的網頁信息極快地建立索引,保證信息的及時性。對網頁採用基於網頁內容分析和基於超鏈分析相結合的方法進行相關度評價,能夠客觀地對網頁進行排序,從而極大限度地保證搜索出的結果與用戶的查詢串相一致。新浪搜索引擎對網站數據建立索引的過程中採取了按照關鍵詞在網站標題、網站描述、網站URL等不同位置的出現或網站的質量等級等建立索引庫,從而保證搜索出的結果與用戶的查詢串相一致。
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/xdtech/archive/2009/09/22/4579795.aspx
『肆』 access資料庫中,什麼是實際存放數據的地方
存放數據的地方是表
(4)靜安區參考資料庫反饋擴展閱讀:
功能
取消傳統菜單操作方式而代之以功能區是Access2007的明顯改進之一,用戶可以在功能區中進行絕大多數的資料庫管理相關操作。Access2007默認情況下有以下4個功能區,每個功能區根據命令的作用又分為多個組。
開始
「開始」功能區中包括視圖、剪貼板、字體、格式文本、記錄、排序和篩選、查找、中文簡繁轉換8個分組,用戶可以在「開始」功能區中對Access2007進行操作例如復制粘貼數據、修改字體和字型大小、排序數據等。
創建
「創建」功能區中包括表、窗體、報表、其他和特殊符號5個分組,「創建」功能區中包含的命令主要用於創建Access2007的各種元素。
外部數據
「外部數據」功能區包括導入、導出、收集數據、SharePoint列表4個分組,在「外部數據」功能區中主要對Access2007以外的數據進行相關處理。
資料庫工具
「資料庫工具」功能區包括宏、顯示/隱藏、分析、移動數據、資料庫工具5個分組,主要針對Access2007資料庫進行比較高級的操作。
除了上述4種功能區之外,還有一些隱藏的功能區默認沒有顯示。只有在進行特定操作時,相關的功能區才會顯示出來。例如在執行創建表操作時,會自動打開「數據表」功能區。
參考資料:網路——access資料庫
『伍』 資料庫問題
事務故障 系統故障 介質故障一、事務故障 什麼是事務故障 某個事務在運行過程中由於種種原因未運行至正常終止點 事務故障的常見原因 輸入數據有誤 運算溢出 違反了某些完整性限制 某些應用程序出錯 並行事務發生鎖事務故障(續) 事務故障的恢復 事務故障的恢復:事務撤消(UND) 恢復程序要在不影響其它事務運行的情況下,強行回滾(RBACK)該事務,即清除該事務對資料庫的所有修改,使得這個事務象根本沒有啟動過一樣 二、系統故障 什麼是系統故障 由於某種原因造成整個系統的正常運行突然停止,致使所有正在運行的事務都以非正常方式終止。 發生系統故障時,內存中資料庫緩沖區的信息全部丟失,但存儲在外部存儲設備上的數據未受影響 系統故障(續) 系統故障的常見原因 操作系統或DBMS 代碼錯誤 操作員操作失誤 特定類型的硬體錯誤(如CPU 故障) 突然停電 系統故障(續) 系統故障的恢復 1. 清除尚未完成的事務對資料庫的所有修改 如果DBMS 無法確定哪些事務已更新過資料庫,則系統重新啟動後,恢復程序要強行撤消(UND ) 所有未完成事務,使這些事務象沒有運行過一樣。 2. 將已完成事務提交的結果寫入資料庫 如果DBMS 無法確定哪些事務的提交結果尚未寫入物理資料庫,則系統重新啟動後,恢復程序需要重做(RED ) 所有已提交的事務。 三、介質故障 什麼是介質故障 硬體故障使存儲在外存中的數據部分丟失或全部丟失 介質故障比前兩類故障的可能性小得多,但破壞性最大。 介質故障(續) 介質故障的常見原因 硬體故障 磁碟損壞 磁頭碰撞 操作系統的某種潛在錯誤 瞬時強磁場干擾 介質故障(續) 介質故障的恢復 裝入 資料庫發生介質故障前某個時刻的數據副本 重做自此時始的所有成功事務 ,將這些事務已提交的結果重新記入資料庫 故障的種類小結 資料庫系統中各類故障對資料庫的影響 資料庫本身被破壞 (介質故障) 資料庫處於不一致狀態 資料庫中包含了未完成事務對資料庫的修改(事務故障、系統故障) 資料庫中丟失了已提交事務對資料庫的修改(系統故障) 不同類型的故障應採用不同的恢復操作 故障的種類小結(續) 恢復操作的基本原理:簡單 原理:利用 存儲在系統其它地方的冗餘數據 來重建 資料庫中已經被破壞或已經不正確的那部分數據 恢復的實現技術:復雜 一般一個大型資料庫產品,恢復子系統的代碼要佔全部代碼的10% 以上
『陸』 資料庫恢復需要哪幾個重要指標
資料庫系統數據量大、數據結構復雜、軟體內容較多,而且通常被多個應用程序和用戶共享,因而要求支撐的硬體設備能夠快速處理各類用戶需求。這就需要硬體的數據存儲容量大、數據處理速度 和數據輸入、輸出速度快。因此,對資料庫系統的硬體資源,有以下幾點特殊的要求:
1.電腦的內存足夠大
資料庫系統要有足夠大的內存放操作系統和資料庫管理的核心模塊。如前面所講資料庫軟體系統的各軟體工作時都需要內存作為工作區或緩沖區。計算機內存的大小對資料庫系統性能有著直接影響, 內存大就可以建立較多較大的程序工作區或數據緩沖區,減少外存的訪問次數,以管理更多的數據文件和控制更多的程序過程,進行比較復雜的數據管理和進行的更快數據操作。
2.電腦的外存足夠大
資料庫系統需要足夠大且快速的外存來存放資料庫數據、各類程序文件及數據備份。參考:www.cndr.cn
『柒』 資料庫疑惑
資料庫模式定義語言DDL(Data Definition Language),是用於描述資料庫中要存儲的現實世界實體的語言。一個資料庫模式包含該資料庫中所有實體的描述定義。這些定義包括結構定義、操作方法定義等。
DDL描述的模式,必須由計算機軟體進行編譯,轉換為便於計算機存儲、查詢和操縱的格式,完成這個轉換工作的程序稱為模式編譯器。
模式編譯器處理模式定義主要產生兩種類型的數據:數據字典以及數據類型和結構定義。
數據字典和資料庫內部結構信息是創建該模式所對應的資料庫的依據,根據這些信息創建每個資料庫對應的邏輯結構;對資料庫數據的訪問、查詢也根據模式信息決定數據存取的方式和類型,以及數據之間的關系和對數據的完整性約束。
數據字典是模式的內部信息表示,數據字典的存儲方式對不同的DBMS各不相同。
數據類型和結構的定義,是指當應用程序與資料庫連接操作時,應用程序需要了解產生和提取的數據類型和結構。是為各種宿主語言提供的用戶工作區的數據類型和結構定義,使用戶工作區和資料庫的邏輯結構相一致,減少數據的轉換過程,這種數據類型和結構的定義通常用一個頭文件來實現。
資料庫模式的定義通常有兩種方式: 交互方式定義模式和通過數據描述語言 DDL 描述文本定義模式。
常見的DDL語句
CREATE DATABASE
創建資料庫
CREATE {DATABASE | SCHEMA} db_name
[create_specification [, create_specification] ...]
create_specification:
[DEFAULT] CHARACTER SET charset_name
| [DEFAULT] COLLATE collation_name
CREATE TABLE
創建資料庫表格
CREATE [TEMPORARY] TABLE tbl_name
[(create_definition,...)]
[table_options] [select_statement]
ALTER TABLE
修改資料庫表格
ALTER TABLE tbl_name
alter_specification [, alter_specification] ...
alter_specification:
ADD [COLUMN] column_definition [FIRST | AFTER col_name ]
| ADD [COLUMN] (column_definition,...)
| ADD INDEX (index_col_name,...)
| ADD [CONSTRAINT [symbol]]
PRIMARY KEY (index_col_name,...)
| ADD [CONSTRAINT [symbol]]
UNIQUE (index_col_name,...)
| ADD (index_col_name,...)
| ADD [CONSTRAINT [symbol]]
FOREIGN KEY (index_col_name,...)
[reference_definition]
| ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}
| CHANGE [COLUMN] old_col_name column_definition
[FIRST|AFTER col_name]
| MODIFY [COLUMN] column_definition [FIRST | AFTER col_name]
| DROP [COLUMN] col_name
| DROP PRIMARY KEY
| DROP INDEX index_name
| DROP FOREIGN KEY fk_symbol
| DISABLE KEYS
| ENABLE KEYS
| RENAME [TO] new_tbl_name
| ORDER BY col_name
| CONVERT TO CHARACTER SET charset_name [COLLATE collation_name]
| [DEFAULT] CHARACTER SET charset_name [COLLATE collation_name]
| DISCARD TABLESPACE
| IMPORT TABLESPACE
| table_options
DROP TABLE
刪除資料庫表格
DROP [TEMPORARY] TABLE
tbl_name [, tbl_name] ...
[RESTRICT | CASCADE]
CREATE VIEW
創建視圖
CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
VIEW view_name [(column_list)]
AS select_statement
[WITH [CASCADED | LOCAL] CHECK OPTION]
ALTER VIEW
修改視圖
ALTER [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
VIEW view_name [(column_list)]
AS select_statement
[WITH [CASCADED | LOCAL] CHECK OPTION]
DROP VIEW
刪除視圖
DROP VIEW
view_name [, view_name] ...
[RESTRICT | CASCADE]
『捌』 資料庫性能優化有哪些措施
1、調整數據結構的設計。這一部分在開發信息系統之前完成,程序員需要考慮是否使用ORACLE資料庫的分區功能,對於經常訪問的資料庫表是否需要建立索引等。
2、調整應用程序結構設計。這一部分也是在開發信息系統之前完成,程序員在這一步需要考慮應用程序使用什麼樣的體系結構,是使用傳統的Client/Server兩層體系結構,還是使用Browser/Web/Database的三層體系結構。不同的應用程序體系結構要求的資料庫資源是不同的。
3、調整資料庫SQL語句。應用程序的執行最終將歸結為資料庫中的SQL語句執行,因此SQL語句的執行效率最終決定了ORACLE資料庫的性能。ORACLE公司推薦使用ORACLE語句優化器(Oracle Optimizer)和行鎖管理器(row-level manager)來調整優化SQL語句。
4、調整伺服器內存分配。內存分配是在信息系統運行過程中優化配置的,資料庫管理員可以根據資料庫運行狀況調整資料庫系統全局區(SGA區)的數據緩沖區、日誌緩沖區和共享池的大小;還可以調整程序全局區(PGA區)的大小。需要注意的是,SGA區不是越大越好,SGA區過大會佔用操作系統使用的內存而引起虛擬內存的頁面交換,這樣反而會降低系統。
5、調整硬碟I/O,這一步是在信息系統開發之前完成的。資料庫管理員可以將組成同一個表空間的數據文件放在不同的硬碟上,做到硬碟之間I/O負載均衡。
6、調整操作系統參數,例如:運行在UNIX操作系統上的ORACLE資料庫,可以調整UNIX數據緩沖池的大小,每個進程所能使用的內存大小等參數。
資料庫(Database)是按照數據結構來組織、存儲和管理數據的倉庫,它產生於距今六十多年前,隨著信息技術和市場的發展,特別是二十世紀九十年代以後,數據管理不再僅僅是存儲和管理數據,而轉變成用戶所需要的各種數據管理的方式。資料庫有很多種類型,從最簡單的存儲有各種數據的表格到能夠進行海量數據存儲的大型資料庫系統都在各個方面得到了廣泛的應用。
在信息化社會,充分有效地管理和利用各類信息資源,是進行科學研究和決策管理的前提條件。資料庫技術是管理信息系統、辦公自動化系統、決策支持系統等各類信息系統的核心部分,是進行科學研究和決策管理的重要技術手段。
在經濟管理的日常工作中,常常需要把某些相關的數據放進這樣的「倉庫」,並根據管理的需要進行相應的處理。
例如,企業或事業單位的人事部門常常要把本單位職工的基本情況(職工號、姓名、年齡、性別、籍貫、工資、簡歷等)存放在表中,這張表就可以看成是一個資料庫。有了這個"數據倉庫"我們就可以根據需要隨時查詢某職工的基本情況,也可以查詢工資在某個范圍內的職工人數等等。這些工作如果都能在計算機上自動進行,那我們的人事管理就可以達到極高的水平。此外,在財務管理、倉庫管理、生產管理中也需要建立眾多的這種"資料庫",使其可以利用計算機實現財務、倉庫、生產的自動化管理。
(8)靜安區參考資料庫反饋擴展閱讀
資料庫,簡單來說是本身可視為電子化的文件櫃--存儲電子文件的處所,用戶可以對文件中的數據進行新增、截取、更新、刪除等操作。
資料庫指的是以一定方式儲存在一起、能為多個用戶共享、具有盡可能小的冗餘度的特點、是與應用程序彼此獨立的數據集合。
在經濟管理的日常工作中,常常需要把某些相關的數據放進這樣的"倉庫",並根據管理的需要進行相應的處理。
例如,企業或事業單位的人事部門常常要把本單位職工的基本情況(職工號、姓名、年齡、性別、籍貫、工資、簡歷等)存放在表中,這張表就可以看成是一個資料庫。有了這個"數據倉庫"我們就可以根據需要隨時查詢某職工的基本情況,也可以查詢工資在某個范圍內的職工人數等等。這些工作如果都能在計算機上自動進行,那我們的人事管理就可以達到極高的水平。此外,在財務管理、倉庫管理、生產管理中也需要建立眾多的這種"資料庫",使其可以利用計算機實現財務、倉庫、生產的自動化管理。
『玖』 資料庫結構
新一輪油氣資源評價資料庫是建立在國家層面上的資料庫,資料庫設計首先立足於國家能源政策和戰略制定的宏觀要求,還要結合油氣資源評價的工作特徵和各個評價項目及資源的具體情況。使用當前最流行和最成熟的資料庫技術進行資料庫的總體結構設計。
資料庫的設計以《石油工業資料庫設計規范》為指導標准,以《石油勘探開發數據》為設計基礎,借鑒前人的優秀設計理念和思路,參考國內外優秀的資源評價資料庫和油氣資源資料庫的設計技術優勢,結合本輪資源評價的具體特點,按照面向對象的設計和面向過程的設計相結合的設計方法,進行資料庫的數據劃分設計。
油氣資源評價資料庫要滿足新一輪全國油氣資源評價工作的常規油氣資源評價、煤層氣資源評價、油砂資源評價、油頁岩資源評價四個油氣資源評價的數據需求。進行資料庫具體數據內容設計。
並且,資料庫的設計要為油氣資源評價的快速、動態評價和遠程評價工作的需求保留足夠數據擴展介面,資料庫具有良好開放性、兼容性和可擴充性。
(一)數據劃分
資料庫內存放的數據將支持資源評價的整個過程。為了能更好地管理庫中數據,需要對整個過程中將用到的數據進行分類管理。具體分類方式如下(圖4-11):
圖4-11 數據分類示意圖
1.按照應用類型劃分
按照數據在資源評價過程中的應用類型劃分,可以劃分為基礎數據、參數數據和評價結果數據。
基礎數據是指從勘探生產活動及認識中直接獲取的原始數據,這些數據一般沒有經過復雜的處理和計算過程。如分析化驗數據、鑽井地質數據、盆地基礎數據等。這些數據是整個評價工作的基礎。
參數數據是指在評價過程中各種評價方法和軟體直接使用的參數數據。
評價結果數據是指資源評價中產生的各種評價結果數據,如資源量結果數據、地質評價結果數據等。
2.按照評價對象劃分
本次評價共分為大區、評價單元、計算單元三個層次,在研究中又使用了盆地、一級構造單元,在評價對象總體考慮中按照評價對象將數據劃分為大區、評價單元、計算單元等類型。
3.按照獲取方式劃分
按照獲取方式可以將數據分為直接獲取、研究獲取、間接獲取幾類。
4.按照存儲類型劃分
按照存儲類型可以將數據劃分為結構化數據和非結構化數據。
結構化數據是指能夠用現有的關系資料庫系統直接管理的數據,進一步又可以分為定量數據和定性數據兩類。
非結構化數據是指不能用現有的關系資料庫系統直接管理和操作的數據,它必須藉助於另外的工具管理和操作。如圖件數據、文檔數據等。
庫中數據類型的劃分共分六個層次逐次劃分,包括:數據存儲類型→資源類型→評價對象→應用→獲取方式→數據特徵。
對於結構化存儲的數據在應用層分為三類:基礎數據、中間數據和結果數據,基礎數據中包含用於類比的基礎數據、用於統計分析的基礎數據和直接用於公式運算的基礎數據;結構化存儲的數據在獲取方式上可以繼續劃分,其中,用於公式運算的數據可以細化為專家直接錄入、由地質類比獲取、通過生產過程獲取、通過地質研究過程獲取及其他方式。中間數據可以從以下方式獲取:標准、統計、類比、參數的關聯。結果數據的獲取有兩種方式:公式運算結果和通過鑽井、地質、綜合研究等提交的文字報告。
對於非結構化存儲的數據在應用層分為兩類:圖形數據和文檔數據。
圖形數據在獲取方式上可以繼續劃分成四種方式:通過工程測量數據獲取(如地理圖件、井位坐標數據等)、通過地質研究過程獲取(如沉積相圖、構造區劃圖等)、由綜合研究獲取(如綜合評價圖等)、其他方式。
圖形數據在表現方式上又可以進一步分為有坐標意義的圖形(如構造單元劃分圖、地理圖、井點陣圖等)、數值圖(如產烴率曲線圖、酐洛根熱降解圖等)和無坐標含義圖(如剖面圖)等。
文檔數據是指評價過程中產生的各種報告、項目運行記錄等。
(二)資料庫結構
從業務需求上,根據數據用途、數據類型和數據來源,可將本次的油氣資源評價資料庫分為三級:基礎庫、參數庫、成果庫(圖4-12)。其結構如下:
圖4-12 資料庫結構示意圖
1.基礎庫
基礎庫是油氣資源評價工作的最基礎的原始數據,有實測數據(物探數據、測井數據、鑽井數據、開發數據等)、實驗數據和經驗數據等。
確定基礎數據實際上是一項涉及油田勘探、開發等領域的多學科的復雜工作,是油氣資源評價工作的研究過程和研究成果在資料庫中的具體表現方式。在設計資料庫的過程中,需要與參數研究專家經過多次反復,才能最終確定基礎資料庫,確保基礎資料庫能滿足目前所有評價工作中計算的需要。
2.參數庫
參數庫用於存儲油氣資源評價工作所用到的參數數據,評價軟體,直接從參數庫中提取參數數據,用於計算。參數數據由基礎數據匯總而來,也可以由專家根據經驗直接得到。
本次評價中所涉及的參數大致可以分為以下幾類:①直接應用的參數;②通過標准或類比借用的參數;③通過研究過程或復雜的預處理得到的參數。
3.成果庫
成果庫用於存儲資源評價結果,包括各種計算結果、各種文檔、電子表格、圖片、圖冊等數據。
資料庫的體系結構採用分布式多層資料庫結構,包括三個組成部分:應用服務層、應用邏輯層和數據服務層。
資料庫體系結構如圖4-13所示。
圖4-13 體系結構結構圖
(1)應用服務層:應用服務層包含復雜的事務處理邏輯,應用服務層主要由中間件組件構成。中間件是位於上層應用和下層服務之間的一個軟體層,提供更簡單、可靠和增值服務。並且能夠實現跨庫檢索的關鍵技術。它能夠使應用軟體相對獨立於計算機硬體和操作系統平台,把分散的資料庫系統有機地組合在一起,為應用軟體系統的集成提供技術基礎,中間件具有標准程序介面和協議,可以實現不同硬體和操作系統平台上的數據共享和應用互操作。而在具體實現上,中間件是一個用API定義的分布式軟體管理框架,具有潛在的通信能力和良好的可擴展性能。中間件包含系統功能處理邏輯,位於應用伺服器端。它的任務是接受用戶的請求,以特定的方式向應用伺服器提出數據處理申請,通過執行相應的擴展應用程序與應用服務層進行連接,當得到應用伺服器返回的處理結果後提交給應用伺服器,再由應用伺服器傳送回客戶端。根據國內各大石油公司具體的需求開發相應的地質、油藏、生產等應用軟體功能程序模塊和各種演算法模塊。
(2)應用邏輯層:邏輯數據層是擴展數據服務層邏輯處理層,針對當前的底層資料庫的數據結構,根據具體的需求,應用各種資料庫技術,包括臨時表、視圖、存儲過程、游標、復制和快照等技術手段從底層資料庫中提取相關的數據,構建面向具體應用的邏輯資料庫或者形成一個虛擬的資料庫平台。邏輯數據層包含底層資料庫的部分或全部數據處理邏輯,並處理來自應用服務層的數據請求和訪問,將處理結果返回給邏輯數據層。
形成一個虛擬的資料庫平台我們可以應用資料庫系統中的多個技術來實現。如果系統中的一個節點中的場地或分片數據能夠滿足當前虛擬資料庫,可以在應用服務層中使用大量的查詢,生成一個以數據集結果為主的虛擬資料庫平台,並且由數據集附帶部分資料庫的管理應用策略。或者對節點上的資料庫進行復制方法進行虛擬資料庫的建立。對與需要對多個節點上的資料庫進行綜合篩選,則要對各個節點上的資料庫進行復制,合並各個復制形成一個應用邏輯層,從而建立一個虛擬數據平台。
(3)數據服務層:即資料庫伺服器層,其中包含系統的數據處理邏輯,位於不同的操作系統平台上,不同資料庫平台(異構資料庫),具體完成數據的存儲、數據的完整性約束。也可以直接處理來自應用服務層的數據請求和訪問,將處理結果返回給邏輯數據層或根據邏輯數據層通過提交的請求,返回數據信息和數據處理邏輯方法。
(三)數據建設標准
1.評價數據標准
系統資料庫中的數據格式、大小、類型遵從國家及行業標准,參考的標准如表4-23。
表4-23 資料庫設計參考標准
續表
系統中數據的格式及單位參考《常規油氣資源評價實施方案》、《煤層氣資源評價實施方案》、《油砂資源評價實施方案》、《油頁岩資源評價實施方案》及數據字典。
2.圖形圖件標准
對於地質研究來說,地質類圖件是比較重要的。各種地質評價圖形遵循以下標准(表4-24)。
表4-24 系統圖形遵循的相關標准
系統對圖形的要求為必須為帶有地理坐標意義的、滿足上述標准體系要求的矢量圖形,且採用統一的地理底圖。圖形格式採用:MapGIS圖形交換格式、GeoInfo圖形格式、ArcInfo圖形交換格式、MapInfo圖形交換格式和GeoMap圖形交換格式。
圖件的比例尺要求:
全國性圖件:1∶400萬或1:600萬
大區圖件:1:200萬
盆地圖件:1:40萬或1:50萬
評價單元圖件:1:10萬或1:20萬
圖件的內容要求符合《常規油氣資源評價實施方案》、《煤層氣資源評價實施方案》、《油砂資源評價實施方案》和《油頁岩資源評價實施方案》的規定。
(四)數據內容
資料庫中存儲的數據包括常規油氣相關數據、煤層氣相關數據、油砂相關數據和油頁岩相關數據;還有可采系數研究涉及的數據,包括研究所需基礎數據和研究成果數據;以及趨勢預測相關數據。
『拾』 書上說:「資料庫所做的修改在故障發生時可能還在緩沖區,尚未寫進資料庫,所以要redo」如何理解
如果在對資料庫進行操作的時候,一般情況寫是將數據拿到緩沖區中進行操作,除非你修改一條記錄就commit一次,那麼如果出現問題,那麼緩沖區的數據還在,包括已經修改的數據和沒有修改的數據。這樣,如果貿然的commit,那麼沒有修改的數據也會提交到資料庫中,這樣就出現了錯誤數據。redo一次就是不管是否修改的數據都重新修改一次,直到沒有故障發生時才commit。
個人意見,僅供參考
嚴重鄙視寫代碼不帶注釋