
1. 項目緣起與核心價值最近在幫團隊搭建新的開發測試環境數據庫選型上考慮到性能、穩定性和生態最終還是決定上Oracle 19c。雖然現在開源數據庫風頭正勁但很多傳統企業級應用、歷史遺留系統或者對事務一致性、高可用性有嚴苛要求的場景Oracle依然是那個繞不開的“老大哥”。然而從安裝、配置到日常使用工具比如PL/SQL Developer的搭配這一整套流程對于新手甚至是一些有經驗的開發者來說依然是個不小的挑戰。網上教程雖多但要么過于簡略跳過了關鍵細節要么版本老舊不適用19c更別提那些隱藏在配置深處的“坑”了。我這次的任務就是要把Oracle 19c在Windows環境下的完整生命周期——從安裝、基礎配置、連接工具使用到最后的徹底卸載——給徹底捋清楚。這不僅僅是一個按“下一步”的安裝指南更重要的是理解每個步驟背后的意圖知道哪些參數動了會有什么影響以及當事情不按預期發展時該如何一步步排查和解決。特別是卸載很多人覺得直接刪除程序就行結果導致系統殘留一堆注冊表和文件下次重裝時問題百出。所以這篇內容會非常詳細甚至有些“啰嗦”但目的就是讓你一次做對避免后續折騰。2. Oracle 19c 安裝前的深度準備與避坑指南安裝Oracle數據庫尤其是19c這樣的企業級版本準備工作的重要性遠超安裝過程本身。準備不充分輕則安裝失敗重則影響系統穩定性。這里我們拋開官方文檔里冗長的清單直接聚焦于幾個最核心、最容易出錯的點。2.1 系統環境與硬件資源的硬性核查首先別急著下載安裝包。打開你的系統屬性確認操作系統版本。Oracle 19c對Windows的支持是有限的主流支持Windows Server 2012 R2、2016、2019以及Windows 10/11。對于Windows 10/11務必確保是64位專業版或企業版家庭版可能會在安裝或運行過程中遇到無法預料的權限和組件問題。內存和磁盤空間是兩大硬指標。官方最低要求是1GB內存但那是“能跑起來”的標準。對于學習和開發測試我強烈建議至少準備4GB以上的可用物理內存。安裝程序本身和數據庫實例運行后內存消耗是很大的。磁盤空間方面安裝路徑Oracle Home需要大約10GB而數據文件存放的目錄通常與安裝路徑分開建議預留50GB以上的可用空間。這是因為除了初始數據還有歸檔日志、備份文件等都會快速增長。我曾在一個只有30GB空閑的盤上安裝初期沒問題跑了兩周業務測試就因空間不足導致數據庫掛起教訓深刻。2.2 安裝包的獲取與版本選擇前往Oracle官網的下載頁面找到Oracle Database 19c。你會發現有兩個主要的Windows版本下載選項LINUX.X64_193000_db_home.zip等等這是Linux的——顯然不對。對于Windows你應該找文件名包含WINDOWS.X64_193000的包。通常是一個巨大的約2.8GB的壓縮包如WINDOWS.X64_193000_db_home.zip。這里有一個關鍵選擇是否包含“示例方案”和“創建容器數據庫”的選項。對于初學者我建議下載那個更大的、包含了“示例方案”的安裝包。示例方案如經典的HR人力資源、OE訂單入口等對于學習SQL和PL/SQL非常有幫助。而“創建容器數據庫”是19c的一個核心特性CDB/PDB架構即便你初期不用了解一下也沒壞處。2.3 用戶權限與路徑規劃的玄學很多安裝失敗源于權限。請務必使用具有管理員權限的賬戶進行操作。并且右鍵點擊安裝程序選擇“以管理員身份運行”。這不是建議是必須。Oracle安裝程序會向系統目錄、注冊表寫入大量信息普通用戶權限不足。路徑規劃是另一個大學問。默認的安裝路徑是C:\app\用戶名\product\19.0.0\dbhome_1。我不建議使用默認路徑尤其是當C盤是系統盤時??臻g問題數據庫文件增長會侵占系統盤空間。權限問題C盤根目錄或Program Files目錄權限控制嚴格可能導致后續運維麻煩。重裝系統一旦系統崩潰你的數據庫就沒了。我的推薦做法是專門規劃一個非系統盤比如D:\。創建一個清晰的目錄結構例如D:\Oracle\ ├── Install\ # 存放安裝包和解壓后的文件 ├── OraHome19\ # ORACLE_HOME 如 D:\Oracle\OraHome19 └── OraData\ # 數據文件存放區 如 D:\Oracle\OraData將ORACLE_HOME如D:\Oracle\OraHome19和數據庫文件目錄如D:\Oracle\OraData分開。這樣做的好處是邏輯清晰備份和遷移時目標明確。安裝時我們會將這兩個路徑分別指定給不同的配置項。2.4 關閉防火墻與殺毒軟件的臨時策略在安裝和配置過程中Oracle安裝程序需要監聽特定端口默認1521并可能創建系統服務。Windows防火墻或第三方殺毒軟件可能會攔截這些操作導致安裝程序卡住或服務啟動失敗。操作在安裝開始前暫時關閉Windows Defender防火墻或允許Oracle相關程序通過并退出第三方殺毒軟件。這是一個臨時措施安裝配置完成后再重新開啟并配置規則。為什么安裝程序不是一個簡單的.exe它背后會調用多個子進程和腳本我們很難預先知道所有需要放行的規則。先關閉以確保暢通事后再補規則是最高效的方法。安裝完成后你需要在防火墻中為tnslsnr.exe監聽器和數據庫實例進程創建入站規則開放1521端口。3. 分步詳解Oracle 19c安裝流程與關鍵配置準備好之后我們開始正式的安裝。解壓下載的ZIP包到一個路徑短的目錄避免某些安裝程序對長路徑支持不佳比如D:\Install\Oracle19c。找到其中的setup.exe右鍵以管理員身份運行。3.1 安裝程序向導的步步為營配置選項第一個重要選擇。對于絕大多數個人學習或測試環境選擇“創建和配置單實例數據庫”。這是最經典、最直接的方式?!皟H設置軟件”選項適用于高級的、腳本化的集群部署我們暫不需要。系統類選擇“桌面類”還是“服務器類”這里很多人會迷惑。桌面類安裝流程簡化使用Windows內置的賬戶管理適合安裝在Windows 10/11等桌面操作系統上用于開發、測試。它會自動處理很多配置比如創建Windows服務。服務器類提供更多高級配置選項如存儲管理、備份恢復設置等通常用于Windows Server生產環境。對于本教程的目的在Windows 10/11上請直接選擇“桌面類”。這能避免大量復雜的手動配置。Oracle主目錄和基目錄這就是我們之前規劃的路徑。Oracle基目錄可以設置為D:\Oracle。軟件位置Oracle主目錄瀏覽并選擇我們創建的D:\Oracle\OraHome19。安裝程序會自動識別并填充一些路徑。數據庫類型與身份證明數據庫類型選擇“高級配置”。雖然叫“高級”但這里能讓我們看到并設置最重要的幾個參數。全局數據庫名給你的數據庫起個名字比如orcl默認或testdb。這將是數據庫在網絡中的唯一標識。管理口令這是SYS、SYSTEM等核心管理賬戶的密碼。必須牢記Oracle對密碼強度有要求至少8位包含大小寫字母和數字。例如Oracle123。切勿使用oracle、admin等簡單密碼安裝程序會拒絕。存儲與恢復配置關鍵步驟數據庫文件位置不要使用默認的%ORACLE_BASE%\oradata。點擊“瀏覽”指向我們專門準備的D:\Oracle\OraData。這樣所有數據文件、控制文件、重做日志文件都會整齊地放在這里??焖倩謴蛥^這是用于備份和恢復的區域。同樣建議設置到非系統盤比如D:\Oracle\FastRecoveryArea。大小可以設置為10GB左右。這個區域很重要如果滿了會影響數據庫運行。網絡配置確保“創建為容器數據庫”選項是勾選的。這是19c的默認和推薦架構一個容器數據庫CDB內可以包含多個可插拔數據庫PDB資源隔離和管理更方便。我們后續的操作主要在自己的PDB里進行。監聽端口默認1521除非有沖突否則不用改。先決條件檢查安裝程序會檢查系統環境如內存、磁盤空間、操作系統版本等。如果出現警告通常是“監視物理內存”不足因為桌面環境可能還有其他程序占用可以忽略勾選“忽略所有”繼續。但如果是錯誤如操作系統版本不支持則必須解決。摘要與安裝最后確認一遍所有配置尤其是路徑和數據庫名。然后點擊“安裝”。這個過程會比較長可能持續20-40分鐘期間會彈出DOS窗口執行腳本不要關閉。安裝后配置安裝完成后會彈出一個對話框顯示數據庫創建進度。全部完成后會有一個“完成”的提示并可能給出一些重要信息如數據庫控制臺的URL通常是https://localhost:5500/em。務必記下這個URL和管理口令。3.2 安裝后的首要驗證與常見問題排查安裝完成不是終點驗證能正常使用才是。驗證服務打開“任務管理器”-“服務”選項卡或運行services.msc。你應該能看到至少以下幾個以Oracle開頭的服務并且OracleOraDB19Home1TNSListener監聽器和OracleService你的數據庫名例如OracleServiceORCL這兩個服務是“正在運行”狀態。如果沒啟動嘗試手動啟動。使用SQL*Plus連接驗證打開開始菜單找到“Oracle - OraDB19Home1”文件夾運行“SQL Plus”。用戶名輸入sys as sysdba 密碼輸入你安裝時設置的管理口令。注意sys用戶必須以sysdba權限登錄。如果連接成功會顯示“已連接到Oracle Database 19c Enterprise Edition...”的提示。輸入簡單的SQL測試SELECT name FROM v$database;應該能返回你的數據庫名如ORCL。接著查看容器數據庫內的可插拔數據庫SELECT name, open_mode FROM v$pdbs;。你會看到一個叫PDB$SEED的種子庫和一個以你的數據庫名開頭、后接PDB的庫如ORCLPDB它的OPEN_MODE應該是READ WRITE。常見安裝后問題監聽器無法啟動檢查1521端口是否被占用如其他Oracle版本、SQL Server等??梢赃\行netstat -ano | findstr :1521查看。如果被占用可以在安裝時修改端口或停止占用端口的程序。數據庫實例服務無法啟動查看Windows事件查看器eventvwr.msc中“Windows日志”-“應用程序”里Oracle相關的錯誤日志。常見原因是數據文件路徑權限不足或之前安裝有殘留。確保D:\Oracle\OraData目錄對當前用戶有完全控制權。忘記SYS密碼如果桌面類安裝可以通過操作系統認證登錄。在命令行非SQL*Plus中先設置環境變量set ORACLE_SID你的數據庫名如ORCL然后運行sqlplus / as sysdba無需密碼即可登錄。登錄后可以用ALTER USER sys IDENTIFIED BY 新密碼;來修改密碼。4. PL/SQL Developer的安裝、配置與核心使用技巧Oracle自帶的SQL*Plus是命令行工具功能強大但不夠友好。PL/SQL Developer是Windows下最流行的Oracle圖形化開發工具之一它提供了代碼編輯、調試、對象管理、數據查詢等一站式功能。4.1 安裝與初始配置獲取與安裝從官網下載PL/SQL Developer安裝程序。安裝過程很簡單基本一路“Next”即可。注意選擇安裝路徑同樣建議非系統盤。首次啟動與連接配置首次啟動時會彈出登錄對話框。這里的關鍵是“Database”下拉框是空的因為我們還沒告訴它如何連接。點擊“Cancel”取消登錄。進入主界面后選擇菜單欄的Tools - Preferences。在左側找到Connection選項。在右側的“Oracle Home”下拉框手動輸入或瀏覽選擇你的Oracle主目錄即D:\Oracle\OraHome19。在“OCI library”路徑它會自動填充為D:\Oracle\OraHome19\bin\oci.dll。請確認這個路徑正確。點擊“OK”保存。建立連接關閉并重新啟動PL/SQL Developer此時登錄對話框的“Database”下拉框應該可以選擇了。如果還是沒有可以手動輸入連接字符串。用戶名/密碼我們可以先用普通管理員賬戶例如system和你安裝時設置的密碼。Database這里需要填寫網絡服務名。對于本地剛安裝的數據庫最簡單的方式是填寫localhost:1521/你的PDB服務名。如何知道PDB服務名回到SQL*Plussys as sysdba執行SHOW CON_NAME;確認當前在CDB根容器。然后執行SELECT name FROM v$services WHERE name LIKE %pdb%;。你會看到一個類似orclpdb.localdomain的服務名。通常PDB的服務名就是數據庫名小寫加上pdb。因此連接字符串可以寫為localhost:1521/orclpdb或者127.0.0.1:1521/orclpdb。連接為選擇“Normal”。點擊“OK”如果一切配置正確應該能成功連接到你的可插拔數據庫PDB。4.2 核心功能與高效使用指南成功連接后你會看到對象瀏覽器、SQL窗口等界面。創建新用戶與表空間最佳實踐強烈不建議直接用system用戶進行日常開發。我們應該創建專屬的用戶和表空間。打開一個新的“Command Window”類似SQL*Plus窗口或直接使用SQL窗口。執行以下腳本請根據實際情況修改myuser,mypassword,mytablespace-- 首先確保當前在PDB中。如果不在先執行ALTER SESSION SET CONTAINER ORCLPDB; -- 1. 創建表空間數據文件的存放邏輯單元 CREATE TABLESPACE mytablespace DATAFILE D:\Oracle\OraData\ORCL\mytablespace01.dbf SIZE 100M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED; -- 2. 創建用戶并指定默認表空間 CREATE USER myuser IDENTIFIED BY mypassword DEFAULT TABLESPACE mytablespace QUOTA UNLIMITED ON mytablespace; -- 3. 授予基本權限 GRANT CONNECT, RESOURCE TO myuser; -- CONNECT權限允許連接RESOURCE權限允許創建表、視圖、過程等對象。創建后你就可以用myuser這個新用戶登錄PL/SQL Developer了所有創建的表都會默認存放在mytablespace表空間對應的物理文件mytablespace01.dbf里。SQL窗口與代碼助手這是最常用的功能。編寫SQL時工具會提供智能提示表名、列名、關鍵字。快捷鍵F5是執行腳本可以執行多條語句CtrlEnter是執行當前語句或選中的語句。一個重要的技巧對于SELECT語句CtrlEnter會在下方打開數據網格顯示結果對于INSERT/UPDATE/DELETE等DML語句默認不會立即提交需要你手動點擊提交按鈕或執行COMMIT;語句。對象瀏覽器與數據查看左側的對象瀏覽器可以清晰地看到你用戶下的所有表、視圖、索引、存儲過程等。雙擊一個表名默認會在右側打開數據標簽頁顯示表里的所有數據。在這里你可以直接編輯數據記得提交。調試PL/SQL程序這是PL/SQL Developer的強項。編寫一個簡單的存儲過程后點擊工具欄上的“調試”按鈕甲蟲圖標可以設置斷點、逐行執行、查看變量值對于排查復雜邏輯錯誤非常有用。導出與導入數據菜單欄Tools - Export Tables和Import Tables功能非常強大。可以方便地將表結構、數據導出為SQL插入語句、CSV、Excel等多種格式或者從這些格式導入。在數據遷移和備份時常用。4.3 連接配置的深入理解與排錯如果連接失敗通常有幾個原因OCI庫配置錯誤這是最常見的問題。務必在Preferences - Connection里確認Oracle Home和OCI Library路徑完全正確指向你19c的安裝目錄。TNS解析問題PL/SQL Developer也使用tnsnames.ora文件來解析網絡服務名。該文件通常位于%ORACLE_HOME%\network\admin\tnsnames.ora。你可以用記事本打開它查看或添加你的數據庫連接描述符。一個基本的配置如下ORCLPDB (DESCRIPTION (ADDRESS (PROTOCOL TCP)(HOST localhost)(PORT 1521)) (CONNECT_DATA (SERVER DEDICATED) (SERVICE_NAME orclpdb) -- 這里填寫你的PDB服務名 ) )配置好后在PL/SQL Developer的Database下拉框里就能直接選擇ORCLPDB了。監聽器未運行或PDB未注冊確保監聽器服務OracleOraDB19Home1TNSListener已啟動。在SQL*Plus以sysdba登錄中執行ALTER PLUGGABLE DATABASE orclpdb OPEN;確保你的PDB是打開狀態。監聽器會自動注冊打開的服務。5. 徹底、干凈地卸載Oracle 19c當你需要卸載Oracle 19c時比如為了安裝新版本或者安裝過程混亂需要重來絕對不能簡單地在“程序和功能”里點擊卸載就了事。不徹底的卸載會導致殘留文件、注冊表項和環境變量使得再次安裝時出現各種詭異錯誤。5.1 標準卸載流程停止所有Oracle相關服務這是第一步也是最重要的一步。打開“服務”services.msc找到所有以Oracle開頭的服務特別是OracleService數據庫名和OracleOraDB19Home1TNSListener將它們全部停止。運行官方卸載程序進入Oracle主目錄下的deinstall文件夾例如D:\Oracle\OraHome19\deinstall。找到deinstall.bat文件右鍵以管理員身份運行。這是一個命令行交互程序。它會自動檢測已安裝的組件并引導你完成卸載。按照提示操作當詢問是否刪除數據庫文件時如果你確定不再需要該數據庫可以選擇“是”。注意此操作會物理刪除你的數據文件務必先做好備份卸載程序會花一些時間移除Oracle軟件、服務、注冊表項和開始菜單條目。使用Windows卸載程序運行官方deinstall.bat后理論上軟件主體已被移除。但為了保險可以再打開“設置”-“應用”-“應用和功能”搜索“Oracle”將任何殘留的項目如Oracle Universal Installer也卸載掉。5.2 手動清理殘留進階確保絕對干凈即使運行了官方卸載工具一些頑固的殘留可能依然存在。在嘗試全新安裝前進行以下手動檢查與清理是很好的習慣。刪除殘留的Oracle目錄檢查并刪除你指定的Oracle基目錄如D:\Oracle如果里面還有OraHome19和OraData等子目錄。檢查默認位置C:\app\你的用戶名刪除整個C:\app目錄如果存在。刪除程序數據目錄C:\ProgramData\Oracle這是一個隱藏文件夾需要在文件資源管理器選項中打開“顯示隱藏的文件、文件夾和驅動器”。清理注冊表高風險操作建議備份注冊表后進行按Win R輸入regedit打開注冊表編輯器。刪除以下鍵值如果存在HKEY_LOCAL_MACHINE\SOFTWARE\Oracle整個Oracle鍵刪除HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下所有以Oracle、OraWeb、Ora開頭的服務項。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application下所有以Oracle開頭的項。HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI下任何與Oracle相關的ODBC驅動項。HKEY_CURRENT_USER\Software\Oracle如果存在。清理環境變量打開“系統屬性”-“高級”-“環境變量”。在“系統變量”中查找并刪除ORACLE_HOME,ORACLE_BASE,ORACLE_SID,TNS_ADMIN等變量。在“系統變量”中找到Path編輯它刪除其中所有指向Oracle目錄的路徑如D:\Oracle\OraHome19\bin。重啟計算機完成以上所有步驟后重啟電腦。這是為了讓所有內存中的進程和緩存徹底清除。5.3 驗證卸載是否徹底重啟后可以進行以下檢查檢查“服務”中是否還有Oracle相關服務。檢查開始菜單是否還有Oracle文件夾。嘗試在命令行輸入sqlplus如果提示“不是內部或外部命令”說明環境變量已清理。檢查之前規劃的安裝目錄如D:\Oracle和數據目錄如D:\Oracle\OraData是否已空或已刪除。只有確認以上所有痕跡都已清除你才能開始一次全新的、干凈的Oracle 19c安裝最大程度避免因殘留導致的沖突和錯誤。這個過程雖然繁瑣但比起安裝到一半報錯然后花數小時去排查不明原因前期花十幾分鐘做一次徹底清理絕對是值得的。