|
一開機器,發(fā)現(xiàn)磁盤做了掃描,估計是昨天關機遇到的問題,之后Oracle出現(xiàn) ora-01172 ora-01151了
連忙去查找資料解決,其中又遇到了ORA-12514錯誤,先解決這個錯誤的方法如下:
listener.ora這個文件中輸入下面信息:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = Oracle) 服務名
(Oracle_HOME = E:\oracle\product\10.2.0\db_1) db_home
(SID_NAME = Oracle) ##這個是你要添加的服務
)
(SID_DESC =
(PROGRAM = extproc)
(SID_NAME = PLSExtProc)
(Oracle_HOME = E:\oracle\product\10.2.0\db_1) ##這個服務保證你可以使用外部過程,如C程序
)
)
然后再配置tnsnames.ora文件,加入下面的內(nèi)容:
Oracle =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = test) 與上面的服務名對應
)
)
在連接時你就可以這樣測試下:
tnsping Oracle
Oracle9i以后,后臺進程PMON自動在監(jiān)聽器中注冊在系統(tǒng)參數(shù)SERVICE_NAMES中定義的服務名,SERVICE_NAMES默認為DB_NAME+DOMAIN_NAME。監(jiān)聽配置文件listener.ora中可以不必指定監(jiān)聽的服務名。但是,當數(shù)據(jù)庫處于關閉狀態(tài)下PMON進程沒有啟動,也就不會自動注冊監(jiān)聽的實例名,所以使用sqlplus sys/his@orc0 as sysdba 會出現(xiàn)ORA-12514錯誤。
通過在lsnrctl中輸入set display verbose,然后再通過命令service查看,服務狀態(tài)為READY表示PMON自動注冊的服務名,而UNKNOWN則表示該服務是手工在LISTENER.ORA中配置的數(shù)據(jù)庫服務。
至于
這樣解決了,至于介質(zhì)恢復:
ora-01172 ora-01151了,解決辦法如下:
c:>sqlplus /nolog
SQL> connect sys/sys@Oracle as SYSDBA
已連接
SQL> startup mount
ORA-01081: 無法啟動已在運行的 Oracle --- 請首先關閉
SQL> alter database open read only;
alter database open read only
*
ERROR 位于第 1 行:
ORA-16005: 數(shù)據(jù)庫需要恢復
SQL> recover database
完成介質(zhì)恢復。
SQL> shutdown immediate
ORA-01109: 數(shù)據(jù)庫未打開
已經(jīng)卸載數(shù)據(jù)庫。
Oracle 例程已經(jīng)關閉。
SQL> startup
Oracle 例程已經(jīng)啟動。
Total System Global Area 730931140 bytes
Fixed Size 454596 bytes
Variable Size 411041792 bytes
Database Buffers 318767104 bytes
Redo Buffers 667648 bytes
數(shù)據(jù)庫裝載完畢。
數(shù)據(jù)庫已經(jīng)打開。
SQL>
于是就可以咯 本文出自:億恩科技【www.zuiquanben.com】
服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]
|