Oracle 以DBA的权限登陆isql*plus


Oracle 10g 数据库在安装完毕之后默认安装网页管理Oracle的访问路径,包括:

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.

相关内容