Oracle 10g 引入 iSQL*Plus Web 管理介面,DBA 登入需額外配置 OC4J/J2EE 應用伺服器的 JAZN (Java Authorization) 安全框架。本文詳細記錄從環境準備、JAZN 命令操作、建立 DBA 用戶、授權 webDba 角色到重啟服務的完整流程。
https://host:port/isqlplus → 直接進資料庫登入頁https://host:port/isqlplus/dba → 先彈出 iSQL*Plus DBA 認證框 (非資料庫帳密)OC4J 採用 XML 設定檔認證 (預設):
$ORACLE_HOME/oc4j/j2ee/isqlplus/application-deployments/isqlplus/config/jazn-data.xmlJAZN 工具管理iSQL*Plus DBAadmin / welcome (無 webDba 角色,無法直接登入)
cd $ORACLE_HOME/oc4j/j2ee/isqlplus/application-deployments/isqlplus/
# 確認 JAVA_HOME 指向 JDK 1.4+ (可用 $ORACLE_HOME/jdk)
export JAVA_HOME=$ORACLE_HOME/jdk
export PATH=$JAVA_HOME/bin:$PATH
java -Djava.security.properties=$ORACLE_HOME/sqlplus/admin/iplus/provider \
-jar $ORACLE_HOME/oc4j/j2ee/home/jazn.jar \
-user "iSQL*Plus DBA/admin" -password welcome -shell
注意:必須在上述目錄下執行,否則報 Configuration file "config/jazn-data.xml" does not exist 或 Realm [iSQL*Plus DBA] does not exist。
| 操作 | 指令範例 |
|---|---|
| 新增用戶 | adduser "iSQL*Plus DBA" dba_user password123 |
| 列出用戶 | listusers "iSQL*Plus DBA" |
| 授予 webDba 角色 | grantrole webDba "iSQL*Plus DBA" dba_user |
| 撤銷 webDba 角色 | revokerole webDba "iSQL*Plus DBA" dba_user |
| 刪除用戶 | remuser "iSQL*Plus DBA" dba_user |
| 修改密碼 | setpasswd "iSQL*Plus DBA" dba_user oldpass newpass |
| 離開 | exit |
JAZN> adduser "iSQL*Plus DBA" oracle_dba OracleDBA@2024
JAZN> grantrole webDba "iSQL*Plus DBA" oracle_dba
JAZN> listusers "iSQL*Plus DBA"
# 輸出應包含 oracle_dba
JAZN> exit
isqlplusctl stop
isqlplusctl start
https://host:5560/isqlplus/dba (預設埠 5560)oracle_dba / OracleDBA@2024SYSDBA 或 SYSOPER 以 SYS 登入cd 到正確目錄再執行 java -jar 指令。iSQL*Plus DBA (含空格與大小寫)。grantrole webDba "iSQL*Plus DBA" admin 或建新帳號。$ORACLE_HOME/oc4j/j2ee/isqlplus/config/http-web-site.xml 中 port 設定。企業環境可切換至 Oracle Internet Directory (OID) 整合 LDAP 認證,需修改 jazn-data.xml 中 realm 設定,本文不展開。