Oracle 以DBA的权限登陆isql*plus

2014-11-24 18:22:29 · 作者: · 浏览: 0

em:http://localhost:1158/em


isql*plus: http://localhost:5560/isqlplus 和http://localhost:5560/isqlplus/dba


两个isqlplus有两个网址,这是因为普通用户和dba用户登陆。


要以DBA身份登陆isqlplus,必须先配置好oc4j用户。oc4j可以使用两种身份认证方式:
基于xml配置文件(jazn-data.xml)
基于LDAP(Oracle Internet Directory)


第二种正在寻找测试,如果哪位测试出来了可以分享一下。


在此以第一种方式进行测试,也就是采用xml配置文件认证的方式。该配置文件位于


%ORACLE_HOME%/oc4j/j2ee/isqlplus/application-deployments/isqlplus/config(如果是linux或是unix的话是$ORACLE_HOME)


但是该配置文件中的密码是加密过的,所以我们不能手动修改该文件,而是通过JAZN(Java AuthoriZatioN)来配置。JAZN是oracle提供的一个JASS(Java Authentication and Authorization Service)工具,需要使用jdk,也可以使用oracle自带的jdk,在%ORACLE_HOME/jdk下面


需要配置java_home和path,这里就不在介绍了。


进入到dos下面如果跟oracle的安装路径不一样切换到相同的盘符,负责我们需要绝对路径。


前提条件了解后,我们开始操作:


进入到数据库的安装目录下面


%ORACLE_HOME%/oc4j/j2ee/isqlplus/application-deployments/isqlplus/


执行下面的命令:


D:\oracle\product\10.2.0\db_1\BIN>java -Djava.security.properties=D:\oracle\prod
uct\10.2.0\db_1\sqlplus\admin\iplus\provider -jar D:\oracle\product\10.2.0\db_1\
oc4j\j2ee\home\jazn.jar -user "iSQL*Plus DBA/admin" -password welcome -shell


进入后:


JAZN:>


添加一个用户:


JAZN:> adduser "iSQL*Plus DBA" user password


查看用户:


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


赋权限:


JAZN:> grantrole webDba "iSQL*Plus DBA" gyc


收回权限


JAZN:>revokerole webDba "iSQL*Plus DBA" gyc


重新启动isql*plus


isqlplusctl stop


isqlplusctl start


再次登录isqlplus以sysdba权限登录即可。


如果所在的路径不对的话会提示如下错误:


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.