在iSQL*PLUS中登陆DBA身份的用户

 一般用户登陆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身份的用户

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值