Oracle10g以DBA身份來登陸SQL*Plus實(shí)操
以下的文章主要介紹的是Oracle10g以DBA身份來登陸SQL*Plus的實(shí)際操作,我前兩天在網(wǎng)上看到過好幾篇相關(guān)的文章,和此步驟做實(shí)驗(yàn),悟出如何在Windows XP Pro上安裝實(shí)際操作步驟,下面的文章路徑改一下就可以實(shí)現(xiàn)了。
Oracle10g:如何以DBA身份登陸iSQL*Plus
一般用戶登陸isqlplus的網(wǎng)址http://iport/isqlplus,進(jìn)入該網(wǎng)址后會直接進(jìn)入數(shù)據(jù)庫用戶登陸界面,使用數(shù)據(jù)庫中的普通用戶即可登陸。
DBA用戶登陸isqlpus的網(wǎng)址http://iport/isqlplus/dba,進(jìn)入該網(wǎng)址后首先會彈出一個登陸框,要求先輸入iSQL*Plus DBA的用戶和密碼,注意這里不是數(shù)據(jù)庫用戶,而是isqlplus應(yīng)用服務(wù)器要求的用戶和密碼。
要以DBA身份登陸isqlplus,必須先配置好oc4j用戶。oc4j可以使用兩種身份認(rèn)證方式:基于xml配置文件(jazn-data.xml)
基于LDAP(Oracle Internet Directory)
本文只涉及第一種方式,也就是采用xml配置文件認(rèn)證的方式。該配置文件位于$ORACLE_HOME/oc4j/j2ee/isqlplus/application-deployments/isqlplus/config.
但是該配置文件中的密碼是加密過的,所以我們不能手動修改該文件,而是通過JAZN(Java AuthoriZatioN)來配置。JAZN是oracle提供的一個JASS(Java Authentication and Authorization Service)工具,java的東西我不太懂,所幸這里只要照著文檔一步步操作就ok.
通過JAZN,可以完成以下任務(wù)Create users List users Grant the webDba role Remove users Revoke the webDba role Change user passwords
以上任務(wù),可以先進(jìn)入JAZN命令環(huán)境后再執(zhí)行,也可以直接通過一條完整的命令行實(shí)現(xiàn)。完整的命令行其實(shí)就是在進(jìn)入JAZN的命令后面直接加上對應(yīng)的任務(wù)選項(xiàng)即可,本文只以JAZN命令環(huán)境為例。
如何進(jìn)入JAZN命令環(huán)境
1.進(jìn)入到目錄$ORACLE_HOME/oc4j/j2ee/isqlplus/application-deployments/isqlplus/
2.確保JAVA_HOME環(huán)境變量指向了正確的jdk(需要1.4以上)路徑,可以使用oracle自帶的jdk,位于$ORACLE_HOME/jdk
3.執(zhí)行以下命令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
其中realm=iSQL*Plus DBA,user=admin,這些可以從xml配置文件中看到,admin的默認(rèn)密碼是welcome,但是admin用戶默認(rèn)沒有webDba權(quán)限,不能直接用于登陸isqlplus.
注意該命令一定要先進(jìn)入第一步的目錄后再執(zhí)行,否則會報錯oracle.security.jazn.JAZNRuntimeException: Configuration file "configjazn.xml" does not exist. Check your JAAS configuration settings.或者Realm [iSQL*Plus DBA] does not exist in system.
如果報以上的錯誤,請仔細(xì)檢查你的當(dāng)前目錄是否和第一步中給出的目錄完全一致
進(jìn)入JAZN命令環(huán)境后,可以執(zhí)行所有的任務(wù):
1.新建用戶ning,密碼pass JAZN:
- > adduser "iSQL*Plus DBA" ning pass
2.列出用戶JAZN:
- > listusers iSQL*Plus DBA/admin iSQL*Plus DBA/ning
JAZN:
- > listusers "iSQL*Plus DBA" admin ning
3.授予用戶登陸isqlplus DBA的權(quán)限JAZN:
- > grantrole webDba "iSQL*Plus DBA" ning
4.撤銷用戶登陸isqlplus DBA的權(quán)限JAZN:
- > revokerole webDba "iSQL*Plus DBA" ning
5.刪除用戶JAZN:
- > remuser "iSQL*Plus DBA" ning
6.修改用戶密碼JAZN:
- > setpasswd "iSQL*Plus DBA" ning pass newpass
7.退出JAZN命令環(huán)境JAZN:> exit
假設(shè)上面我們創(chuàng)建了一個用戶ning,密碼為pass,并且已經(jīng)授予webDba權(quán)限。
接下來重新啟動isqlplus應(yīng)用服務(wù)器isqlplusctl stop isqlplusctl start
在彈出的對話框中輸入ning和pass,就可以進(jìn)入到數(shù)據(jù)庫登陸界面了,選擇以sysdba或sysoper身份登陸了,以上的相關(guān)內(nèi)容就是對Oracle10g:如何以DBA身份登陸SQL*Plus的介紹,望你能有所收獲。
【編輯推薦】