星期四, 12月 01, 2011

Oracle 10g isqlplus webDba 權限設定


作者: Ora-600(http://ora-600.itpub.net)
發表於: 2008.06.14 23:30
分類: Oracle
出處: http://ora-600.itpub.net/post/203/464380
---------------------------------------------------------------
從oracle9i開始,oracle提供了web方式的sqlplus介面,通過isqlplus,用戶可以不需要安裝任何oracle用戶端,就能夠通過流覽器方式的sqlplus進行資料操作與資料庫管理。普通的資料庫用戶可以直接通過isqlplus的網址http://ip:port/isqlplus 登入,進入該網址後會直接進入資料庫用戶登入介面,使用資料庫中的普通用戶即可登入;但如果是DBA用戶登入isqlpus,則需要首先配置isqlplus dba的用戶和口令,然後輸入網址http://ip:port/isqlplus/dba ,進入該網址後首先會彈出一個登入框,要求先輸入iSQL*Plus DBA的用戶和密碼,注意這裏不是資料庫用戶,而是isqlplus應用伺服器要求的用戶和密碼,也就是前面配置的isqlplus dba的用戶名和口令,然後才能出現isqlplus登入介面,此時可以輸入sys或者system用戶,登入資料庫進行管理。
要以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)工具。
通過JAZN,可以完成以下任務:Create user / List user / Grant the webDba role / Remove users / Revoke the webDba role / Change user passwords
上述任務既可以先進入JAZN命令環境後再執行,也可以直接直接在命令行中實現。
下面是Oracle 10g上配置isqlplus dba的方法,注意unix和windows上稍有不同。
unix:
$ isqlplusctl stop
$ JAVA_HOME=$ORACLE_HOME/jdk
$ export JAVA_HOME
$ cd $ORACLE_HOME/oc4j/j2ee/isqlplus/application-deployments/isqlplus
$ $JAVA_HOME/bin/java Djava.security.properties=$ORACLE_HOME/oc4j/j2ee/home/config/jazn.security.props -jar $ORACLE_HOME/oc4j/j2ee/home/jazn.jar -user "iSQL*Plus DBA/admin" -
password welcome –shell
JAZN:> adduser "iSQL*Plus DBA" oracle oracle
JAZN:> grantrole webDba "iSQL*Plus DBA" oracle
JAZN:> exit
$ isqlplusctl start
windows:
set ORACLE_HOME=...
set JAVA_HOME=%ORACLE_HOME%/jdk
cd %ORACLE_HOME%/oc4j/j2ee/isqlplus/application-deployments/isqlplus
%JAVA_HOME%/bin/java Djava.security.properties=%ORACLE_HOME%/oc4j/j2ee/home/config/jazn.security.props -jar %ORACLE_HOME%/oc4j/j2ee/home/jazn.jar -user "iSQL*Plus DBA/admin" -
password welcome –shell

注意:
1、admin雖然是預設的管理員,但初始並沒有真正被授權
2、必須在$ORACLE_HOME/oc4j/j2ee/isqlplus/application-deployments/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.
3、在windows中注意目錄的書寫,不能使用'',而要像unix一樣使用'/'
4、iSQL*Plus DBA的默認管理員admin的預設密碼是 'welcome',為了安全起見,最好修改密碼
-
How to Change the iSQL*Plus Port
1)Stop the iSQL*Plus.

bash-3.00$ isqlplusctl stop
iSQL*Plus 10.2.0.1.0
Copyright (c) 2003, 2005, Oracle. All rights reserved.
iSQL*Plus instance on port 5560 is not running ...

2)Take a backup of the files,

$ORACLE_HOME/host_sid/sysman/config/emoms.properties
$ORACLE_HOME/oc4j/j2ee/isqlplus/config/http-web-site.xml

3)Modify the following parameters in the file $ORACLE_HOME/host_sid/sysman/config/emoms.properties

In my computer hostname is neptune and database is data1, so I edited,/oracle/app/oracle/product/10.2.0/db_1/neptune_data1/sysman/config/emoms.properties

oracle.sysman.db.isqlplusUrl=http\://host.domain\:5561/isqlplus/dynamic
oracle.sysman.db.isqlplusWebDBAUrl=http\://host.domain\:5561/isqlplus/

And,
/oracle/app/oracle/product/10.2.0/db_1/oc4j/j2ee/isqlplus/config/http-web-site.xml

4)Start the iSql*Plus server.

bash-3.00$ isqlplusctl start
And enter new post number to your browser like,
http://neptune:5561/isqlplus/

--
revokerole webDba "iSQL*Plus DBA" oracle
remuser "iSQL*Plus DBA" oracle
etpasswd "iSQL*Plus DBA" oracle passold passnew

沒有留言:

LinkWithin-相關文件

Related Posts Plugin for WordPress, Blogger...