Oracle

執行“從 spfile 創建 pfile”時出錯

  • June 13, 2018

我剛剛安裝了 Oracle 數據庫 12cR2 並正在嘗試啟動一個數據庫。

我正在嘗試使用以下查詢從 spfile 創建一個 pfile。

create pfile from spfile;

然後我收到以下錯誤。

create pfile from spfile
*
ERROR at line 1:
ORA-01565: error in identifying file '?=/dbs/spfile@.ora'
ORA-27077: too many files open

誰能告訴我這裡發生了什麼或我做錯了什麼?

ORA-27077: too many files open

基於該錯誤,我猜您已達到最大打開文件的限制。

ulimit -Sn您可以使用和檢查軟限制和硬限制ulimit -Hn。將其配置在/etc/security/limits.conf或下的單獨文件中/etc/security/limits.d/。檢查實際打開文件的列表lsof -u oracle(如果執行實例的使用者是oracle)。

如果您查看CREATE PFILE (Oracle) 的官方文件,您會發現一個語法圖。

                                                       +- = '<spfile_name>' -+
                                                       |                     |
             +- = '<pfile_name>' -+         +-> SPFILE -+--------------------+
CREATE PFILE -+                    +-> FROM -+                                +-> ;
             +--------------------+         +-> MEMORY ----------------------+

如果您沒有指定文件名,或者pfile_name係統spfile_name將使用文件中描述的預設值。

如果不指定pfile_name,則 Oracle 數據庫使用特定於平台的預設初始化參數文件名。

如果不指定spfile_name,則數據庫使用目前與實例關聯的 spfile,通常是啟動時使用的 spfile。如果沒有 spfile 與實例關聯,則數據庫會查找特定於平台的預設伺服器參數文件名。如果該文件不存在,則數據庫返回錯誤

強調我的)

參考: 創建 PFILE (Oracle)

解決方案

pfile_name嘗試為and提供文件名spfile_name,看看會發生什麼。

例子

create pfile='/u00/app/oracle/admin/YOUR_SID/pfile/initYOUR_SID.ora' 
from spfile='/u00/app/oracle/admin/YOUR_SID/pfile/spfileYOUR_SID.ora';

引用自:https://dba.stackexchange.com/questions/209543