为什么可插入数据库用户成为管理员?
Why pluggable db user became administrator?
我在脚本中有以下命令:
ALTER SESSION SET CONTAINER = orclpdb
ALTER session set "_ORACLE_SCRIPT"=true;
CREATE PROFILE test_profile LIMIT password_life_time unlimited;
CREATE USER test IDENTIFIED BY test123
PROFILE test_profile
删除用户时使用:
ALTER SESSION SET CONTAINER = orclpdb;
DROP USER test cascade;
我得到:
ora-28014 cannot drop administrative users
我首先关心的是这个 test
用户是如何获得管理权限的。
其次,有没有更好的方法来做到这一点。
用户成为 ADMIN 的原因是您使用了下划线参数 _oracle_script=true
ORA-28014:无法删除管理用户(文档 ID 1566042.1)
正如 Oracle 在该文档中所述:
Users are considered administrative users when are created using the
script catcon.pl, or in that session the parameter "_oracle_script"
is set to TRUE.
您不应在创建用户或其他任何与此有关的事情时使用它,除非您需要删除管理用户,在这种情况下您必须这样做。
为避免这种情况,在创建用户时完全避免使用 _oracle_script
参数。
我在脚本中有以下命令:
ALTER SESSION SET CONTAINER = orclpdb
ALTER session set "_ORACLE_SCRIPT"=true;
CREATE PROFILE test_profile LIMIT password_life_time unlimited;
CREATE USER test IDENTIFIED BY test123
PROFILE test_profile
删除用户时使用:
ALTER SESSION SET CONTAINER = orclpdb;
DROP USER test cascade;
我得到:
ora-28014 cannot drop administrative users
我首先关心的是这个 test
用户是如何获得管理权限的。
其次,有没有更好的方法来做到这一点。
用户成为 ADMIN 的原因是您使用了下划线参数 _oracle_script=true
ORA-28014:无法删除管理用户(文档 ID 1566042.1)
正如 Oracle 在该文档中所述:
Users are considered administrative users when are created using the script catcon.pl, or in that session the parameter "_oracle_script" is set to TRUE.
您不应在创建用户或其他任何与此有关的事情时使用它,除非您需要删除管理用户,在这种情况下您必须这样做。
为避免这种情况,在创建用户时完全避免使用 _oracle_script
参数。