| Message |
|
|
公司的資料庫系統用的是裝在Solaris 9作業系統上的Oracle 9i R2,由於最近很多應用程式越跑越慢,於是得找一下Performance Tuning的資料,剛好找到 Sun BluePrints的資料,網址如下:
http://www.filibeto.org/sun/lib/blueprints/817-3835.pdf
|
 |
|
|
在CentOS 4.x上安裝Oracle9i Database Release 2 (9.2.0.4.0) for Linux x86時,依照 Oracle文件的說明,必須到 Metalink下載patch 4198954,以取得以下兩個套件才行:
compat-oracle-rhel4-1.0-5.i386.rpm
compat-libcwait-2.1-1.i386.rpm
如果沒有安裝在執行runInstaller時將會遇到下列的錯誤訊息:
symbol __libc_wait, version GLIBC_2.0 not defined in file libc.so.6 with link time reference
由於沒有Oracle Metalink的帳號,勢必無法下載到patch,如此一來,安裝資料庫的任務便等著失敗了。
還好,在網路上找到資料,原來Oracle把這些檔案也放在網路上,供大家下載,網址如下:
http://oss.oracle.com/projects/compat-oracle/dist/files/RedHat/compat-libcwait-2.1-1.i386.rpm
http://oss.oracle.com/projects/compat-oracle/dist/files/RedHat/compat-oracle-rhel4-1.0-5.i386.rpm
下載並安裝後,果然就可以執行runInstaller了。
參考資料:
http://www.oracle-base.com/articles/9i/Oracle9iInstallationOnRedHatAS4AndCentos4.php
http://www.linuxsir.org/bbs/thread232668.html
|
 |
|
|
|
|
 |
|
|
今天嘗試安裝CentOS 5.0+ Oracle Application Server 10g, 一開始Oracle就顯示只支援Red Hat Enterprise Linux AS/ES 3.0 (Update 3以後版本)和Red Hat Enterprise Linux AS/ES 4.0 (Update 1以後版本)以及SUSE Linux Enterprise Server 9, 雖然靠著修改/etc/redhat-release內容的方式, 騙過了檢查作業系統版本這個關卡, 結果到了最後一個步驟卻出現找不到libdb.so.2的錯誤訊息, 無法啟動Apache, 等於白裝了, 希望大家少走這條冤枉路.
參考資料:
http://www.oracle-base.com/articles/10g/OracleAS10g3InstallationOnRedHatAndCentOS.php
http://download.oracle.com/docs/cd/B31017_01/linux.1013/install/reqs.htm#CIHHHDHB
|
 |
