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.更改sysadmin密碼
1.1 如果有shell密碼,可通過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 如果有apps密碼,可通過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.驗證登錄密碼是否正確
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; /