본문 바로가기

데이터 사이언스 DataScience/Data Base 데이터베이스

[Oracle] 기존 패스워드로 ALTER

회사의 정보보호 정책이나, 공공기관으로터 보안감사를 받는 경우 등의 이유로 계정에 Profile 을 적용하는 일은 흔히 있다.

 

예시 : https://subbak2.tistory.com/123

 

[Oracle] Profile을 통한 계정관리

1. 필요성 개인정보를 관리하는 DB의 경우 계정 정책을 통한 데이터 관리가 필요한 경우가 있다. 회사의 개인정보취급 방침에 의한것일 수도 있고 방송통신위원회의 개인정보 취급 가이드라인에

subbak2.com

 

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
;
반응형