使用PASSWORD_VERIFY_FUNCTION的Alter Profile返回无效的函数名称

时间:2019-07-09 06:45:18

标签: sql oracle plsql

我具有如下功能,可以为我验证密码

CREATE OR REPLACE FUNCTION my_verification_function (
  username      VARCHAR2,
  password      VARCHAR2,
  old_password  VARCHAR2)
  RETURN BOOLEAN AS
BEGIN
  IF LENGTH(password) < 8 THEN
    RETURN FALSE;
  ELSE
    RETURN TRUE;
  END IF;
END my_verification_function;
/

该函数创建正确,我在SQL Developer中也看到了它,我也调试了带有值的函数,它可以正常工作,但是当我尝试将其更改为RESOURCE_NAMEPASSWORD_VERIFY_FUNCTION的配置文件时, RESOURCE_TYPEPASSWORD,LIMIT是NULL,COMMON是NO,因此我使用了这个alter ALTER PROFILE MY_PROFILE LIMIT PASSWORD_VERIFY_FUNCTION MY_VERIFICATION_FUNCTION;,它返回了我

SQL Error: ORA-07443: function MY_VERIFICATION_FUNCTION not found
07443. 00000 -  "function %s not found"
*Cause:    An invalid function name was specified.
*Action:   Use a valid function name.

1 个答案:

答案 0 :(得分:0)

通过密码验证策略

  

密码验证例程必须由SYS拥有

请参阅this link