幫系統校時大概很久才有機會設一次,每次都不記得之前怎麼做.
這次順手把在SOLARIS上作的流程簡單做個紀錄.
由於系統放在防火牆內,無法去對time.stdtime.gov.tw這個位置要求標準時間.
所以之前就沒有對時,後來內部用LINUX架了一個NTP server
想先用簡單的ntpdate來把時間校準
root@sun:/etc>ntpdate -qv 10.33.4.55
8 Feb 17:39:35 ntpdate[19634]: ntpdate 3-5.93e+sun 03/06/05 23:16:45 (1.4)
server 10.33.4.55, stratum 3, offset -0.001039, delay 0.02663
8 Feb 17:39:35 ntpdate[19634]: adjust time server 10.33.4.55 offset -270.001039 sec
從這結果可以看出跟NTP server差了270秒,
用Linux的話這個指令應該已經透過NTP校正了系統時間,
但是不知道為什麼,在我這台Solaris上系統時間沒有校正成功.
所以還是乖乖的把ntp的service設定好.
root@sun:/>svcs -l ntp
fmri svc:/network/ntp:default
name Network Time Protocol (NTP)
enabled true
state online
next_state none
state_time Tue Feb 08 15:27:28 2011
logfile /var/svc/log/network-ntp:default.log
restarter svc:/system/svc/restarter:default
contract_id 588
dependency optional_all/none svc:/platform/sun4u/dscp (disabled)
dependency require_all/error file://localhost/usr/sbin/ntpq (online) file://localhost/usr/sbin/ntpdate (online)
dependency require_any/error svc:/network/service (online)
dependency optional_all/error svc:/milestone/name-services (online)
系統上的NTP daemon 有起來
2011年2月22日 星期二
2011年1月4日 星期二
ORACLE DBMS_RESOURCE_MANAGER Package 使用心得
理論上DBA都知道最好把ONLINE跟OLAP作業分開,
但是現實與理想總是有落差的,工作上往往很難把這些USER拆開,
結果有時候就出現資源被OLAP吃掉,造成ONLINE作業反應速度慢,
甚至拖垮整個主機效能的情況.
很不幸的我就遇到了.(雪上加霜的是AP的SQL已經到哀莫大於心死的地步)
基本上對跑報表的人道德勸說是無用的.因為他們不會覺得自己有錯.
我曾經請他們可以sequential跑,不要一次全灑下去,
顯然效果不好,他們只想賭我不會一直都在盯session,
還是一次全下.
ORACLE提供了一個package(從哪版開始有我不確定)
DBMS_RESOURCE_MANAGER
下面是我使用的三個例子
但是現實與理想總是有落差的,工作上往往很難把這些USER拆開,
結果有時候就出現資源被OLAP吃掉,造成ONLINE作業反應速度慢,
甚至拖垮整個主機效能的情況.
很不幸的我就遇到了.(雪上加霜的是AP的SQL已經到哀莫大於心死的地步)
基本上對跑報表的人道德勸說是無用的.因為他們不會覺得自己有錯.
我曾經請他們可以sequential跑,不要一次全灑下去,
顯然效果不好,他們只想賭我不會一直都在盯session,
還是一次全下.
ORACLE提供了一個package(從哪版開始有我不確定)
DBMS_RESOURCE_MANAGER
下面是我使用的三個例子
2010年10月25日 星期一
ORACLE 10G 的資源回收桶
萬一不小心把TABLE DROP了,
是否有辦法像WINDOWS一樣從資源回收桶找回來.
在ORACLE 10G版本,recyclebin預設是啟用的.可以透過
USER_RECYCLEBIN and DBA_RECYCLEBIN還有機會找回來被DROP的TABLE
(下面指令是用DBA的身分執行,如果需要用一般USER請自行改用USER_RECYCLEBIN及相關適當修改)
不過要注意TABLESPACE的使用率,如果TABLESPACE滿到一個程度
資源回收的部分會被PURGE掉,
DESC DBA_RECYCLEBIN看下欄位
是否有辦法像WINDOWS一樣從資源回收桶找回來.
在ORACLE 10G版本,recyclebin預設是啟用的.可以透過
USER_RECYCLEBIN and DBA_RECYCLEBIN還有機會找回來被DROP的TABLE
(下面指令是用DBA的身分執行,如果需要用一般USER請自行改用USER_RECYCLEBIN及相關適當修改)
不過要注意TABLESPACE的使用率,如果TABLESPACE滿到一個程度
資源回收的部分會被PURGE掉,
DESC DBA_RECYCLEBIN看下欄位
| Name | Null? | Type |
| ----------------------------------------- | -------- | ---------------------------- |
| OWNER | NOT NULL | VARCHAR2(30) |
| OBJECT_NAME | NOT NULL | VARCHAR2(30) |
| ORIGINAL_NAME | VARCHAR2(32) | |
| OPERATION | VARCHAR2(9) | |
| TYPE | VARCHAR2(25) | |
| TS_NAME | VARCHAR2(30) | |
| CREATETIME | VARCHAR2(19) | |
| DROPTIME | VARCHAR2(19) | |
| DROPSCN | NUMBER | |
| PARTITION_NAME | VARCHAR2(32) | |
| CAN_UNDROP | VARCHAR2(3) | |
| CAN_PURGE | VARCHAR2(3) | |
| RELATED | NOT NULL | NUMBER |
| BASE_OBJECT | NOT NULL | NUMBER |
| PURGE_OBJECT | NOT NULL | NUMBER |
| SPACE | NUMBER |
2009年1月7日 星期三
嘗試用短短的shell script去寫Watchdog
最近有時候會遇到vncserver的process出問題
慘劇分為兩種
第一種目前我還沒有找到解決方式
ps -ef|grep vnc
process還活著,可是整個遠端X Window呈現灰色
只能操作一個悽涼的X游標
一種是標準的整個process就乾淨地死掉了
ps -ef|grep vnc
那個process就是掛點了,沒有process殘留著
試著做個像watchdog的shell小程式
放進crontab去每隔一段時間就執行
#!/bin/ksh
TEST=`ps -ef| grep Xvnc | grep -v grep | wc -l`
if [ $TEST = 1 ]
then
#VNC server is still alive.
exit
else
#It's dead.
echo "Vncserver is dead. Restart the VNC server" >>chk_vnc.log
vncserver :6
xhost +
date +%Y/%m/%d_%T>>chk_vnc.log
fi
這個程式很簡單的檢查vnc的process還在不在
如果不在了就重新啟動vncserver
至於要是process還在記憶體裡,卻已經異常的情形
目前還沒有找到方法,等找到會在改善這隻小程式
慘劇分為兩種
第一種目前我還沒有找到解決方式
ps -ef|grep vnc
process還活著,可是整個遠端X Window呈現灰色
只能操作一個悽涼的X游標
一種是標準的整個process就乾淨地死掉了
ps -ef|grep vnc
那個process就是掛點了,沒有process殘留著
試著做個像watchdog的shell小程式
放進crontab去每隔一段時間就執行
#!/bin/ksh
TEST=`ps -ef| grep Xvnc | grep -v grep | wc -l`
if [ $TEST = 1 ]
then
#VNC server is still alive.
exit
else
#It's dead.
echo "Vncserver is dead. Restart the VNC server" >>chk_vnc.log
vncserver :6
xhost +
date +%Y/%m/%d_%T>>chk_vnc.log
fi
這個程式很簡單的檢查vnc的process還在不在
如果不在了就重新啟動vncserver
至於要是process還在記憶體裡,卻已經異常的情形
目前還沒有找到方法,等找到會在改善這隻小程式
2008年12月30日 星期二
Windows VISTA檔案總管突然Ctrl A及選取複數檔失效
因為懶得重灌,所以我一直跟今年三月買的
ASUS 12吋筆記型電腦上的WINDOWS VISTA相安無事.
除了我為了讓它操作更接近XP我能關的就關.
對於我們這種IT勞工來說,視覺效果沒很大吸引力.
只有操作更快更順暢才是王道.
沒想到悲劇還是發生了,上周赫然發現
慣用的Keyboard Shortcut居然失效了!!!
任何一個必須寫程式改設定的IT人
都不能接受失去Ctrl+A Ctrl+C Ctrl+X Ctrl+V
按住Shift一次選擇多個檔案不行
更可怕的是連用滑鼠圈選整批檔案也不行
真是IT工作者,不,是所有需要用PC工作的人的惡夢
2008年12月18日 星期四
VNCSERVER簡單操作及相關REP-3000問題
管理UNIX的使用者有時會需要使用X-Window,
去做些圖形化介面下的操作,
簡單的vncserver操作介紹:
停止 vncserver服務的語法,本例使用的是port 5804
$vncserver -kill :4
使用port 5804去開vncserver的指令
$vncserver :4
授權所有用戶端都可以連線到server上的這個服務
$xhost +
REP-3000的原因與解決方法
另外ORACLE EBS R12跑report出現
REP-3000: Internal error starting Oracle Toolkit
這種Error時,
一個追查可能方向是check主機的vncserver是否正常啟動
因為Report Server需要X-Window的support
在EBS R12
要確認$ADMIN_SCRIPTS_HOME底下的adcmctl.sh中
有沒有下列這兩行的設定
DISPLAY="localhost:1.0"
export DISPLAY
相關資料
安裝可以參考這位的X-Window安裝講解
VNC Server 在 Linux 下的安裝
VNC下載點
http://www.realvnc.com/download.html
Setting UP VNC by AIX Tips
http://www.aixtips.com/AIXtip/vnc_setup.htm
去做些圖形化介面下的操作,
簡單的vncserver操作介紹:
停止 vncserver服務的語法,本例使用的是port 5804
$vncserver -kill :4
使用port 5804去開vncserver的指令
$vncserver :4
授權所有用戶端都可以連線到server上的這個服務
$xhost +
REP-3000的原因與解決方法
另外ORACLE EBS R12跑report出現
REP-3000: Internal error starting Oracle Toolkit
這種Error時,
一個追查可能方向是check主機的vncserver是否正常啟動
因為Report Server需要X-Window的support
在EBS R12
要確認$ADMIN_SCRIPTS_HOME底下的adcmctl.sh中
有沒有下列這兩行的設定
DISPLAY="localhost:1.0"
export DISPLAY
相關資料
安裝可以參考這位的X-Window安裝講解
VNC Server 在 Linux 下的安裝
VNC下載點
http://www.realvnc.com/download.html
Setting UP VNC by AIX Tips
http://www.aixtips.com/AIXtip/vnc_setup.htm
2008年12月11日 星期四
ORACLE APP的Patch Level 及 Package的版本檢查
除了查file的版本外,上PATCH前還常要確認Patch level,還有Package的版本
用APPS進DB去檢查下列的資料,來幫助你update SR
查目前AP的Patch level
select * from FND_PRODUCT_INSTALLATIONS
where patch_level like '%AP%' --跟SR叫你指定的Patch Level 比較
開SR請ORACLE Support幫忙查問題時,常常會遇到要檢查Package 版本的問題
SELECT name ||' '|| text
FROM dba_source
WHERE line = 2
AND type LIKE 'PACKAGE%'
AND owner = 'APPS'
AND NAME LIKE 'FND%'
ORDER BY name, type;
用APPS進DB去檢查下列的資料,來幫助你update SR
查目前AP的Patch level
select * from FND_PRODUCT_INSTALLATIONS
where patch_level like '%AP%' --跟SR叫你指定的Patch Level 比較
開SR請ORACLE Support幫忙查問題時,常常會遇到要檢查Package 版本的問題
SELECT name ||' '|| text
FROM dba_source
WHERE line = 2
AND type LIKE 'PACKAGE%'
AND owner = 'APPS'
AND NAME LIKE 'FND%'
ORDER BY name, type;
Oracle EBS上Patch前確認檔案版本
在使用R12上patch前常常會要先做一個確認版本的動作
這除了讓你判斷patch該不該上之外,
如果你的Instance已經有比較新版的檔案
也許你有可能要換個方向去找問題解決方案
查特定檔案的版本
UNIX 指令
strings -a $AP_TOP/patch/115/sql/appvndrb.pls |grep '$Header'
這個指令基本上是用strings去object or binary檔中找出可印出的字元
然後用grep 去抓去有$Header的那行.
Oracle另外提供的工具
adident Header $AP_TOP/patch/115/sql/appvndrb.pls
作用與上面那個差不多
這除了讓你判斷patch該不該上之外,
如果你的Instance已經有比較新版的檔案
也許你有可能要換個方向去找問題解決方案
查特定檔案的版本
UNIX 指令
strings -a $AP_TOP/patch/115/sql/appvndrb.pls |grep '$Header'
這個指令基本上是用strings去object or binary檔中找出可印出的字元
然後用grep 去抓去有$Header的那行.
Oracle另外提供的工具
adident Header $AP_TOP/patch/115/sql/appvndrb.pls
作用與上面那個差不多
如何除去上傳到UNIX上文字檔裡的Ctrl-M
對於大部分UNIX上的程式或系統來說
因為UNIX與WINDOWS的text file的換行符號控制碼不同
所以用binery方式傳上去unix的檔
在用vi去處理的時候
就會看到每行的尾巴多了個很醜的^M
最近很不幸的,我遇到了個shell去呼叫有^M會失敗的程式(可能是R12的FNDLOAD)
只好再次把這個以前用過的好用一行SHELL從書裡挖出來
tr -d '\015' <oldfile>newfile
這樣就可以產生一個除去所有^M的全新檔案了.
有相同困擾的朋友,夾去配不用客氣.
因為UNIX與WINDOWS的text file的換行符號控制碼不同
所以用binery方式傳上去unix的檔
在用vi去處理的時候
就會看到每行的尾巴多了個很醜的^M
最近很不幸的,我遇到了個shell去呼叫有^M會失敗的程式(可能是R12的FNDLOAD)
只好再次把這個以前用過的好用一行SHELL從書裡挖出來
tr -d '\015' <oldfile>newfile
這樣就可以產生一個除去所有^M的全新檔案了.
有相同困擾的朋友,夾去配不用客氣.
訂閱:
文章 (Atom)