天天看點

ORACLE DBA應該掌握的9個免費工具

新年才過一周,股市就熔斷2次了,你還在炒股麼?作為dba,還是腳踏實地的學點安身立命的技能比較實在。今天把我以往用過的免費工具分享給大家,如果你有更值得分享的,歡迎投稿。

top1 : 錄像機os watcher

如果說,作為一個oracle維護工程師,你至少應該裝一個工具在你維護的系統裡,那麼我首推這個。它就像銀行自助取款機頂上的攝像頭,默默的記錄下你作業系統中的一切,在你需要回顧的時候,随時拿來看看。mos下載下傳位址:文檔 id 1614397.1

通過startosw.sh指令來啟動,stoposw.sh指令來結束。它啟動之後預設隻會保留3天的資料,如果你需要更多,需要手動設定下。需要特别提醒的是,如果使用了oracle rac,那你一定要記得去配置一下prvnet,他會記錄你私有網絡心跳的狀态。

ORACLE DBA應該掌握的9個免費工具

為了節約空間,它會每小時的資訊單獨打包成一個gzip壓縮檔案,需要看哪個時間段的,解壓開來即可。很多時候某個系統半夜就出現了異常端倪,直到上班才正式爆發,如果随手安裝了osw,那麼問題處理起來會非常快。跟osw功能類似的另外一個工具是nmon,不過隻有aix和linux平台,如果掌握了osw和oratop,那麼nmon也可以退休了。

top2:螢幕oratop

顧名思義,oratop是向top緻敬,用類似于unix/linux裡top指令的展現方式實時展現資料庫的相關資訊。

下載下傳連結:

oratop - utility for near real-time monitoring of databases, rac and single instance(1500864.1)

用法也很簡單oratop

system/manager@dbhost:4800/db1.domain.com

ORACLE DBA應該掌握的9個免費工具

值得一提的是,不僅僅支援單執行個體資料庫,還支援rac、active dg,以及12c多租戶資料庫。

ORACLE DBA應該掌握的9個免費工具

oratop實在太容易上手了,功能不做進一步的說明,你用用就會。

top3:快刀手:ora

與oratop不一樣的是,ora完全是響應式的,內建了諸多需要通過一長串sql語句才能實作功能查詢。這個工具最開始也是oracle開發的,dba在使用過程中可以根據自己的需要,增加新的功能點,在問題分析過程中最快速的得知資料庫對象的情況,做出相應的處理抉擇:

ORACLE DBA應該掌握的9個免費工具

比如某個系統cpu突然飙高了,可以使用ora active|wc –l看看有多少個活動的語句,可以通過ora active|grep sequen 看看同時等待順序讀的sql都是哪些,ora sqltext sql_id可以看到具體的sql語句,通過ora plan sql_id 可以檢視具體的執行計劃,是否同一個語句有多個執行計劃;通過ora size可以看到相應表多大,有哪些索引,什麼時候做過統計資訊搜集。看到這些内容,基本的sql情況相信你也了然于胸了。

top4:可視化:sql devloper

前述三個都是指令行的工具,不友善用圖形界面的技術咖常用的利器。如果你之前一直很喜歡用圖形界面,盜版的toad,pl/sql developer用了十幾年的,那建議你用用免費的sql developer,最新版本是4.1.3:

ORACLE DBA應該掌握的9個免費工具

top5:3a認證:awr/ash/addm

這三個腳本,都在$oracle_home/rdbms/admin目錄下。

絕大部分的工程師在系統性能檢查的時候,至少都會看看awr。如果需要看具體某幾分鐘内的資料庫情況,通常要借助ash,如果想讓oracle幫你自動診斷,那就得借助于addm了。

對于性能比較在意的系統,建議把awr從預設的1小時采集一次調整到30分鐘。楊建榮為這3個腳本做了定制,可以參考dba+之前的文章進行學習。

top6:小保健:orachk

