2011年3月18日 星期五

oracle 8i export 錯誤 EXP-00008 ,EXP-00000

做 MIS 每天上班的第一件事就是檢查每天的例行備份作業是否正常。
有一天突然發現長久以來一直都很正常的 Export Database 工作居然會有錯誤訊息。

EXP-00008,EXP-00083,ORA-04045,ORA-06552
ORA-06553,ORA-06508,ORA-06512,EXP-00000

如下圖1,圖2 所示 :


圖1:
Export 開頭的錯誤訊息


圖2 :
Export 結尾的錯誤




首先研判雖然有錯誤訊息產生,但是 Export 出來的資料應該都可以順利 Import。
這些錯誤訊息只對系統部分還原時有影響,對於資料是沒有影響。
事實上我也做過測試,來應證我的判斷無誤。
不過有錯誤就要解決以免有其他事情發生。

經求助逸凡的 oracle大師 "樹哥",他給我下列的做法就可以解決這問題。

解法 :


A : 修改 init(SID).ora 加入參數
_SYSTEM_TRIG_ENABLED=FALSE

B : SHUTDOWN database

C : 以SYS 登入 SQLPLUS

SQL>ALTER SESSION SET EVENTS '10520 TRACE NAME CONTEXT FOREVER, LEVEL 10';

SQL>@?/rdbms/admin/utlirp.sql

SQL>ALTER SESSION SET EVENTS '10520 TRACE NAME CONTEXT OFF';

D : 移除之前加入 init(SID).ora 參數

_SYSTEM_TRIG_ENABLED=FALSE

E : SHUTDOWN and REBOOT

執行結果,如下圖 :

再做一次 Export ,檢查 log 沒有錯誤產生,如下圖:



2011年3月9日 星期三

Microsoft Hyper-V 事前檢查備工具

微軟在 windows2008 開始內含虛擬化軟體 Hyper-V,在 windows 環境下
提供虛擬技術。當在使用 Hyper-v 軟體時,必須注意硬體方面是否有支援。
例如 cpu 是否有支援虛擬化技術 (Intel VT 或 AMD-V),必須注意的是
BIOS是否有把相關的設定打開,如下列2項 :

A : 啟用硬體強制資料執行防止
DEP ( Hardware Data Execution Prevention)
B : 啟用 Intel XD (execute disable bit) 或
AMD NX (no execute bit)。


微軟亦有提供相容性硬體清單可以查詢
http://windowsservercatalog.com/default.aspx


也可以使用工具軟體 Securable (如下圖) 來檢查硬體是否可以支援 Hyper-v。


下載點 : http://www.grc.com/securable.htm


注意 : 若已經安裝好 Hyper-V再來執行 Securable 這程式
可能會得到如下的圖示的結果。





微軟官網 Hyper-V下載網站
http://www.microsoft.com/hyper-v-server/en/us/default.aspx

微軟 Hyper-V中文網站
http://technet.microsoft.com/zh-tw/magazine/2008.10.hyperv.aspx

Intel 網站 : http://ark.intel.com/VTList.aspx

AMD 網站 : http://sites.amd.com/us/business/it-solutions/virtualization/Pages/virtualization.aspx

2011年2月24日 星期四

Hyper-V-Worker Event ID 12140 12080 12050

在 windows 2008 R2上開了許多 VM,原本用得很開心,
不過有一天重開機之後整個世界都變了。 居然所有的 VM都開不起來。


怎麼會這樣,晴天霹靂,沒改變任何設定、VHD檔也沒變動位置,
這未免也太不穩。進去 (事件檢視器) 看到相關錯誤訊息代號 12140,12080,12050

Event ID 12050 :

Event ID : 12140

 
Event ID : 12080


努力回想這中間有安裝了什麼東西。
想想這段時間只有安裝 (防毒) 跟 (備存) (都是Symantec的產品)
安裝完後還正常執行一陣子,但是重新開機後就發生VM無法啟動這問題。
努力的尋找相關的文件,發現有2個有幫助的網站可以參考。


http://support.microsoft.com/kb/2013544/en-us

我依照微軟的建議更改(如下圖),就解決的開不起來的問題。














2010年10月19日 星期二

ISA server Cache 清除

使用 microsoft ISA server 常常會因為cache的關係,無法顯示最新異動後
的資訊跟畫面,必須等到 cache 的時間(TTL)過期後才會更新。
若不想等待可以把 cache file 刪除服務再重新啟動即可。
ISA server 的 cache 位置在 c:\urlcache 檔名為 dir1.cdat

可以把整個步驟寫成一個批次檔,這樣就很方便。

批次檔指令如下 :

net stop fwsrv
del c:\urlcache\dir1.cdat
net start fwsrv

執行結果如下圖 :


2010年6月29日 星期二

ORA-06553: PLS-213: package STANDARD not accessible

在執行 SQLPLUS 的時候出現這訊息(如下圖):

錯誤訊息 : ORA-06553: PLS-213: package STANDARD not accessible




先檢查是否 standard package 是否還在跟狀態為何 ?

