解決某系統批量出現ora-04030錯誤的方法

小小黃-812發表於2014-08-13

報錯現象:
    在進行核心批量時出現“ORA-04030:out of process memory when trying to allocate 64544 bytes (sort subheap,sort key)“的錯誤

報錯分析:
    由報錯資訊可知是分配給此程式的記憶體資源存在限制的問題
   
報錯解決方法:
    首先使用oracle使用者,執行sqlplus / as sysdba命令進入資料庫,執行一下命令來調節sort_area_size的大小:
    show  parameter sort "檢視當前sort_area_size的值"
    show parameter spfile “如果有值說明使用的是spfile,接下來指定修改範圍的話就可以指定為spfile”
    alter  system  set  sort_area_size=‘調大當前值’  scope=spfile;
    接下來重啟資料庫,使其生效:
    shutdown   immediate  “關閉資料庫”
    startup               “啟動資料庫”
   
   
    其次使用root使用者登入作業系統,修改/etc/security目錄下的limits檔案,在裡面新增如下內容:
    core:
        fsize = -1
        core = -1
        cpu = -1
        data = -1
        rss = -1
        stack = -1
        nofiles = -1
        fsize_hard = -1
        core_hard = -1
        cpu_hard = -1
        data_hard = -1
        rss_hard = -1
        stack_hard = -1
        nofiles_hard = -1 
    oracle:
        fsize = -1
        core = -1
        cpu = -1
        data = -1
        rss = -1
        stack = -1
        nofiles = -1
        fsize_hard = -1
        core_hard = -1
        cpu_hard = -1
        data_hard = -1
        rss_hard = -1
        stack_hard = -1
        nofiles_hard = -1

然後,使用oracle使用者登入作業系統,進行重啟監聽的操作,命令如下:
lsnrctl  stop
lsntctl  start
lsntctl  status "檢視監聽情況"

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29144194/viewspace-1250644/,如需轉載,請註明出處,否則將追究法律責任。

相關文章