Oracle

Windows 10 上的 Oracle12c R2 僅啟動兩個實例之一。LRM-00109 中的手動啟動結果

  • April 12, 2019

我在本地 Windows 10(64 位)機器上安裝了 Oracle 12c R2。對於安裝,我選擇只安裝軟體。

安裝後,我使用安裝附帶的工具來創建數據庫。創建並啟動第一個數據庫後,我能夠毫無問題地連接到它。

但是在我創建了第二個數據庫並重新啟動機器之後,只啟動了新創建的數據庫。

第一個數據庫未在啟動時啟動,我無法使用 sqlplus 啟動它。我得到錯誤

SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: Parameterdatei 'D:\ORACLE\PRODUCT\12.2.0\DBHOME_1\DATABASE\INITDBNAME.ORA' konnte nicht ge┐ffnet werden

上述文件實際上並不存在。但是其他數據庫也不存在這樣的文件。該目錄包含SPFILE<DBNAME>.ORA兩個數據庫的內容。據我所知,oracleSPFILE<DBNAME>.ORA在啟動數據庫時使用這種模式。如果找不到所述文件,則繼續使用INIT<DBNAME>.ORA.

我創建了一個 INITDBNAME.ORA 文件並添加了內容:

SPFILE = 'D:\SPFILEDBNAME.ORA'

並嘗試使用啟動數據庫,startup pfile = 'D:\INITDBNAME.ORA' 但結果是

ORA-00205: Fehler beim Identifizieren der Kontrolldatei

錯誤。同樣令人困惑的是,如果 pfile 在 Oracle 目錄中,則命令失敗,說它無法訪問該文件。

編輯 在我刪除了兩個實例後,重新啟動並再次創建了兩個實例,我目前可以同時訪問它們。

當我嘗試登錄到第一個實例時,出現以下錯誤:

ERROR:
ORA-01116: Fehler beim Íffnen der Datenbankdatei 5
ORA-01110: Datendatei 5:
'D:\ORACLE\ORADATA\INSTANCE\DATAFILE\O1_MF_UNDOTBS1_DPKMRD6L_.DBF'
ORA-27041: Datei kann nicht ge÷ffnet werden
OSD-04002: Datei kann nicht ge÷ffnet werden
O/S-Error: (OS 5) Zugriff verweigert

編輯 Mirosoft 服務管理器將兩個 inscantec 報告為 runngin。

設置 ORACLE_SID 沒有任何區別。安裝兩個實例後,我可以通過

sqlplus sys@instance1 as sysdba
or 
sqlplus sys@instance2 as sysdba

但這只會在短時間內順利進行。幾分鐘後,當我連接到第一個實例時,它開始拋出 ORA-01110。

數據文件沒有失去。它們位於 Oracle 報告它們失去的位置。

我發現問題是 Windows 服務管理器啟動的數據庫是由似乎沒有足夠權限的使用者啟動的。

這很令人困惑,因為我在安裝時選擇了預設設置以使用 Oracles 虛擬使用者。此虛擬使用者似乎對數據庫的某些文件沒有寫權限。

我已將啟動服務的使用者從 Oracle 虛擬使用者更改為 Windows“本地系統”選項。因為這兩個數據庫執行似乎都很好。

我遇到了同樣的問題。數據庫未隨服務啟動。首先,我使用適用於 Windows 的 Oracle 管理助手檢查了服務的設置,並將數據庫配置為隨服務啟動而啟動(順便說一下,我更喜歡在服務關閉時立即關閉數據庫)。

但是讓數據庫在服務啟動時打開並沒有解決問題。接下來我發現該文件夾%ORACLE_HOME%\database是只讀的,我沒有成功使用Windows資源管理器中的屬性對話框清除該屬性。該attrib程序沒有顯示 R 標誌,但是…

也無法從 sqlplus 以 SYSDBA 的形式啟動數據庫 - 我遇到了相同的 LRM-00109 錯誤。所以我將它複製SPFILE到一個INIT<INSTANCE>.ora文件並進行了編輯。啟動也是不可能的,除非我使用

startup open pfile='(ORACLE_HOME)\database\init(Instance).ora'

我終於將服務從作為虛擬帳戶執行更改為作為本地系統執行 - 這有效……

我使用的 Oracle 版本是 12.2.0.1 - 我想它有一些問題。

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