|
|
顯示系統Process使用狀態(類似Linux的top指令)
$ prstat
顯示系統組態
$ /usr/platform/`uname -i`/sbin/prtdiag
System Configuration: Sun Microsystems sun4u Sun Fire 480R
系統時鐘頻率:150 MHz
記憶體大小:8192 百萬位元組
========================= CPUs ===============================================
執行 E$ CPU CPU
Brd CPU MHz MB Impl. 遮罩
--- --- --- ---- ------- ----
A 0 1050 8.0 US-III+ 11.0
A 2 1050 8.0 US-III+ 11.0
B 1 1050 8.0 US-III+ 11.0
B 3 1050 8.0 US-III+ 11.0
========================= 記憶體配置 ===============================
邏輯 邏輯 邏輯
MC 記憶庫 記憶庫 記憶庫 DIMM 交插 已交插
Brd ID num 大小 狀態 大小 係數 與
--- --- ---- ------ ----------- ------ ---------- -----------
A 0 0 512MB no_status 256MB 8-way 0
A 0 1 512MB no_status 256MB 8-way 0
A 0 2 512MB no_status 256MB 8-way 0
A 0 3 512MB no_status 256MB 8-way 0
A 2 0 512MB no_status 256MB 8-way 0
A 2 1 512MB no_status 256MB 8-way 0
A 2 2 512MB no_status 256MB 8-way 0
A 2 3 512MB no_status 256MB 8-way 0
B 1 0 512MB no_status 256MB 8-way 1
B 1 1 512MB no_status 256MB 8-way 1
B 1 2 512MB no_status 256MB 8-way 1
B 1 3 512MB no_status 256MB 8-way 1
B 3 0 512MB no_status 256MB 8-way 1
B 3 1 512MB no_status 256MB 8-way 1
B 3 2 512MB no_status 256MB 8-way 1
B 3 3 512MB no_status 256MB 8-way 1
========================= IO 卡 =========================
Bus Max
IO Port Bus Freq Bus Dev,
Type ID Side Slot MHz Freq Func State Name Model
---- ---- ---- ---- ---- ---- ---- ----- -------------------------------- ----- -----------------
PCI 8 B 5 33 33 5,0 ok SUNW,XVR-100 SUNW ,375-3126
顯示CPU速度、型號
$ /usr/sbin/psrinfo -v
Status of processor 0 as of: 10/18/07 22:16:42
Processor has been on-line since 01/15/07 16:27:48.
The sparcv9 processor operates at 1050 MHz,
and has a sparcv9 floating point processor.
Status of processor 1 as of: 10/18/07 22:16:42
Processor has been on-line since 01/15/07 16:27:48.
The sparcv9 processor operates at 1050 MHz,
and has a sparcv9 floating point processor.
Status of processor 2 as of: 10/18/07 22:16:42
Processor has been on-line since 01/15/07 16:27:48.
The sparcv9 processor operates at 1050 MHz,
and has a sparcv9 floating point processor.
Status of processor 3 as of: 10/18/07 22:16:42
Processor has been on-line since 01/15/07 16:27:45.
The sparcv9 processor operates at 1050 MHz,
and has a sparcv9 floating point processor.
顯示周邊設備清單
$ prtconf -D
System Configuration: Sun Microsystems sun4u
Memory size: 8192 Megabytes
System Peripherals (Software Nodes):
SUNW,Sun-Fire-480R
packages
SUNW,builtin-drivers
deblocker
disk-label
terminal-emulator
SUNW,debug
dropins
obp-tftp
kbd-translator
SUNW,i2c-ram-device
SUNW,fru-device
ufs-file-system
chosen
openprom
client-services
options, instance #0 (driver name: options)
aliases
memory
virtual-memory
SUNW,UltraSPARC-III+ (driver name: us)
memory-controller, instance #0 (driver name: mc-us3)
SUNW,UltraSPARC-III+ (driver name: us)
memory-controller, instance #1 (driver name: mc-us3)
SUNW,UltraSPARC-III+ (driver name: us)
memory-controller, instance #2 (driver name: mc-us3)
SUNW,UltraSPARC-III+ (driver name: us)
memory-controller, instance #3 (driver name: mc-us3)
pci, instance #0 (driver name: pcisch)
SUNW,XVR-100, instance #0 (driver name: pfb)
ide, instance #0 (driver name: uata)
disk (driver name: dad)
cdrom (driver name: sd)
sd, instance #0 (driver name: sd)
pci, instance #1 (driver name: pcisch)
pci, instance #2 (driver name: pcisch)
ebus, instance #0 (driver name: ebus)
flashprom
bbc (driver name: bbc)
power (driver name: power)
i2c, instance #1 (driver name: pcf8584)
fru, instance #0 (driver name: seeprom)
fru, instance #1 (driver name: seeprom)
fru, instance #2 (driver name: seeprom)
fru, instance #3 (driver name: seeprom)
fru, instance #4 (driver name: seeprom)
fru, instance #5 (driver name: seeprom)
fru, instance #6 (driver name: seeprom)
fru, instance #7 (driver name: seeprom)
fru, instance #8 (driver name: seeprom)
fru, instance #9 (driver name: seeprom)
fru, instance #10 (driver name: seeprom)
fru, instance #11 (driver name: seeprom)
fru, instance #12 (driver name: seeprom)
fru, instance #13 (driver name: seeprom)
fru, instance #14 (driver name: seeprom)
fru, instance #15 (driver name: seeprom)
fru, instance #16 (driver name: seeprom)
fru, instance #17 (driver name: seeprom)
fru, instance #18 (driver name: seeprom)
fru, instance #19 (driver name: seeprom)
fru, instance #20 (driver name: seeprom)
fru, instance #21 (driver name: seeprom)
fru, instance #22 (driver name: seeprom)
fru, instance #23 (driver name: seeprom)
fru, instance #24 (driver name: seeprom)
fru, instance #25 (driver name: seeprom)
fru, instance #26 (driver name: seeprom)
fru, instance #27 (driver name: seeprom)
fru, instance #28 (driver name: seeprom)
fru, instance #29 (driver name: seeprom)
fru, instance #30 (driver name: seeprom)
fru, instance #31 (driver name: seeprom)
fru, instance #32 (driver name: seeprom)
fru, instance #33 (driver name: seeprom)
nvram, instance #34 (driver name: seeprom)
idprom
fru, instance #35 (driver name: seeprom)
fru, instance #36 (driver name: seeprom)
i2c, instance #0 (driver name: pcf8584)
temperature, instance #0 (driver name: max1617)
temperature, instance #1 (driver name: max1617)
temperature, instance #2 (driver name: max1617)
ioexp, instance #0 (driver name: pcf8574)
ioexp, instance #1 (driver name: pcf8574)
ioexp, instance #2 (driver name: pcf8574)
temperature, instance #3 (driver name: max1617)
ioexp, instance #3 (driver name: pcf8574)
ioexp, instance #4 (driver name: pcf8574)
ioexp, instance #0 (driver name: ssc050)
ioexp, instance #1 (driver name: ssc050)
temperature-sensor, instance #0 (driver name: lm75)
fru, instance #37 (driver name: seeprom)
fru, instance #38 (driver name: seeprom)
fru, instance #39 (driver name: seeprom)
fru, instance #40 (driver name: seeprom)
fru, instance #41 (driver name: seeprom)
rscrtc
rtc, instance #0 (driver name: todds1287)
gpio (driver name: gpio_87317)
pmc (driver name: pmc)
rsc-control, instance #0 (driver name: su)
rsc-console, instance #1 (driver name: su)
serial, instance #0 (driver name: se)
usb, instance #0 (driver name: ohci)
network, instance #1 (driver name: ce)
pci, instance #3 (driver name: pcisch)
network, instance #2 (driver name: ce)
SUNW,qlc, instance #0 (driver name: qlc)
fp (driver name: fp)
disk (driver name: ssd)
fp, instance #0 (driver name: fp)
ssd, instance #0 (driver name: ssd)
ssd, instance #1 (driver name: ssd)
os-io
pseudo, instance #0 (driver name: pseudo)
顯示系統資訊
$ sysdef
檢查作業系統是64-bit還是32-bit
$ isalist -v
sparcv9+vis2 sparcv9+vis sparcv9 sparcv8plus+vis sparcv8plus sparcv8 sparcv8-fsmuld sparcv7 sparc
$ isainfo -v
64-bit sparcv9 applications
32-bit sparc applications
顯示硬碟資訊
$ iostat -E
sd0 Soft Errors: 0 Hard Errors: 2 Transport Errors: 0
Vendor: TOSHIBA Product: DVD-ROM SD-C2612 Revision: 1011 Serial No: 04/17/02
Size: 18446744073.71GB <-1 bytes>
Media Error: 0 Device Not Ready: 2 No Device: 0 Recoverable: 0
Illegal Request: 0 Predictive Failure Analysis: 0
ssd0 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0
Vendor: HITACHI Product: DK32EJ72FSUN72G Revision: 2Q09 Serial No: 0336W1C5PQ
Size: 73.40GB <73400057856 bytes>
Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0
Illegal Request: 0 Predictive Failure Analysis: 0
ssd1 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0
Vendor: HITACHI Product: DK32EJ72FSUN72G Revision: 2Q09 Serial No: 0336W1939F
Size: 73.40GB <73400057856 bytes>
Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0
Illegal Request: 0 Predictive Failure Analysis: 0
參考資料:
http://www.optix.org/~dxy/solaris/command/
http://blog.joycode.com/peon/articles/47128.aspx
|
 |
