用sysdba登錄oracle 11g數據庫時遇到已連接到空閑例程 ora-013113


網上思路:
1檢查你的E:\app\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora目錄文件下的SID號是否正確的,就是在裝oracle數據庫時自己設置的SID號,一般默認為ORCL,
2.檢查你的oracle 數據庫的兩個服務是否是打開的,這兩個服務分別為:OracleServiceORCL  和 OracleOraDb11g_home1TNSListener
3.如果以上都正確的話就需要重新裝載數據庫然后打開,具體的SQL語句為:SQL>startup pfile='D:\app\FuH\admin\orcl\pfile\init.ora.11182017132113'

描述:oracle、plsql正在運行突然失去連接,檢查發現歸檔日志滿,然后刪除歸檔日志重啟數據庫,重啟過程中疑似卡住,然后強制關閉命令窗口,接着就啟動不了。

中途產生報錯:已連接到空閑例程、ora-03113:通信通道的文件結尾、no login、ora-12514:TNS:監聽程序當前無法識別連接描述符中請求的服務、ora-24324:未初始化服務句柄、ora-03114:未連接到ORACLE、ora-01034:ORACLE not available、ora-01219:數據庫未打開:僅允許在固定表/視圖中查詢、ora-32001:已請求寫入spfile,但是沒有正在使用的spfile、

一、解決當前問題
ora-24324:未初始化服務句柄
指定ORACLE_SID

C:\user\admin> set ORACLE_SID=ORCL
SQL> sqlplus / as sysdba;
SQL> startup mount;

        相關內容:一個oracle 多個數據庫切換
        1、在不退出sqlplus的情況下,直接在命令行輸入conn username/password;即可完成切換。
        2、在退出sqlplus的情況下,
        windows下:set ORACLE_SID=db_name;
        linux下:export ORACLE_SID = db_name;
再登錄相應的用戶即可完成切換。


二、解決alert.log問題
重啟還有錯誤 ora-03113

Oracle出現錯誤,於是去錯誤日志里去找問題根源:D:\app\FuH\diag\rdbms\orcl\orcl\trace\alert_orcl.log

 

有兩處錯誤:ora-19815、ORA-19809: 超出了恢復文件數的限制、db_recovery_file_dest_size也叫歸檔日志空間不足導致的、又調整歸檔日志大小
    歸檔日志刪除:  

查詢歸檔日志空間sql> select * from v$recovery_file_dest;
    rman target sys/orcl@orcl;
    手動刪除trac文件之前用
    list archivelog all;
    delete archivelog all completed before'sysdate-7';
    手動刪除trac文件之后用
    crosscheck archivelog all;
    delete expired archivelog all;

 
    設置非歸檔方式
    http://blog.csdn.net/fengyifei11228/article/details/6049357     

 1 sql> archive log list;   #查看是否是歸檔方式 
        2 sql> alter system set log_archive_start=false scope=spfile; #禁用自動歸檔 
           sql>alter system set log_archive_start=false scope=spfile;  #啟用主動歸檔 
        3 sql> shutdown immediate; 
        4 sql> startup mount;    #打開控制文件,不打開數據文件 
        5 sql> alter database noarchivelog; #將數據庫切換為非歸檔模式 
        6 sql> alter database open;   #將數據文件打開 
        7 sql> archive log list;   #查看此時便處於非歸檔模式 

又報錯,ora-32001:已請求寫入spfile,但是沒有正在使用的spfile,

SQL> show parameter spfile;

NAME                                TYPE       VALUE
------------------------------------ -----------------------------------------
spfile                              string    
值為空,表示數據庫以pfile啟動
切換成spfile啟動:

sql> create spfile from pfile;

創建后重啟數據庫 value列有內容,重新更改歸檔日志大小,更改成功。

   
再次重啟,startup成功

 



    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM