funchile 发表于 2015-9-23 13:51:34

Oracle EBS R12

  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_flagboolean;

begin

l_flag = fnd_user_pkg.change_password('sysadmin','newpassword');

end;
  演示:

SQL> set serveroutput on

SQL> DECLARE

2    l_flag   BOOLEAN;

3BEGIN

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                         );

12END;

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;

3BEGIN

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                         );

12END;

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;
/
  


  
页: [1]
查看完整版本: Oracle EBS R12