oracle10G下在isqlplus中啓用sys賬戶的解決辦法(轉摘)

oracle10G下在isqlplus中啓用sys賬戶的解決辦法

 

一般用戶登陸isqlplus的網址http://ip:5560/isqlplus,進入該網址後會直接進入數據庫用戶登陸界面,使用數據庫中的普通用戶即可登陸。

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命令環境

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

其中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權限。

接下來重新啓動isqlplus應用服務器
isqlplusctl stop
isqlplusctl start
再進入網址http://ip:5560/isqlplus/dba,在彈出的對話框中輸入isqluser和pass,就可以進入到數據庫登陸界面了,選擇以sysdba或sysoper身份登陸了。


*******************************************************************
近期在RHEL3上面安裝了oracle10G,因爲沒有sqlplusw工具頗覺不便,於是決定使用isqlplus.可是在isqlplus中使用sys帳戶時遇到了不少的麻煩,現在把解決過程整理出來,方便大家查閱。

我現在假設大家已經可以打開http://localhost:5560/isqlplus 出現登錄界面,但是無法使用sys或system帳戶登錄,只能使用普通帳戶登錄。要使用sys或system帳戶登錄請進行如下設置:
 1.進入$ORACLE_HOME/oc4j/j2ee/isqlplus/application-deployments/isqlplus目錄(這一步驟非常重要,不然可能會出現錯誤);
 2.執行命令:ORACLE_HOME/jdk/bin/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爲你係統的oracle主目錄,welcome爲用戶"iSQL*Plus DBA/admin"的初始密碼,如果你是第一次執行的話就不用更改了。這條命令進入JAZN shell。
 3.添加用戶,設置角色即可。如下幾條命令(其中 JAZN> 爲你執行第二步後應該出現的提示符,如果沒有出現的話就要再檢查一下前兩步是否正確執行):
JAZN> adduser "iSQL*Plus DBA" username password
JAZN> grantrole webDba "iSQL*Plus DBA" username(請注意webDba的大小寫)
4.把打開的網頁關掉,重新打開網頁(如果不行就註銷一下),輸入:http://localhost:5560/isqlplus/dba,這時會彈出對話框,輸入你第三步設置的用戶名和密碼即可。這時網頁上就你出現選擇框,可選擇作爲sysdba或者sysoper登錄系統。
好了,到這裏就全部結束了。大家要注意的一點就是上面第三步的用戶名和密碼不要和數據庫裏面的用戶混淆,這個只是爲了在web頁面上作爲dba登錄系統的一個安全設置而已。
*******************************************************************
一般用戶登陸isqlplus的網址http://ip:5560/isqlplus,進入該網址後會直接進入數據庫用戶登陸界面,使用數據庫中的普通用戶即可登陸。
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,可以完成以下任務

 Create users
 List users
 Grant the webDba role
 Remove users
 Revoke the webDba role
 Change user passwords

如何進入JAZN命令環境

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

其中realm=iSQL*Plus DBA,user=admin,這些可以從xml配置文件中看到,admin的默認密碼是welcome,但是admin用戶默認沒有webDba權限,不能直接用於登陸isqlplus。

注意該命令一定要先進入第一步的目錄後再執行,否則會報錯
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.

如果報以上的錯誤,請仔細檢查你的當前目錄是否和第一步中給出的目錄完全一致。

 

進入JAZN命令環境後,可以執行所有的任務:

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的權限
JAZN:> grantrole webDba "iSQL*Plus DBA" ning

4.撤銷用戶登陸isqlplus DBA的權限
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命令環境
JAZN:> exit

假設上面我們創建了一個用戶ning,密碼爲pass,並且已經授予webDba權限。

接下來重新啓動isqlplus應用服務器
isqlplusctl stop
isqlplusctl start
再進入網址http://ip:5560/isqlplus/dba,在彈出的對話框中輸入ning和pass,就可以進入到數據庫登陸界面了,選擇以sysdba或sysoper身份登陸了。

*******************************************************************

 
發佈了20 篇原創文章 · 獲贊 0 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章