데이터 사이언스 DataScience/Data Base 데이터베이스
[Oracle] 기존 패스워드로 ALTER
섭코딩
2023. 11. 29. 23:19
회사의 정보보호 정책이나, 공공기관으로터 보안감사를 받는 경우 등의 이유로 계정에 Profile 을 적용하는 일은 흔히 있다.
예시 : https://subbak2.tistory.com/123
Profile parameter 중 PASSWORD_GRACE_TIME 을 사용하게 되면 일정 기간이 지난 후, 계정의 패스워드가 만료된다.
적절한 변경을 하게되면 문제 없지만
WAS와 연결해 사용하는 계정은 password 변경에 맞춰 프로그램을 재배포해야하는 문제가 생길 수 있으므로
영향도 최소화를 위해 기존 패스워드로 변경해야할수도 있다.
그때는 아래와 같은 SYS 테이블을 통해 기존 패스워드로 ALTER를 해 EXPIRED 를 예방할 수 있다.
이미 EXPIRED 된 경우에도 가능하고 계정을 아래처럼 EXPIRED(GRACE)인 상태에서 임시 해결할 수 있는 방법 중 하나이다.
SELECT 'alter user '||su.name||' identified by values "'||spare4||';'||su.password||'";' as script
FROM SYS.USER$ SU, DBA_USERS DU
WHERE 1=1
AND ACCOUNT_STATUS = 'EXPIRED(GRACE)'
AND SU.NAME = DU.USERNAME
;
반응형