ORA-28001 에러 해결 방법
DBeaver로 회사의 개발 서버 DB에 접속하려고 하니 비밀번호가 만료되었다는 에러가 발생했다.
DBeaver에서 새로운 패스워드를 입력해봤지만 해결되지 않았고 그래서 직접 접속해서 비밀번호를 변경하기로 했다.
회사 개발 서버는 CentOS 7이고 오라클 DB는 docker를 이용해서 11g 버전을 실행 중이었다.
개발 서버에 접속할 때는 pem 키파일을 이용했고 터미널을 이용해 root로 접속했다.
아래는 개발 DB 서버에 ssh 로 접속한 후 진행한 과정이다.
현재 실행중인 11g 의 container_id 를 확인한다.
1
docker ps
컨터이너에 접속한다. (접속하니 root로 접속이 되었다.)
1
docker exec -it [container_id] bash
유저를 oracle 로 변경해준다.
1
su oracle
오라클 홈 디렉터리로 이동한다. (sqlplus 가 환경 변수 설정이 안되어 있어서 command not found 가 발생하면)
1
cd $ORACLE_HOME
sqlplus 에 sys 유저로 접속한다. (유저가 oracle 이 아니면 sys 유저 접속이 안되니 꼭 유저를 oracle 로 변경해야 한다.)
1
bin/sqlplus / as sysdba
비밀번호가 만료된 유저로 접속을 시도한다.
1
SQL> conn ['비밀번호가 만료된 username'];
비밀번호가 만료된 유저로 접속을 시도하면 비밀번호가 만료되었으니 새로운 패스워드를 입력하라는 설명이 나온다.
이 때, 기존의 비밀번호를 다시 사용하거나 새로운 비밀번호를 입력하면 된다.
This post is licensed under CC BY 4.0 by the author.