今天中午忽然接到通知,让我处理一个问题,故障情况下:
PL/SQL Developer登录数据库时,提示:
You are not allowed to user PL/SQL Developer on this database.
You do not have the System.Logon privilege in the PL/SQL Developer authorization table.
登录失败
这种情况发生在一台ip为21.175的客户端,而这个客户端用pl/sql登录别的数据库却没有任何问题,分析问题,上网查资料,总结出了自己一套的方法。
原因:
执行了File菜单下的authorization...,
pl/sql developer会在你数据库建立了sys.plsqldev_authorization 表,而又没有赋予用户的相关权限,即没有将用户放到这张表中。
解决方法:
以数据库dba身份登录到数据库,删除sys.plsqldev_authorization就可以了,或者把该用户添加到sys.plsqldev_authorization 表中。
表sys.plsqldev_authorization的用处:是可以限制那些用户可以使用pl/sql登录,那些用户不可以
有的时候如果确定需要禁止PLSQLDEV的访问的时候,可以
SQL> CREATE TABLE sys.PLSQLDEV_AUTHORIZATION
2 ( GRANTEE CHAR(8) NOT NULL,
3 NAME CHAR(8) NOT NULL);
Table created
不往里面加任何用户,这样可以限制所有的用户用pl/sql development登录数据库。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/11400965/viewspace-406683/ ,如需转载,请注明出处,否则将追究法律责任。