指令 : select * from dba_objects where owner='SYS' and object_name='STANDARD';
執行結果如下圖 :




發現 status 欄位值為 invalid
把 status 欄位值 改為 valid


指令 : alter package standard compile;



如下圖




這樣解決問題 !! 大功告成 !!

若執行 select * from dba_objects where owner='SYS' and object_name='STANDARD';

沒有 standard object 不存在

執行 catalog.sql ,cataproc.sql 這兩個即可

可以參考網頁

http://www.dbasupport.com/forums/archive/index.php/t-19753.html

有詳細步驟

2010年5月5日 星期三

NTP 快速簡易設定

NTP伺服器是提供一個時間服務的主機 , 在一個資訊環境裡若每台主機
的系統時間都沒同步 , 會是一個管理上的麻煩 . 你不知道在事件紀錄的時間
是否是何時的時間 , 系統同步時間參考也會錯亂 .

若環境裡所有的主機都到網際網路上去作時間校正 , 這樣也不太合乎效益 .
也佔用網路頻寬 .

所以我們可以在自己網域裡面架設一台 ntp (Network Time Protocol) ,
由這台主機去 internet 上層的 ntp 伺服器作校時的動作 , 然後提供給自己
網域內的主機作校時的服務 , 這樣是一個非常有效能的作法 .

設定篇 :

NTP 設定檔 /etc/ntp.conf

官方說明網頁 (按我)

NTP 設定檔有3個指令 server , restrict , driftfile 必須作設定
簡單語法說明如下:

A : server :

語法 : server [ip or hostname] [prefer]

這裡最好設定2台以上的上層時間伺服器以免單點失效就沒
任何參考點可以使用 .

1. hostname :
指定要去同步的上層時間伺服器
台灣有一些比較常用上層時間伺服器如下所示, 可以多多利用
tock.stdtime.gov.tw
time.stdtime.gov.tw
clock.stdtime.gov.tw
tick.stdtime.gov.tw

2. prefer :
表示要優先使用的主機

範例 :
server time.stdtime.gov.tw prefer #表示這台主機優先
server tock.stdtime.gov.tw


B : restrict
語法 : restrict [ip] [parameter]

利用 restrict 來控管可以使用這服務的設備 其主要的參數有下列幾項:

1. ignore
拒絕所有的 ntp 連線

2. nomodify
用戶端只可以使用 ntp 服務來做時間校正 , 不可更改 ntp 伺服器的參數

3. noquery
不提供 ntp 服務校時

4. notrap
不提供 trap 遠端事件登錄的功能

5. notrust
拒絕沒有認證的用戶端
有關於 KEY 認證部份的設定比較少用到
可以參考 這網站有詳細的步驟說明

restrict 範例 :

restrict 192.168.0.0 mask 255.255.255.0 nomodify
表示授權 192.168.0.0 / 255.255.255.0 這區段的網路都
可以使用NTP的服務 , 但是不能修改伺服器的參數

restrict default ignore
把所有的權限關閉
通常在做權限控管的時候都會先把所有都關閉 再把需要的網段或主機權限打開

restrict 192.168.1.1
表示這台主機 ( 192.168.1.1) 可以使用 ntp 服務 , 也可以作參數修改


C : driftfile
語法 : driftfile [ /path/filename]

這檔案紀錄本身伺服器跟上層伺服器的誤差值
在範例 ntp.conf 設定為 /var/lib/ntp/drift 這檔案權限必須讓 ntp 可以讀取及寫入

範例 :driftfile /var/lib/ntp/drift


只要把上述三個參數設定完成 , 就這樣就大功告成

啟動與查詢篇 :

啟動 / 關閉 ntp 伺服器
service ntp start / stop

圖例 :


開機自動執行 ntp 服務
chkconfig --level 5 ntpd on #在 x window 環境下開機時啟動 ntp 服務
chkconfig --level 3 ntpd on #在終端機模式下開機時啟動 ntp 服務


查詢服務是否有運作:
ps -ef|grep ntpd
如範例 紅表示ntp服務啟動中




指令 :ntpq -p

依照 net.conf 設定的上層 ntp 伺服器查詢連線狀況
查詢結果如下圖 :



指令 :ntpstat

查詢跟上層伺服器連線的狀況以及多久去更新一次時間
下圖例是每64秒去更新時間一次

2010年4月30日 星期五

root 無法登入 X window

新版 Fedora 為了安全性考量,已經不能用 root 登入 X window。
但有時候在 root 角色下是比較方便管理的工作。
這時可以修改 /etc/pam.d 目錄下兩個檔案,
gdm
gam-password
就可以用 root 登入 X window。

如下圖紅色框的2個檔案 :





編修這2個檔案 ,找一行文字如下:
auth required pam_succeed_if.so user != root quiet
在開頭加上 # 使它沒作用即可。

範例如下圖所示:


gdm 範例 :

紅框文字最前面加上 #


gdm-password 範例 :


紅框最前頭加上 #



這樣就可以在 X window 用 root 登入 !!