Posted on 2008-06-09 08:47
詩特林 閱讀(1907)
評論(0) 編輯 收藏 所屬分類:
Oracle
oracle10G下在isqlplus中啟用sys賬戶的解決辦法
一般用戶登陸isqlplus的網址http://ip:5560/isqlplus(或是點擊http://573b95830e0143a:5500/em中的相關連接下的iSQL*Plus),進入該網址后會直接進入數據庫用戶登陸界面,使用數據庫中的普通用戶即可登陸。
DBA用戶登陸isqlpus的網址http://ip:5560/isqlplus/dba,進入該網址后首先會彈出一個登陸框,要求先輸入iSQL*Plus DBA的用戶和密碼,注意這里不是數據庫用戶,而是isqlplus應用服務器要求的用戶和密碼。
要以DBA身份登陸isqlplus,必須先配置好oc4j用戶。
采用xml配置文件認證的方式。該配置文件位于%ORACLE_HOME%/oc4j/j2ee/isqlplus/application-deployments/isqlplus/config
但是該配置文件中的密碼是加密過的,所以我們不能手動修改該文件,而是通過JAZN(Java AuthoriZatioN)來配置。JAZN是oracle提供的一個JASS(Java Authentication and Authorization Service)工具.
通過JAZN,可以完成以下任務
如何進入JAZN命令環境
0.打開CMD命令窗口先;
1.進入到目錄%ORACLE_HOME%/oc4j/j2ee/isqlplus/application-deployments/isqlplus/
2.確保JAVA_HOME環境變量指向了正確的jdk(需要1.4以上)路徑,可以使用oracle自帶的jdk,位于%ORACLE_HOME%/jdk
3.執行以下命令
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
當ORACLE_HOME設置不正確時,就直接采用路徑比較安全(java -Djava.security.properties=G:\oracle\product\10.1.0\Db_2/sqlplus/admin/iplus/provider -jar G:\oracle\product\10.1.0\Db_2/oc4j/j2ee/home/jazn.jar -user "iSQL*Plus DBA/admin" -password welcome -shell)
其中realm=iSQL*Plus DBA,user=admin,這些可以從xml配置文件中看到,admin的默認密碼是welcome,但是admin用戶默認沒有webDba權限,不能直接用于登陸isqlplus。
進入JAZN命令環境后,可以執行所有的任務:
1.新建用戶ning,密碼pass
JAZN:> adduser "iSQL*Plus DBA" isqluser pass
2.列出用戶
JAZN:> listusers
iSQL*Plus DBA/admin
iSQL*Plus DBA/isqluser
3.授予用戶登陸isqlplus DBA的權限
JAZN:> grantrole webDba "iSQL*Plus DBA" isqluser
4.退出JAZN命令環境
JAZN:> exit
假設上面我們創建了一個用戶isqluser,密碼為pass,并且已經授予webDba權限。
接下來在CMD下重新啟動isqlplus應用服務器
isqlplusctl stop
isqlplusctl start
再進入網址http://ip:5560/isqlplus/dba,在彈出的對話框中輸入isqluser和pass,就可以進入到數據庫登陸界面了,選擇以sysdba或sysoper身份登陸了。