.deb 套件,原生支援 Debian/Ubuntuimp/exp 工具(Instant Client 缺少)# 來源:https://oss.oracle.com/debian/dists/unstable/non-free/binary-i386/
# 版本通常比官網新
wget https://oss.oracle.com/debian/pool/non-free/o/oracle-xe-universal/oracle-xe-universal_10.2.0.1-1.1_i386.deb
dpkg -i oracle-xe-universal_10.2.0.1-1.1_i386.deb
# 安裝過程自動:
# 1. 建立 oracle 用戶與 dba 群組
# 2. 修改 /etc/sysctl.conf 核心參數
# 3. 配置 /etc/init.d/oracle-xe 服務腳本
# 4. 互動式配置:HTTP 埠、Listener 埠、SYS/SYSTEM 密碼、是否開機自啟
XE 字符集固定為 AL32UTF8,NLS_LANG 需與系統 Locale 對應:
# 檢查系統 Locale
locale
# LANG=zh_CN.UTF-8
# 設定 Oracle 環境變數 (~oracle/.bashrc 或 /etc/profile.d/oracle.sh)
export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
export ORACLE_SID=XE
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin
| 元素 | 值 | 說明 |
|---|---|---|
| Language | SIMPLIFIED CHINESE | 錯誤訊息、月份/星期名稱語言 |
| Territory | CHINA | 日期格式、貨幣符號、排序規則 |
| Charset | AL32UTF8 | 客戶端字符集,必須與資料庫字符集一致 |
sqlplus system/oracle
SQL> CREATE TABLE test_chinese (id NUMBER, name VARCHAR2(50));
SQL> INSERT INTO test_chinese VALUES (1, '中文測試');
SQL> SELECT * FROM test_chinese;
ID NAME
--- ---------------
1 中文測試
# 匯出
exp system/oracle file=test.dmp tables=test_chinese
# 匯入
imp system/oracle file=test.dmp full=y
# 遠端 SSH 連線無亂碼,Imp/Exp 正常處理中文
# 預設埠 8080 (安裝時可指定)
https://localhost:8080/apex
# 登入:SYS AS SYSDBA / SYSTEM
# 查看當前 SGA
SQL> SHOW PARAMETER sga_target
# 修改 (需重啟)
SQL> ALTER SYSTEM SET sga_target=800M SCOPE=SPFILE;
# 最大不可超過 1GB
SQL> SHOW PARAMETER sessions
# 修改需重啟,但受授權限制
XE 固定 AL32UTF8,不可變更。若需其他字符集必須升級標準版/企業版。
| 優點 | 限制 |
|---|---|
| Deb 原生安裝,零依賴地獄 | 單 CPU、1GB RAM、4GB 資料、20 sessions | 含 imp/exp/sqlplus 完整工具鏈 | 字符集固定 AL32UTF8 | 自動核心參數調優 | 無分區、無進階壓縮、無 RAC | 免費授權 | 無 Oracle 支援合約 |
結語:Debian + Oracle XE = 輕量級資料庫部署的黃金組合。掌握 NLS_LANG 正確配置,即可獲得開箱即用的中文環境與完整工具鏈。