DBA ERRORS錯誤一例

2021-08-27 10:46:05 字數 2760 閱讀 1597

資料庫版本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 與構造...