Oracle
執行“從 spfile 創建 pfile”時出錯
我剛剛安裝了 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';