DB

Oracle DB 계정 암호(암호화값) 확인

Lawmin 2024. 7. 24. 10:04

sys 계정 또는, DBA 계정에 sys.user$ SELECT 권한 부여 후 조회 가능합니다.

 

다른 DB에 기존 비밀번호를 그대로 사용하고자 할 때, 

PASSWORD_VERSIONS 값이 동일한지 확인/변경 후, PWD_SQL문 결과를 다른 DB에서 실행하면 됩니다.

 

[PASSWORD_VERSIONS 관련 설정 확인]

* 아래는 ojdbc5.jar 이상 사용 가능, PASSWORD_VERSIONS=10G 로 맞추는 설정입니다. (ojdbc14.jar 등은 8~9 등)

vi $ORACLE_HOME/network/sqlnet.ora
SQLNET.ALLOWED_LOGON_VERSION_SERVER=10
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=10

이후, 리스너 재기동

 

[비밀번호 확인 SQL문]

SELECT i.host_name,
       i.version,
       i.instance_name,
       du.username,
       du.account_status,
       su.password,
       du.password_versions,
       NULL text_pwd,
       du.profile,
       'ALTER USER ' || du.username || ' IDENTIFIED BY VALUES ''' || su.PASSWORD || ''';' pwd_sql,
       TO_CHAR(du.created, 'YYYY-MM-DD') created,
       TO_CHAR(sysdate, 'YYYY-MM-DD') today,
       du.user_id
FROM  DBA_USERS du, sys.user$ su, v$instance i
WHERE du.username = su.name
AND   su.password IS NOT NULL
ORDER BY name;