|
|
今天為了升級Load Balance Switch的Firmware需要找TFTP Server的軟體,搜尋了一下發現了TFTPD32 是一個免費的TFTP Server軟體工具,由 Philippe Jounin (philippe@jounin.net) 開發,解開後直接點兩下執行檔就可以開始服務了。
您可直接到 http://tftpd32.jounin.net/網站去下載或是由本站下載附件。
|
 |
|
|
|
|
 |
|
|
今天試著熟悉一下OLAT的功能, Demo course一個一個去try, 到了Demo course wiki的時候發現無法用Search去新增wiki, 出現下面的錯誤訊息:
2007-10-15 00:00:39,911 [TP-Processor17] ERROR Window - OLAT::ERROR ^%^ E1 ^%^ org.olat.core.gui.components ^%^ administrator ^%^ 220.139.220.139 ^%^ http://www.andowson.com/olat/auth/1%3A-1%3A0%3A0%3A0/ ^%^ Mozilla/5.0 (Windows; U; Windows NT 6.0; zh-TW; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7 ^%^ **RedScreen** exception while rendering component 'wikiarticle' (org.olat.core.gui.components.velocity.VelocityContainer) listener:[org.olat.modules.wiki.WikiMainController@14cd198 [cListener:-]]
Message of exception: MethodInvocationException occured while merging template: methName:render, refName:r ::_:: ::_:: ^%^ >>>stack of 1.cause::org.olat.core.logging.OLATRuntimeException: exception while rendering component 'wikiarticle' (org.olat.core.gui.components.velocity.VelocityContainer) listener:[org.olat.modules.wiki.WikiMainController@14cd198 [cListener:-]]
Message of exception: MethodInvocationException occured while merging template: methName:render, refName:r -> at org.olat.core.gui.components.Window.dispatchRequest(Window.java:533) at org.olat.core.gui.components.Window.doDispatchRequest(Window.java:153) at org.olat.core.gui.components.Component.dispatchRequest(Component.java:119) at org.olat.dispatcher.AuthenticatedDispatcher.execute(AuthenticatedDispatcher.java:202) at org.olat.core.dispatcher.DispatcherAction.execute(DispatcherAction.java:182) at org.olat.core.servlets.OLATServlet.doPost(OLATServlet.java:137) at org.olat.core.servlets.OLATServlet.doGet(OLATServlet.java:121) at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)>>>stack of 2.cause::org.olat.core.logging.OLATRuntimeException: MethodInvocationException occured while merging template: methName:render, refName:r -> at org.olat.core.gui.render.velocity.VelocityHelper.merge(VelocityHelper.java:108) at org.olat.core.gui.render.velocity.VelocityHelper.mergeContent(VelocityHelper.java:124) at org.olat.core.gui.components.velocity.VelocityContainerRenderer.render(VelocityContainerRenderer.java:102) at org.olat.core.gui.render.Renderer.render(Renderer.java:311) at org.olat.core.gui.components.tabbedpane.TabbedPaneRenderer.render(TabbedPaneRenderer.java:138) at org.olat.core.gui.render.Renderer.render(Renderer.java:311) at org.olat.core.gui.render.Renderer.render(Renderer.java:211) at org.olat.core.gui.render.velocity.VelocityRenderDecorator.doRender(VelocityRenderDecorator.java:483) at org.olat.core.gui.render.velocity.VelocityRenderDecorator.render(VelocityRenderDecorator.java:327) at sun.reflect.GeneratedMethodAccessor1419.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)>>>stack of 3.cause::java.lang.StackOverflowError: null -> at java.util.regex.Pattern.isSurrogate(Pattern.java:2850) at java.util.regex.Pattern.isSupplementary(Pattern.java:1733) at java.util.regex.Pattern.newSingle(Pattern.java:2949) at java.util.regex.Pattern.atom(Pattern.java:1985) at java.util.regex.Pattern.sequence(Pattern.java:1885) at java.util.regex.Pattern.expr(Pattern.java:1752) at java.util.regex.Pattern.compile(Pattern.java:1460) at java.util.regex.Pattern.<init>(Pattern.java:1133) at java.util.regex.Pattern.compile(Pattern.java:823) at java.lang.String.replaceAll(String.java:2190) at org.olat.modules.wiki.gui.components.wikiToHtml.FilterUtil.normalizeWikiLink(FilterUtil.java:52)
2007-10-15 00:00:56,075 [TP-Processor10] ERROR syslog - Method render threw exception for reference $r in template org/olat/modules/wiki/_content/article.html at [75,25]
不過在[olat_developers]的mailing-list上已經有發布解決方案了, 就是把附檔下載後解開來, 將五個檔案上傳到OLAT安裝目錄下的/WEB-INF/classes目錄下, 再重新啟動Tomcat即可.
|
 |
