SQL> select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
PL/SQL Release 11.1.0.7.0 - Production
CORE    11.1.0.7.0      Production
TNS for Linux: Version 11.1.0.7.0 - Production
NLSRTL Version 11.1.0.7.0 - Production

SQL> select release_name from fnd_product_groups;

RELEASE_NAME
--------------------------------------------------
12.1.1

SQL>

1.更改sysadminpassword
1.1 假设有shellpassword,可通过CPASS工具进行更改:
FNDCPASS apps/appspwd 0 Y system/manager USER SYSADMIN newspassword

演示:
-bash-3.2$ FNDCPASS apps/apps 0 Y system/manager USER SYSADMIN welcome1
Log filename : L5818900.log


Report filename : O5818900.out

 


1.2 假设有appspassword,可通过fnd_user_pkg存储过程进行更改:
declare
   l_flag  boolean;
begin
  l_flag = fnd_user_pkg.change_password('sysadmin','newpassword');
end;

演示:
SQL> set serveroutput on
SQL> DECLARE
  2    l_flag   BOOLEAN;
  3  BEGIN
  4    l_flag := fnd_user_pkg.changepassword ('sysadmin', 'welcome2');
  5    DBMS_OUTPUT.put_line (   'l_flag = '
  6                          || CASE l_flag
  7                               WHEN TRUE
  8                                 THEN 'true'
  9                               ELSE 'false'
 10                             END
 11                         );
 12  END;
 13  /
l_flag = true

PL/SQL procedure successfully completed.

SQL> commit; --不要忘了提交,不然不生效

Commit complete.

SQL>


2.验证登录password是否正确
2.1 通过fnd_user_pkg.validatelogin进行验证:
演示:
SQL> DECLARE
  2    l_flag   BOOLEAN;
  3  BEGIN
  4    l_flag := fnd_user_pkg.validatelogin ('sysadmin', 'welcome2');
  5    DBMS_OUTPUT.put_line (   'l_flag = '
  6                          || CASE l_flag
  7                               WHEN TRUE
  8                                 THEN 'true'
  9                               ELSE 'false'
 10                             END
 11                         );
 12  END;
 13  /
l_flag = true

PL/SQL procedure successfully completed.

SQL>


2.2 通过fnd_web_sec.validate_login过程进行验证:
演示:
SQL> SELECT fnd_web_sec.validate_login ('sysadmin', 'welcome2') FROM DUAL;

FND_WEB_SEC.VALIDATE_LOGIN('SYSADMIN','WELCOME2')
--------------------------------------------------------------------------------
Y

SQL>

 

 

----------------------

 

虎子自己改好的。

 


 --set serveroutput on
 DECLARE
   l_flag   BOOLEAN;
 BEGIN
   l_flag := fnd_user_pkg.changepassword ('sysadmin', 'sysadmin');

 END;
 


 

 

set serveroutput on --这里是为输出准备的,单独运行这一行
 DECLARE
   l_flag   BOOLEAN;
 BEGIN
   l_flag := fnd_user_pkg.changepassword ('sysadmin', 'sysadmin');
  DBMS_OUTPUT.put_line (   'l_flag = '||CASE 
                               l_flag
                              WHEN TRUE
                                THEN 'true'
                              ELSE 'false'
                            END
                        );

 END;
 /