oracle10G下在isqlplus中启用sys账户的解决办法
一般用户登陆isqlplus的网址http://ip:5560/isqlplus,进入该网址后会直接进入数据库用户登陆界面,使用数据库中的普通用户即可登陆。
DBA用户登陆isqlpus的网址http://ip:5560/isqlplus/dba,进入该网址后首先会弹出一个登陆框,要求先输入iSQL*Plus DBA的用户和密码,注意这里不是数据库用户,而是isqlplus应用服务器要求的用户和密码。
要以DBA身份登陆isqlplus,必须先配置好oc4j用户。
采用xml配置文件认证的方式。该配置文件位于%ORACLE_HOME%/oc4j/j2ee/isqlplus/application-deployments/isqlplus/config
但是该配置文件中的密码是加密过的,所以我们不能手动修改该文件,而是通过JAZN(Java AuthoriZatioN)来配置。JAZN是oracle提供的一个JASS(Java Authentication and Authorization Service)工具.
通过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。
进入JAZN命令环境后,可以执行所有的任务:
1.新建用户ning,密码pass
JAZN:> adduser "iSQL*Plus DBA" isqluser pass
2.列出用户
JAZN:> listusers
iSQL*Plus DBA/admin
iSQL*Plus DBA/isqluser
3.授予用户登陆isqlplus DBA的权限
JAZN:> grantrole webDba "iSQL*Plus DBA" isqluser
4.退出JAZN命令环境
JAZN:> exit
假设上面我们创建了一个用户isqluser,密码为pass,并且已经授予webDba权限。
接下来重新启动isqlplus应用服务器
isqlplusctl stop
isqlplusctl start
再进入网址http://ip:5560/isqlplus/dba,在弹出的对话框中输入isqluser和pass,就可以进入到数据库登陆界面了,选择以sysdba或sysoper身份登陆了。
*******************************************************************
近期在RHEL3上面安装了oracle10G,因为没有sqlplusw工具颇觉不便,于是决定使用isqlplus.可是在isqlplus中使用sys帐户时遇到了不少的麻烦,现在把解决过程整理出来,方便大家查阅。
我现在假设大家已经可以打开http://localhost:5560/isqlplus 出现登录界面,但是无法使用sys或system帐户登录,只能使用普通帐户登录。要使用sys或system帐户登录请进行如下设置:
1.进入$ORACLE_HOME/oc4j/j2ee/isqlplus/application-deployments/isqlplus目录(这一步骤非常重要,不然可能会出现错误);
2.执行命令:ORACLE_HOME/jdk/bin/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
以上几行为一条命令,请把全部内容合并起来作为一行执行。其中ORACLE_HOME为你系统的oracle主目录,welcome为用户"iSQL*Plus DBA/admin"的初始密码,如果你是第一次执行的话就不用更改了。这条命令进入JAZN shell。
3.添加用户,设置角色即可。如下几条命令(其中 JAZN> 为你执行第二步后应该出现的提示符,如果没有出现的话就要再检查一下前两步是否正确执行):
JAZN> adduser "iSQL*Plus DBA" username password
JAZN> grantrole webDba "iSQL*Plus DBA" username(请注意webDba的大小写)
4.把打开的网页关掉,重新打开网页(如果不行就注销一下),输入:http://localhost:5560/isqlplus/dba,这时会弹出对话框,输入你第三步设置的用户名和密码即可。这时网页上就你出现选择框,可选择作为sysdba或者sysoper登录系统。
好了,到这里就全部结束了。大家要注意的一点就是上面第三步的用户名和密码不要和数据库里面的用户混淆,这个只是为了在web页面上作为dba登录系统的一个安全设置而已。
*******************************************************************
一般用户登陆isqlplus的网址http://ip:5560/isqlplus,进入该网址后会直接进入数据库用户登陆界面,使用数据库中的普通用户即可登陆。
DBA用户登陆isqlpus的网址http://ip:5560/isqlplus/dba,进入该网址后首先会弹出一个登陆框,要求先输入iSQL*Plus DBA的用户和密码,注意这里不是数据库用户,而是isqlplus应用服务器要求的用户和密码。
要以DBA身份登陆isqlplus,必须先配置好oc4j用户。
采用xml配置文件认证的方式。该配置文件位于$ORACLE_HOME/oc4j/j2ee/isqlplus/application-deployments/isqlplus/config
但是该配置文件中的密码是加密过的,所以我们不能手动修改该文件,而是通过JAZN(Java AuthoriZatioN)来配置。JAZN是oracle提供的一个JASS(Java Authentication and Authorization Service)工具.
通过JAZN,可以完成以下任务
Create users
List users
Grant the webDba role
Remove users
Revoke the webDba role
Change user passwords
如何进入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.新建用户ning,密码pass
JAZN:> adduser "iSQL*Plus DBA" ning pass
2.列出用户
JAZN:> listusers
iSQL*Plus DBA/admin
iSQL*Plus DBA/ning
JAZN:> listusers "iSQL*Plus DBA"
admin
ning
3.授予用户登陆isqlplus DBA的权限
JAZN:> grantrole webDba "iSQL*Plus DBA" ning
4.撤销用户登陆isqlplus DBA的权限
JAZN:> revokerole webDba "iSQL*Plus DBA" ning
5.删除用户
JAZN:> remuser "iSQL*Plus DBA" ning
6.修改用户密码
JAZN:> setpasswd "iSQL*Plus DBA" ning pass newpass
7.退出JAZN命令环境
JAZN:> exit
假设上面我们创建了一个用户ning,密码为pass,并且已经授予webDba权限。
接下来重新启动isqlplus应用服务器
isqlplusctl stop
isqlplusctl start
再进入网址http://ip:5560/isqlplus/dba,在弹出的对话框中输入ning和pass,就可以进入到数据库登陆界面了,选择以sysdba或sysoper身份登陆了。
*******************************************************************