|
|
由於換回Tomcat 5.5.15後也有其他問題(例如OLAT跑不起來, javax.servlet.http.HttpSessionAttributeListener 的 attributeRemoved() 出現Session already invalidated), 故還是得繼續用新的Tomcat版本.
參考了大陸一位網友zhangxinzhou的文章
http://zhangxinzhou.blog.ccidnet.com/blog-htm-do-showone-uid-36421-type-blog-itemid-150874.html
把server.xml裡面Host的設定修改一下
例如原本的設定如下:
<Host name="www.ezmatch.tw"
appBase="webapps/www.ezmatch.tw"
unpackWARs="true" autoDeploy="true">
<Alias>ezmatch.tw</Alias>
<Valve className="org.apache.catalina.valves.FastCommonAccessLogValve"
directory="logs/www.ezmatch.tw"
prefix="www.ezmatch.tw_access_log." suffix=".txt"
pattern="combined" resolveHosts="false"/>
<Context path="" docBase="" debug="0" reloadable="false" />
</Host>
修改為:
<Host name="www.ezmatch.tw"
appBase=""
unpackWARs="true" autoDeploy="true">
<Alias>ezmatch.tw</Alias>
<Valve className="org.apache.catalina.valves.FastCommonAccessLogValve"
directory="logs/www.ezmatch.tw"
prefix="www.ezmatch.tw_access_log." suffix=".txt"
pattern="combined" resolveHosts="false"/>
<Context path="" docBase="webapps/www.ezmatch.tw" debug="0" reloadable="false" />
</Host>
這樣子就可以了.
|
 |
