架構
Browser → HTTP (Apache) → JServ Servlet Engine → iSQL*Plus Servlet → Oracle Net → Database
配置步驟
- 配置 Apache httpd.conf(`$ORACLE_HOME/Apache/Apache/conf/httpd.conf`):
- `Listen`:非 root 必須 >1024,如 `Listen 7777`。
- `DocumentRoot`:靜態內容目錄,如 `/home/htdocs`。
- 包含 `Oracle_apache.conf`(iSQL*Plus Servlet 映射)。
- **修正 JServ Bug**:註釋 `$ORACLE_HOME/Apache/Jserv/etc/jserv.properties` 中 `wrapper.env.copy=DISPLAY`,否則 `httpd` 無法啟動。
- 配置 TNSNAMES.ORA(供 Servlet 連線):
orcl92 =
(DESCRIPTION =
(ADDRESS_LIST = (ADDRESS = (PROTOCOL=IPC)(KEY=ORCL92)))
(CONNECT_DATA = (SID=ORCL92))
)
- 啟動 Apache:
$ORACLE_HOME/Apache/Apache/bin/apachectl start
- 存取入口:
- 一般用戶:`https://host:7777/isqlplus/`
- DBA 用戶:`https://host:7777/isqlplusdba/`(需密碼檔驗證)。
- 建立 DBA 密碼檔:
cd $ORACLE_HOME/sqlplus/admin
$ORACLE_HOME/Apache/Apache/bin/htpasswd -c iplusdba.pw oracle
# 輸入密碼兩次
- 調整 iSQL*Plus 參數(`$ORACLE_HOME/sqlplus/admin/isqlplus.conf`):
- `iSQLPlusNumberOfThreads`:並行執行緒數。
- `iSQLPlusTimeOutInterval`:閒置逾時秒數。
- `iSQLPlusHashTableSize`:會話雜湊表大小。
- `iSQLPlusConnectIdList`:允許的連線識別字串。
- 套用 9.2.0 關鍵補丁:Metalink Bug 2581911(修正 Servlet 記憶體洩漏、Session 洩漏)。
特色功能
- HTML 表格輸出、排序、捲動。
- 歷史指令工具列(上一條/下一條/清除/執行)。
- 支援 `SET`、`SPOOL`、`DESCRIBE`、`EXPLAIN PLAN` 等 SQL*Plus 命令。
- 無需安裝 Oracle 9iAS(獨立 Apache+JServ 即可)。
遷移建議
10g+ 已棄用 iSQL*Plus,改用 **Oracle Application Express (APEX)** 或 **SQL Developer Web**,功能更豐富、架構現代化(ORDS + REST)。