ORA-12709 (ORA-01092)問題的解決

木頭一個發表於2008-08-22
還是使用dbua將9.2.0.7的資料庫升級到10.2.0.4後遺留問題的其中一個

問題的出現步驟如下(啟動資料庫的時候從nomount啟動到mount的時候報錯,卻能手工alter database mount,但是在alter databae open的時候報錯,資料庫直接被down下來了,比較奇怪):

$ sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.4.0 - Production on Thu Aug 21 16:06:49 2008

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area  452984832 bytes
Fixed Size                  2041304 bytes
Variable Size             411048488 bytes
Database Buffers           33554432 bytes
Redo Buffers                6340608 bytes
ORA-12709: error while loading create database character set

SQL> alter database mount;

Database altered.

SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01092: ORACLE instance terminated. Disconnection forced

SQL> shut immediate
ORA-24324: service handle not initialized
ORA-01041: internal error. hostdef extension doesn't exist

最後發現是因為Oracle 10g相對與9i,一些環境變數有了變化,ORA_NLS33改為了ORA_NLS10,而且指向的位置也變了(由ORA_NLS33 = $ORACLE_HOME/ocommon/nls/admin/data變成ORA_NLS10 = $ORACLE_HOME/nls/data),而我在使用dbua升級資料庫以後只是將環境變數改名,並沒有改指向的位置。糾正後問題解決

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/498744/viewspace-432957/,如需轉載,請註明出處,否則將追究法律責任。

相關文章