|
|
select * from jforum_users where user_id not in (select session_user_id from jforum_sessions) and user_actkey is not null and date_part('day',current_timestamp-user_regdate) > 90 order by user_id
|
 |
|
|
backup.sh可以修改第11行來自動備份所有的PostgreSQL資料庫(除了postgres, template0, template1外)
[code=bash;first-line:11]
DBNAME=( `psql -l -U postgres | awk '{print $1}' | sed -e "1,3d"|grep -v ":"|grep -v "("|grep -v "template"|grep -v "postgres"` )
[/code]
|
 |
|
|
今天在和Rafael討論後, 覺得現有的2.1.8 CVS經過數週來的測試已經符合釋出的標準, 決定正式開放供大家下載和安裝, 本版本新增並改善超過130多項的功能和特色(這只是有紀錄在 Jira中的數字), 除了函式庫更新, 錯誤修正, 程式碼重組這些沒紀錄的以外, 以下是這次改版的重大功能變動:
1. 使用Lucene作為搜尋引擎:以前的中文搜尋問題在此版已經解決.
2. 改用JQuery取代DWR作為Ajax函式庫
3. 版主可以線上編輯文章
4. 增加新的BB Code:包刮youtube, flash, rm, google 和 wmv
5. 系統管理者可以手動審核及啟用帳號
6. 標示被搬移的文章:在原來的版面上顯示一個提示
7. 搜尋這個版面:在每個版面新增主題按鈕的旁邊多了一個查詢表單, 可以僅搜尋這個版面的文章
8. 登入後重新導向至參照網頁:登入前看到哪一頁再去按登入, 登入後會回到剛那一頁
9. 文章編輯次數紀錄及顯示
10. 訂閱版面或主題之確認對話框
11. 管理日誌紀錄:紀錄版主每次對文章的異動原因
12. RSS顯示一小段文章內容
13. 程式碼語法高亮:正式將 SyntaxHighlighter納入支援
14. 簡體中文納入支援: 2.1.7被刪除的簡體中文在這個版本已經內建囉, 如果有不符合大陸地區語言習慣的地方, 請再告知
更多功能可以參考網站上的 Wiki說明
升級方式
2.1.7的使用者可以參考 這篇文章來升級到2.1.8
參考資訊:
http://www.jforum.net/posts/list/4076.page
|
 |
