走到這,以為沒事了,終於修復了。哎,沒想到又報錯:(如圖示,再下的步驟就又進行不了了,接看綠色文字以下部分)
數據庫實例還是啟動失敗。查看數據庫實例啟動的日志(alert_<實例名>.log)。
分析日志文件在文檔尾部(最新的記錄)發現如下信息:
再看看數據庫的回滾段參數是怎麼樣的:
SQL> show parameter undo;
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS1
這下就清楚了,是回滾段的設置被恢復到了最初狀態,從而無法找到現在的新回滾段.
手工修改先前的參數配置文件:init.ora.4262009164718
然後從新更新pfile的設置; 再次從起數據庫,到此,數據庫恢復正常.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = ORCL)
(Oracle_HOME = F:\app\Administrator\product\11.2.0\dbhome_1)
(SID_NAME=ORCL)
)
(SID_DESC =
(PROGRAM = extproc)
(SID_NAME = PLSExtProc)
(Oracle_HOME = F:\app\Administrator\product\11.2.0\dbhome_1)
)
)
對比一下吧,照上面改完了,問題就已全部解決了。再次:
lsnrctl start
怎麼樣?可以了吧?再執行數據庫回滾那段(黃色命令行那段),也可以了吧?
===========================================
(2010-11-26)
ORA-01034:Oracle not available
ORA-27101:shared memory realm does not exist
ORA-00119:invalid specification for system parameter LOCAL_LISTENER
ORA-00132:syntax error or unresolved network name 'LISTENER_ORCL'
這幾個錯就是我機子重起後報得錯,其實不用上面那麼麻煩。(很奇怪,不知為什麼,有知道的朋友希望你能告訴我下解決方案,不用每次重起都去設置了)
1 去服務裡啟動所有有關Oracle 的服務。
2 根據提示可知tnsnames.ora少配置東東了。
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
LISTENER_MYTEST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
也就是這個東東沒配置。(我機子上兩個實例,一個是orcl 一個是mytest 。)
配置完確保監聽已啟動,例程也要啟動啊,不然數據庫還是用不了。
sqlplus / as sysdba
startup
即可。
如果你操作完依然不行就試試下面的吧?
http://www.100ksw.com/JSj/Oracle/xxjc/208751.sHtml
http://hi.baidu.com/benmaoer/blog/item/41a3b31948bdaf4c42a9ad1d.Html終於把Oracle 給整好了。真不容易。呵呵,在此記錄一下,省得以後再不知所措。
(2010-11-29) 今又遇到以下兩個錯誤:補充一下,
ORA-01031:insufficIEnt privileges
法一: 打開--F:\app\Administrator\product\11.2.0\dbhome_1\database\oradba.exe
然後雙擊oradba.exe文件即可解決問題
法二:http://zpball.Javaeye.com/blog/683887
http://blog.csdn.Net/dingyingguidyg/archive/2008/12/20/3564816.ASPx
ORA-28056:Writing audit records to Windows Event Log failed
在命令行輸入:c:\>net helpmsg 1502
輸出:事件日志文件已滿。
那麼看到這個信息就知道解決方案了:
控制面板->管理工具->事件查看器
找到“系統”,然後右鍵“清除所有事件”,這樣就解決了問題;
我是先用了法一,然後再清除了事件日志,然後Oracle就恢復正常了。如果你問題依舊,請嘗試法二的那兩個鏈接。
(2010-12-06)
http://jzgl-javaeye.Javaeye.com/blog/717224
帶圖示:http://statsoft.blog.163.com/blog/static/27653132201062742236745/
http://dev.firnow.com/course/7_databases/oracle/OracleJS/20100628/216619.Html
http://hi.baidu.com/%B3%F3%C5%AEyuyu/blog/item/ba36da3fbeb193f4838b13e6.Html
上面這兩個錯可難纏了,我全試過了,一個都不好用。但還是記錄下,以後遇到了再說,呵呵。
我的庫 (共享成公用數據庫了) 是被別人誤操作,連系統表都被人刪除了,執行了drop 與delete 然後就這樣了,不是日志的問題。
最後,一氣之下,關閉共享,新建數據庫,刪除以前的數據庫。這樣是可以使用了,可是我總覺得不太好,不知道有沒有還未顯現的隱患。
另:
如何在不安裝Oracle客戶端的情況下,使用PL/SQL Developer連接數據庫
(不知可不可行,沒試過,感興趣的朋友可以試一下,呵呵 )
通常情況下,用PL/SQL Developer連接Oracle是需要安裝Oracle客戶端軟件的,這也就意
味著你的硬盤將被占用大約1G-2G的空間,對於Windows操作系統來說,你還會多出一些開機
自啟動的服務。當然對於大部分人來說,並不會在自己的機器上應用所創建的數據庫,而只是
希望通過他的一些配置來連接訪問服務器上的數據庫。其實Oracle為我們提供了輕便的工具Oracle InstantclIEnt package,也有人稱他為
“Oracle即時客戶端”。使用此工具,我們就可以在不安裝Oracle客戶端軟件的情況下訪問存
在於其他計算機上的數據庫了。首先,需要在Oralce官方網站上下載Oracle InstantclIEnt Basic package。地址如下:
http://www.Oracle.com/technology/software/tech/oci/instantclIEnt/htdocs/winsoft.Html
在這個頁面的中部找到Instant Client,在Instant ClIEnt Downloads中選擇合適的版本下載。
下載時需要Accept License Agreement,並且需要一個Oracle帳號。下載完成後,解壓壓縮文件至本地某路徑下,例如c:\instantclIEnt 。在此路徑下建立文
件夾NETWORK/ADMIN,在ADMIN文件夾下建立tnsnames.ora文件,文件內容即為希望連
接的數據庫的TNS信息。啟動PL/SQL Developer,點擊Tools->Preferences,在Connection中需要配置如下兩
個參數:
Oracle Home:c:\instantclIEnt
OCI Library:c:\instantclIEnt\oci.dll到此為止,配置工作就基本完成了。現在我們就可以通過用戶名,密碼及實例別名來連
接tnsnames.ora文件中配置過的數據庫了。在查詢包含有中文信息的記錄時,會顯示亂碼,
這時就需要設置環境變量:右擊我的電腦-屬性-高級-環境變量 新建環境變量NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK保存後重新啟動PL/SQL,問題就解決了。 PS:我們也可以在任意路徑下創建tnsnames.ora文件。而不需要如前所述創建
NETWORK/ADMIN文件夾,然後象新建環境變量NLS_LANG一樣新建環境變量TNS_ADMIN
值為tnsnames.ora文件所在路徑。