最近安裝現場的數據庫后遇到了這個錯誤
sqlplus / as sysdba
發生原因有2個:
1.關閉數據庫是shutdown 后面沒有接關閉參數中的任何一個。
nomal --->所有連接都斷開時才能關閉; transactional --->等待事務結束后,主動斷開連接; immediate --->主動斷開事務和連接 abort --->立刻關閉數據庫,這個操作是危險的,不會同步數據,不觸發檢查點,回滾段直接清 空,相當於掉電,每次啟動都要實例恢復。
如果關閉的時候沒有更后面任何一個參數,直接使用了“shutdown” ,並退出了sqlplus,造成Oracle文件被lock,下次登陸數據庫就會報這個錯
2.當process達到數據庫最大限時,sysdba登錄也會報告此錯誤
解決辦法
1.臨時解決辦法,shutdown abort ,重新startup 便可登陸
2.永久解決辦法
不再使用shutdown 不跟參數的方式關閉數據庫
擴容連接數
--查看當前連接數
select count(*) from v$process;
--查看數據庫最大允許連接數
show parameter processes;
修改oracle最大允許參數值
SQL> alter system set processes=200 scope = spfile;
系統已更改。
SQL> show parameter processes;
processes integer 150
SQL> create pfile from spfile;
文件已創建。
這時重啟數據庫。 重啟后才會生效。
SQL> show parameter processes;
processes integer 200