揭密Oracle之 七種武器 第一章 搭建測試環境

vage發表於2012-04-24

揭密Oracle之 七種武器 第一章 搭建測試環境

長生劍,碧玉刀,刀劍合璧,天下無敵。

拳頭 :資料檢視
第一章 測試環境的搭建
工欲善其事,必先利其器,這是老話了,也是實話。
面對越來越封閉的Oracle,你想揭開它神祕的面紗嗎。
奇奇怪怪的問題,總是查不出原因,你想揭開它背後的祕密嗎。
還等什麼,DTrace+GDB,長生劍,碧玉刀,刀劍合璧,天下無敵。

另外,經過朋友 ysping 提醒,我覺得有必要說明下,雖然我們只能在Solaris測試,但Oracle的工作原理,在大部分平臺下,是一樣的 (可能Windows會有點不同吧)。我們用Dtrace分析Oracle的原理,比如在什麼時候、加什麼樣的鎖、Pin、Latch或Mutex,加到什麼操作為至釋放,會以怎樣的形式阻塞,等等,用這個原理,去診斷其他平臺的問題。

1、安裝Solaris
首先你要有個測試環境,DTrace只有Solaris下有,我們就搭個Solaris的測試平臺吧。到Oracle官網上下個Solaris,現在已經有11了,我下的是10,這是10的
連結:http://www.oracle.com/technetwork/server-storage/solaris10/overview/index.html 。如果你想用11,當然也可以。對於我們測試Oracle,10和11差別不大
的。
下載的檔案,是個ISO檔案,直接載入到虛擬機器裡安裝就可以了,安裝過程我不再說了,非常簡單。考慮到以後我還要裝Oracle、建庫,磁碟最好搞大點,20G吧
。對了,我的虛擬機器是VMWare 8.0.0 build-471780。你也可以選擇其他版本,或其他虛擬機器。
2、安裝Oracle
(1)、下載Oracle
我們最好裝兩個版本,10GR2和11GR2。10G現在用的還比較多,而且10G相關DTrace和GDB的資料更多些,因為我一直在用DTrace+GDB研究10G,後面我會逐步總結
一些我的研究結果。11GR2作為未來必定會流行的版本,有必要早做準備。
注意,11GR2在Solaris平臺,只有64位版本的。要求你的電腦要是64位才行。
(1)、建立Oracle使用者和Oinstall、DBA組
groupadd dba
groupadd oinstall
useradd -g oinstall -G dba -d /export/home/lhb -m oracle
(2)、設定核心引數
編輯/etc/system檔案,增加如下行:
set shmsys:shminfo_shmmax=10737418240
set shmsys:shminfo_shmmin=1048576
set shmsys:shminfo_shmseg=1000
set shmsys:shminfo_shmmni=100
set semsys:seminfo_semmns=700
set semsys:seminfo_semmni=100
set semsys:seminfo_semmsl=256
我10G、11G都是這樣寫的。
(3)、設定oracle使用者下的.profile
我的.profile只有這些內容:
ORACLE_BASE=/export/home/oracle/opt/
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:/usr/lib
PATH=$PATH:/usr/ccs/bin:$ORACLE_HOME/bin
ORACLE_SID=h1
export ORACLE_BASE
export ORACLE_HOME
export LD_LIBRARY_PATH
export PATH
export ORACLE_SID
(4)、安裝和建庫
解壓下載的Oracle安裝檔案,開始安裝。
11G安裝畫面變了很多,但過程和10G大致上相差無幾。我安裝11GR2的時候,在環境檢查時,報swap和tmp不夠大,直接忽略過去就行了。還有,在安裝的83%時,停了很
久。到底多久不知道,因為等了太久,都晚點12點多來,我一直有早睡早起的習慣,直接去睡了,第二天早上起來一看,已經裝好了。
庫你怎麼建都行,我一般是手動建,你當然可以選擇在安裝的時候一起建,這些基本的我就不再說了。
3、安裝GDB
http://www.sunfreeware.com中,下載GDB的庫,我下載了這五個庫:
expat-2.0.1-sol10-x86-local.gz
gdb-6.8-sol10-x86-local.gz
libiconv-1.14-sol10-x86-local.gz
libintl-3.4.0-sol10-x86-local.gz
ncurses-5.7-sol10-x86-local.gz
用如下命令,依次安裝5個庫。注意,最好安照我上面的順序安裝,
gunzip expat-2.0.1-sol10-x86-local.gz
pkgadd -d expat-2.0.1-sol10-x86-local.gz
安裝完後,將gdb的路徑,加入到/etc/profile中:
在/etc/profile中增加如下行:
PATH=$PATH:/usr/sfw/bin:/usr/local/bin
LD_LIBRARY_PATH=/usr/sfw/lib
export LD_LIBRARY_PATH
export PATH
好了,等測試環境建好後,我們來一步一步,用DTrace+GDB,刀劍合璧,讓Oracle沒有祕密。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/321157/viewspace-722099/,如需轉載,請註明出處,否則將追究法律責任。

相關文章