以sysdba登录 iSQLPLUS 的配置

来源:互联网 发布:c语言航班查询系统 编辑:程序博客网 时间:2024/05/22 00:21

一般用户登陆isqlplus的网址http://ip:port/isqlplus,(http://localhost:5560/isqlplus)进入该网址后会直接进入数据库用户登陆界面,使用数据库中的普通用户即可登陆。


DBA用户登陆isqlpus的网址http://ip:port/isqlplus/dba,进入该网址后首先会弹出一个登陆框,要求先输入iSQL*Plus DBA的用户和密码,注意这里不是数据库用户,而是isqlplus应用服务器要求的webdba用户和密码。


要以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命令环境  ---(具体可以参照oracle 文档:SQL*Plus? User's Guide and Reference)   (注意些文档较混乱,windows与linux混了)


1.进入目录

cd C:/Oracle/product/10.2.0/db_1/oc4j/j2ee/isqlplus/application-deployments/isqlplus>

2.设置JAVA_HOME=ORACLE_HOME/jdk,把%JAVA_HOME%/BIN添加到path环境变量

3.运行如下命令:(admin用户的默认密码是welcome,但是admin用户默认没有webDba权限,不能直接用于登陆iSQL*Plus)

java -Djava.security.properties=$ORACLE_HOME/oc4j/j2ee/home/config/jazn.security.props -jar $ORACLE_HOME/oc4j/j2ee/home/jazn.jar -user "admin" -password welcome -shell      (此linux下面的命令)


以上命令需要进入第一步的目录后再执行,否则会抱错


JAZN:> adduser "iSQL*Plus DBA" sys sys

JAZN:> listusers "iSQL*Plus DBA"

admin

sys

增加权限

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


取消权限

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


删除用户

JAZN:> remuser "iSQL*Plus DBA" sys


修改用户密码

JAZN:> setpasswd "iSQL*Plus DBA" sys old_passwd new_passwd


退出JAZN命令环境

JAZN:> exit


4.重新起动isqlplus

isqlplusctl stop

isqlplusctl start


5.用IE

http://hostIP:5560/isqlplus/dba

输入用户/密码:sys/sys

此时出现sysdba的登录界面