程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 在iSQL*PLUS中登陸DBA身份的用戶

在iSQL*PLUS中登陸DBA身份的用戶

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

DBA用戶登陸isqlpus的網址http://ip:port/isqlplus/dba,進入該網址後首先會彈出一個登陸框,要求先輸入iSQL*Plus DBA的用戶和密碼,注意這裡不是數據庫用戶,而是isqlplus應用服務器要求的用戶和密碼。

要以DBA身份登陸isqlplus,必須先配置好oc4j用戶。oc4j可以使用兩種身份認證方式:
基於xml配置文件(jazn-data.XML)
基於LDAP(Oracle Internet Directory)

本文只涉及第一種方式,也就是采用XML配置文件認證的方式。該配置文件位於$Oracle_HOME/oc4j/J2EE/isqlplus/application-deployments/isqlplus/config。

但是該配置文件中的密碼是加密過的,所以我們不能手動修改該文件,而是通過JAZN(Java AuthoriZatioN)來配置。JAZN是Oracle提供的一個JASS(Java Authentication and Authorization Service)工具,Java的東西我不太懂,所幸這裡只要照著文檔一步步操作就ok。

通過JAZN,可以完成以下任務
Create users
List users
Grant the webDba role
Remove users
Revoke the webDba role
Change user passWords

以上任務,可以先進入JAZN命令環境後再執行,也可以直接通過一條完整的命令行實現。完整的命令行其實就是在進入JAZN的命令後面直接加上對應的任務選項即可,本文只以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。


注意該命令一定要先進入第一步的目錄後再執行,否則會報錯
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.新建用戶gh ,密碼managergh
JAZN:> adduser "iSQL*Plus DBA" gh managergh

2.列出用戶
JAZN:> listusers
iSQL*Plus DBA/admin
iSQL*Plus DBA/gh

JAZN:> listusers "iSQL*Plus DBA"
admin
gh

3.授予用戶登陸isqlplus DBA的權限
JAZN:> grantrole webDba "iSQL*Plus DBA" gh

4.撤銷用戶登陸isqlplus DBA的權限
JAZN:> revokerole webDba "iSQL*Plus DBA" gh

5.刪除用戶
JAZN:> remuser "iSQL*Plus DBA" gh

6.修改用戶密碼
JAZN:> setpasswd "iSQL*Plus DBA" gh managergh ghgh

7.退出JAZN命令環境
JAZN:> exit


再進入網址http://ip:port/isqlplus/dba,在彈出的對話框中輸入gh和ghgh,就可以進入到數據庫登陸界面了,選擇以sysdba或sysoper身份登陸了。

實驗

當你輸入http://localhost:5560/isqlplus/dba的時候總會要求輸入用戶名密碼,當你輸入數據庫sys的用戶名和密碼的時候,仍然不能登陸,在這裡登陸的用戶密碼需要下面建立.



E:\Oracle\product\10.2.0\db_1\oc4j\J2EE\isqlplus\application-deployments>cd isqlplus

E:\Oracle\product\10.2.0\db_1\oc4j\J2EE\isqlplus\application-deployments\isqlplus>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
JAZN:> adduser "iSQL*Plus DBA" gh managergh                     #添加用戶gh密碼managergh
JAZN:> listusers                                                                                #列出當前用戶,發現才建的gh
iSQL*Plus DBA/admin
iSQL*Plus DBA/gh

JAZN:> grantrole webDba "iSQL*Plus DBA" gh                          #賦予gh登陸iSQL*Plus DBA的權限
JAZN:> exit
JAZN:>


E:\Oracle\product\10.2.0\db_1\oc4j\J2EE\isqlplus\application-deployments\isqlplus>isqlplusctl

stop
iSQL*Plus 10.2.0.1.0
Copyright (c) 2003, 2005, Oracle.  All rights reserved.
Stopping iSQL*Plus ...
iSQL*Plus stopped.
#關閉服務
E:\Oracle\product\10.2.0\db_1\BIN>isqlplusctl start
iSQL*Plus 10.2.0.1.0
Copyright (c) 2003, 2005, Oracle.  All rights reserved.
Starting iSQL*Plus ...
iSQL*Plus started.
   #啟動服務

 這樣 我們就創建了一個在iSQL*Plus 中連接DBA身份的用戶



 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved