資料庫版本10.2.0.4
首先這個東西記錄了pl/sql的一些錯誤資訊,具體含義大家自己網上查查吧
其實這個錯誤是接著上次expdp的時候出現的,上次執行的指令碼:
$oracle_home/rdbms/admin/catmet2.sql
$oracle_home/rdbms/admin/utlrp.sql
首先看一下catmet2.sql 做了些什麼
-- create the types
exec dbms_metadata_build.set_debug(false);
exec dbms_metadata_dpbuild.create_table_export;
exec dbms_metadata_dpbuild.create_schema_export;
exec dbms_metadata_dpbuild.create_database_export;
exec dbms_metadata_dpbuild.create_transportable_export;
-- load xsl stylesheets
exec sys.dbms_metadata_util.load_stylesheets; 也只能看到這麼多了,這個包是加密的
導致很多type錯誤,看了看具體的dba_errors錯誤資訊,錯誤資訊基本都是xdb.xdb$raw_list_t和dbms_rlmgr_dr這兩個玩意找不到引起的,xdb是oracle xml database元件裡面的,dbms_rlmgr_dr是oracle rule manager裡面的,於是懷疑元件是不是失效了,查了dba_registry,果然很多失效元件,而且不只這兩個,就連oracle database catalog views和oracle database packages and types狀態也是invalid狀態,於是先重建了資料字典,也就是catproc.sql和catalog.sql,然後重新編譯一下,也就是用這個utlrp.sql。再次檢視dba_registry,database catalog views,oracle database packages and types,oracle rule manager都正常了,但是dba_errors裡面還是很多錯誤資訊,關dbms_rlmgr_dr
的已經木有了,就剩下了xdb.xdb$raw_list_t,說是這個type木有定義,檢視dba_registry,原來是xml沒有安裝,id 1292089.1這篇文章裡面很詳細,如果有xml,不正常的話,那就重新裝一下,裝之前,那麼要remove一下:
sql> spool xdb_removal.log
sql> set echo on;
sql> connect / as sysdba
sql> shutdown immediate;
sql> startup
sql> @?/rdbms/admin/catnoqm.sql
sql> @?/rdbms/admin/utlrp.sql
sql> spool off;
然後再安裝,沒有的話,直接安裝即可:
sql> spool xdb_install.log
sql> set echo on;
sql> connect / as sysdba
sql> shutdown immediate;
sql> startup;
sql> @?/rdbms/admin/catqm.sql
sql> @?/rdbms/admin/utlrp.sql
sql> spool off
這裡舉個例子:sql> @?/rdbms/admin/catqm.sql xdb xdb temp 後面跟這些跟的是xdb的密碼,使用表空間以及臨時表空間。
這裡xml安裝好以後,驗證一下狀態:
select comp_name, version, status
from dba_registry
where comp_id = 'xdb';
這裡我是正常了,但是dba_errors還是依舊錯誤,依舊還是xdb.xdb$raw_list_t木有定義,這個時候就奇怪了,而且
desc xdb.xdb$raw_list_t是存在,因為xdb是依賴於oracle intermedia的,於是我再次懷疑是oracle intermedia有問題,果然狀態是invalid,果斷重建。
至於怎麼重建,其實也簡單,看下這個:
more $oracle_home/ord/im/admin/readme.txt 裡面很詳細記錄了怎麼重建oracle intermedia
其實就是幾個包
@$oracle_home/ord/admin/ordinst.sql sysaux sysaux
@$oracle_home/ord/im/admin/iminst.sql 如果沒有安裝,直接按這個安裝即可
如果安裝了狀態不對,那麼先乾掉吧
@$oracle_home/ord/im/admin/imdinst.sql
@$oracle_home/ord/im/admin/imdtyp.sql
用這兩個包乾掉後,再重建一次,完了用@$oracle_home/ord/im/admin/imchk.sql驗證一下,那麼就ok了。
重建以後,問題終於解決了,dba_errors終於沒有錯誤資訊了。
我在另一台機器測試執行$oracle_home/rdbms/admin/catmet2.sql ,是沒有問題的,而且那個庫只裝了資料字典的元件,看來這個包對於其他元件是木有依賴的,只是執行後導致了很多oracle元件失效才引起這麼多錯誤
DBA ERRORS錯誤一例
資料庫版本10.2.0.4 首先這個東西記錄了pl sql的一些錯誤資訊,具體含義大家自己網上查查吧 其實這個錯誤是接著上次expdp的時候出現的,上次執行的指令碼 oracle home rdbms admin catmet2.sql oracle home rdbms admin utlrp.s...
Fortran編譯錯誤一例
login2.stampede 111 make mpif90 g ffree form dtpv26 o0 c ffixed line length 250 o testinte cef.o i.seism io inte ce v0.2 include testinte ce.f ifort c...
一例析構順序造成的錯誤
類中成員變數定義的順序會有什麼影響?應該是沒有,平時誰會去注意下面 中m m yyy的先後次序呢?class c class cyyy class czzz 其實是有區別的,就是定義順序造成析構順序不同。本例就是實際debug過程中發現的析構順序造成的錯誤。vc環境 中m yyy的析構早於m 與構造...