搜尋此網誌

星期一, 12月 01, 2008

Oracle Grid Control Agent Crash on Hp-Ux Itanium

最近有一套新資料庫,安裝在hp-ux itanium上,為了監控,安裝了Grid Control Agent.

OS:Hp-Ux 11i
DB: Oracle Database 10gR2 10.2.0.4
Grid Control Agent 10.2.0.4

安裝後,可以正常執行一段時間,約莫15小時後,就會出現以下的訊息,並且無法連線至Agent.
WARN collector: Error exit. Error message: Instance Health Check initialization failed due to one of the following causes: the owner of the EM agent process is not same as the owner of the Oracle instance processes; the owner of the EM agent process is not part of the dba group; or the database version is not 10g (10.1.0.2) and above.
在OTN Discussion Forums上看到有人找出這個bug fix 的doc id
http://forums.oracle.com/forums/thread.jspa?messageID=2208105

我依doc id:430805.1 安裝了p5854190_10203_HPUX-IA64.zip後,發現問題依然存在。
沒想到文章後面又指出,如果不同版本的資料庫,還要再上另一個patch。
嗚~昏頭了。
最後依docid:602633.1 安裝了p7031906_10204_HPUX-IA64.zip。問題總算解決了…


關鍵字:Grid Control Agent Health Check failed

星期一, 11月 03, 2008

在oracle中,將一般的檔案移至asm中

一般oracle資料庫是以檔案的方式存在,在oracle10g後,有支援oracle專屬的檔案管理系統,稱為asm。
本文是介紹如何將一般的檔案移轉至asm中。

我預先認定已安裝好asm管理程式,本文不再敘述。
預備環境:

a.ASM ready
b.archive log enable
c.enough space

過程如下:

1. 先將要搬移的datafile offline。因此要先確認使用者皆未上線使用此datafile。

alter database datafile 'C:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\PS_JE_DATA_01.DBF' offline;
alter database datafile 'C:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\PS_JE_DATA_02.DBF' offline;
alter database datafile 'C:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\PS_JE_DATA_03.DBF' offline;
alter database datafile 'C:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\PS_JE_INDEX_01.DBF' offline;

2. 利用rman target / 連線至操作資料庫,進行搬移動作:

此指令copy 是rman下的命令之一,不是作業系統中的copy指令。

copy datafile 'C:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\PS_JE_DATA_01.DBF' to '+DATA/i3/datafile/PS_JE_DATA_01.DBF';
copy datafile 'C:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\PS_JE_DATA_02.DBF' to '+DATA/i3/datafile/PS_JE_DATA_02.DBF';
copy datafile 'C:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\PS_JE_DATA_03.DBF' to '+DATA/i3/datafile/PS_JE_DATA_03.DBF';
copy datafile 'C:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\PS_JE_INDEX_01.DBF' to '+DATA/i3/datafile/PS_JE_INDEX_01.DBF';


3. 利用rman中的switch指令,將資料庫的datafile指向複製後的新目的檔案,完成後退出rman。

switch datafile 'C:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\PS_JE_DATA_01.DBF' to copy;
switch datafile 'C:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\PS_JE_DATA_02.DBF' to copy;
switch datafile 'C:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\PS_JE_DATA_03.DBF' to copy;
switch datafile 'C:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\PS_JE_INDEX_01.DBF' to copy;


4. 接著以sqlplus連線至DB,進行檔案修復。

RECOVER datafile '+DATA/i3/datafile/PS_JE_DATA_01.DBF';
RECOVER datafile '+DATA/i3/datafile/PS_JE_DATA_02.DBF';
RECOVER datafile '+DATA/i3/datafile/PS_JE_DATA_03.DBF';
RECOVER datafile '+DATA/i3/datafile/PS_JE_INDEX_01.DBF';

5. 修復完成後,即可將資料檔案上線。
alter database datafile '+DATA/i3/datafile/PS_JE_DATA_01.DBF' online;
alter database datafile '+DATA/i3/datafile/PS_JE_DATA_02.DBF' online;
alter database datafile '+DATA/i3/datafile/PS_JE_DATA_03.DBF' online;
alter database datafile '+DATA/i3/datafile/PS_JE_INDEX_01.DBF' online;


6. 完成後,可以至V$datafile的veiw中,查詢是否已正常使用

select name,status from v$datafile;