1. Пароль пользователя apps не известен.
2. Есть доступ к dbTier пользователем с привилегиями SYSDBA или DBA.
Последовательность шагов:
1. Сменить пароль пользователя apps на любой другой.
2. Залогиниться пользователем apps и выполнить следующее:
CREATE OR REPLACE PACKAGE get_pwd AS
FUNCTION decrypt ( KEY IN VARCHAR2,VALUE IN VARCHAR2
)
RETURN VARCHAR2;
END get_pwd;
/
CREATE OR REPLACE PACKAGE BODY get_pwd AS
FUNCTION decrypt (KEY IN VARCHAR2,VALUE IN VARCHAR2
)
RETURN VARCHAR2
AS LANGUAGE JAVA
NAME 'oracle.apps.fnd.security.WebSessionManagerProc.decrypt
(java.lang.String,java.lang.String) return java.lang.String';
END get_pwd;
/
3. Далее выполнить(пользователем apps): SELECT (SELECT get_pwd.decrypt(FND_WEB_SEC.GET_GUEST_USERNAME_PWD,
usertable.encrypted_foundation_password)FROM DUAL) AS apps_password
FROM fnd_user usertable
WHERE usertable.user_name =
(SELECT substr(FND_WEB_SEC.GET_GUEST_USERNAME_PWD,
1,instr(FND_WEB_SEC.GET_GUEST_USERNAME_PWD,'/')-1) from dual)
4. Сменить пароль пользователя apps на результат выполнения запроса ш.3.