Windows-Server

在 Windows Server 2012 r2 上設置 Oracle 18c XE 的問題

  • June 4, 2019

在工作中,我在 Windows Server 2012 r2 上安裝和執行 Oracle 時遇到了一些問題。最初,出於測試目的,我在我的 Win10 筆記型電腦上安裝了 Oracle - 我使用 Toad for Oracle 連接到它並且沒有任何問題。

但是,在 Windows Server 2012 r2 上安裝後,我注意到目錄中沒有控製文件和/或數據庫文件%ORACLE_BASE%\oradata\XE。此外,我注意到我的listener.ora文件缺少 XE 服務實例的條目——添加後,我可以通過 SQLPlus 進行連接,但由於沒有控製文件,因此無法掛載數據庫。我什至嘗試使用 DBCA 創建一個新數據庫,但遇到了無效的記憶體參數問題。

我開始懷疑 18c 是否甚至與 Server 2012 r2 兼容,即使文件上說是 - 我是否缺少一些配置?任何幫助將不勝感激 - 在過去的幾天裡,我一直在努力解決這個問題。謝謝。

所以我最終不小心解決了這個問題……

嘗試在 DBCA(數據庫配置助手)中設置新數據庫後,我去刪除新創建的數據庫,結果發現我不小心刪除了“XE”實例。我繼續刪除了我嘗試創建的新實例,然後返回 DBCA 並創建了一個 SID 為“XE”的新實例(如果我嘗試使用不同的 SID,Oracle XE 會抱怨一個實例的限制每次安裝。我還將sga_target& pga_aggregate_target值調整為總和為 2GB(XE 的另一個限制)並降低了程序值(從初始的 4400 更改為 320,因為這就是我的筆記型電腦使用並且可以正常工作的原因)並重新創建了實例必要的控制和數據文件。

總之:

在 Windows Server 2012 r2 上全新安裝 Oracle 時(可能適用於其他受支持的 Win Server OS,但我只有 2012 r2 來測試),如果預設實例沒有所需的控制和/或數據文件,則執行以下(使用 DBCA 中的高級配置):

  1. 刪除預設實例(在我的例子中是“XE”)。如果您嘗試創建任何其他實例,請同時刪除它們。
  2. 使用預設 SID(在我的情況下為“XE”)創建一個新實例 - 如果需要,將其設置為您將來創建的任何可插入數據庫的容器數據庫。

> > 如果使用 Oracle 18c XE,請確保sga_targetpga_aggregate_target值總和為 XE 設置的受限記憶體限制 (2GB)(我的值是sga_target=1536M& pga_aggregate_target=512M)。 > > > 將程序值設置為適當的值。我不確定這是否有必要,但如果在我調整 sga 和 pga 值後沒有降低,我會不斷得到 ORA-47500。 > > > 3. 根據需要為您的實例創建可插拔數據庫。

就像我提到的那樣,這解決了我的問題 - 如果我做出任何不正確的假設,請隨時糾正這個問題。希望如果遇到類似情況,這將對其他人有所幫助-我假設這些方向將根據安裝將在哪個伺服器作業系統上進行調整。

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