orachk 之前被稱為raccheck,後來它的檢查範圍進行了擴充,改名為了orachk,它是在資料庫系統進行健康檢查的一個專用工具,這個工具主要用來檢查軟體的配置是否符合要求以及一些最佳實踐是否被應用了。通過這個工具,使用者可以很友善地、自動化地對自己的系統進行健康檢查和評估。如果你是用了exadata,那oracle還提供了exachk工具。

ORACLE DBA應該掌握的9個免費工具

檢查的項目包括:      

os kernel 參數

os 包/更新檔

os上其它和rac相關的配置

crs/grid infrastructure

rdbms

asm

資料庫參數

對于rac資料庫影響較大的設定

更新到11.2.0.3/11.2.0.4/12c時的更新檢查

maximum availability architecture (maa)檢查

檢查結果網頁式輸出,當然了,有些問題你不必在意。

ORACLE DBA應該掌握的9個免費工具

top7:大保健:rda

rda是remote diagnostic agent 的簡稱,是oracle用來收集、分析資料庫的工具,運作該工具不會改變系統的任何參數,rda收集的相關資料非常全面,可以簡化我們日常監控、分析資料庫的工作,oracle support也建議我們在回報相關問題時,提供rda收集的資料,這樣可以為快速解決問題提供一個有力的保證。

rda比orachk更加複雜,也更加全面,支援的子產品非常多:

$./rda.sh -l modules

available data collection modules are:

acfs     collects asm cluster file system information

act      collects oracle e-business suite application information

adba     collects acs oracle database assessment

adx      collects autoconfig and rapid clone information

agt      collects enterprise manager agent information

apex     collects apex information

asap     collects oracle communications asap information

asbr     collects application server backup and recovery information

asg      collects application server guard information

asit     collects oracle application server installation information

asm      collects automatic storage management information

b2b      collects oracle business to business information

bam      collects business activity monitoring information

bee      collects beehive information

brm      collects oracle communications brm information

ccr      collects ocm diagnostic information

cfg      collects key configuration information

cohr     collects oracle coherence information

cont     collects oracle content services information

crid     collects oracle access manager (coreid) information

d2pc     collects distributed transaction information

db       controls rdbms data collection

dba      collects rdbms information

dbc      collects database control information

dbm      collects rdbms memory information

dev      collects oracle developer information

dg       collects data guard information

exa      collects exadata information

fltr     controls report content filtering

inst     collects the oracle installation information

ipsa     collects oracle communications ip service activator information

j2ee     collects j2ee/oc4j information

jdbc     collects oracle java db connectivity (jdbc) information

(…… 省略部分)

xdb      collects xdb information

xsmp     samples user defined data

xtra     collects user defined data

可以根據需要選擇隻關注的子產品進行配置,./rda.sh -s os db dba inst

top8: 救命寶:rman

其實選rman的時候我比較糾結,按理說大家都應該掌握,不需要額外提及了。或者說,這應該算是資料庫工程師維護的常識了吧。

之是以放在這裡,是因為前天上午7點多,一個oracle使用者電話過來,說他們工程師在好幾天之前删了一張表,問我能不能找回來。我首先問有沒有備份,不管rman還是data pump,答複是沒有。再問有沒有歸檔日志,還有幾個。

用rman,不僅要記得做備份,還應該每年至少一次的恢複驗證,免得備了也白備

top9: 巨無霸:oem cc

oem企業管理器從8i的單機版到現在的oem13c cc(cloud control),不僅僅是變得更漂亮了,考過ocm的同學都有印象,如果你的dg不用oem,光記那繁雜的指令就搞死你了。

oem裡,有一個工具你千萬别忘了,就是osm,周俊和魏興華同學在我們的公衆号上發表過專門論述的文章,值得看看(不用oem也可以用osm)。

現在的oem,除了oracle資料庫,其他你想監控和管理的一切,幾乎都可以往上面塞。有點類似ibm的tivoli和hp的openview,逐漸的變得臃腫,而不那麼稱手了。

如上的9個工具包含維護、優化和備份,如果你都學好了,至少也是一個中級dba了吧。

<b></b>

<b>本文來自雲栖社群合作夥伴"dbaplus",原文釋出時間:2016-01-11</b>