|
|
安裝方式很簡單,只要Internet有通就是直接用yum安裝
yum -y install postgresql postgresql-libs postgresql-server
沒有的話,就是把光碟片內的postgresql的三個rpm檔copy到同一個目錄下,然後下
rpm -Uvh postgresql-*.rpm
安裝完成後需先進行第一次啟動:
service postgresql start
沒問題的話,再把postgresql設定開機時啟動
chkconfig postgresql on
然後修改/var/lib/pgsql/data/pg_hba.conf的設定:
# "local" is for Unix domain socket connections only
#local all all ident sameuser
local all all trust
# IPv4 local connections:
#host all all 127.0.0.1/32 ident sameuser
host all all 127.0.0.1/32 md5
再通知postmaster我們變動了設定即可
su - postgres
pg_ctl reload
如果還要讓其他外部機器連進來的話,修改/var/lib/pgsql/data/postgresql.conf
PostgreSQL version 8.x
listen_addresses = '*'
PostgreSQL version 7.x
tcpip_socket = true
然後在/var/lib/pgsql/data/pg_hba.conf加上要連進來的主機的設定,例如讓某個class C網段的機器都可以連進來:
host all all 192.168.1.0/24 md5
再通知postmaster我們變動了設定
su - postgres
pg_ctl reload
最後, 如果有啟用Linux內建的防火牆iptables, 還要把5432:tcp加到開放的通訊埠設定去
setup->防火牆設定->執行工具->自訂->其他連接埠: 輸入5432:tcp 或postgres:tcp
|
 |
|
|
透過cvs下載來安裝後會產生一堆CVS目錄,一個目錄一個目錄進去砍非常花時間,而且下次更新時可能又產生了,可以透過下列指令一次給它一個痛快:
find -name CVS -exec rm -rf {} ';'
|
 |
|
|
如果要使用Oracle當作JForum的後端資料庫,我們需要先開設好一個資料庫使用者,例如jforum,然後給予開table的權限。接著便進行安裝步驟。
如果您遇到這樣的錯誤訊息時:
嘗試設定資料庫時發生錯誤. 請檢查帳號、密碼和主機等參數是否正確, 然後再試一次.
java.sql.SQLException: IO 異常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=153093888)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))
請再回去修改組態,將資料庫名稱jforum改為Oracle的SID名稱,例如orcl,這樣就可以了。
|
 |
|
|
|
|