數據庫服務器移動了位置,后來再連其數據庫發現提示無法連接,大致為“無法為所有新實例創建連接。。。”,查看alert日志發現有如下錯誤:
starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
starting up 1 shared server(s) ...
Thu Jul 11 11:21:32 2013
ALTER DATABASE MOUNT
Thu Jul 11 11:21:35 2013
ORA-214 signalled during: ALTER DATABASE MOUNT...
Thu Jul 11 11:22:53 2013
網上搜,大致都是說控制文件出問題,但是服務器是win7 64位的,不知該如何直接比較控制文件的差異進行定位有錯誤的控制文件,看時間都是一樣的,大小也一樣。
根據網上說的執行關閉打開操作,如下所示:
C:\Users\46D673X>sqlplus "/as sysdba"
SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 7月 11 11:30:01 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
連接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> startup mount
ORA-01081: ????????? ORACLE - ??????
SQL> alter database mount
2 /
alter database mount
*
第 1 行出現錯誤:
ORA-00214: ???? ''D:\ORACLE\PRODUCT\10.2.0\ORADATA\CHRIST0603\CONTROL01.CTL''
?? 13074 ??? ''D:\ORACLE\PRODUCT\10.2.0\ORADATA\CHRIST0603\CONTROL02.CTL'' ??
13069 ???
SQL> startup mount
ORA-01081: ????????? ORACLE - ??????
SQL> shutdown immediate
ORA-01507: ??????
ORACLE 例程已經關閉。
如上黃色標出的部分,我把它斷定為是control03控制文件出錯了,所以就將control03控制文件刪除,拷貝的control1作為03的控制文件。重啟發現還是一樣的錯誤。想着也許弄反了,會被列出的一般是出現了錯誤,因此這回把control01和control02都用control03的替換(之前進行備份了控制文件),果然,重啟后這個問題解決了。 看來是移動機器中在關閉時機器的IO出現問題了,導致控制文件破壞不一致造成的。
但是這個問題解決了,在日志文件中又出現另一問題:
OER 7451 in Load Indicator : Error Code = OSD-04500: 指定了非法選項
O/S-Error: (OS 1) 函數不正確。 !
經查是因為64位的系統裝了32位的oracle,看了確實如此。