Infra/Aws

[ERROR][AWS] Database may be already in use: null. Possible solutions: close all other connection(s); use the server mode [90020-200] 해결

kth990303 2022. 6. 3. 16:20
반응형

aws 인스턴스에서 웹 애플리케이션을 구동시키던 도중 아래 에러가 발생했다.

 

org.h2.jdbc.JdbcSQLNonTransientConnectionException: 

Database may be already in use: null. Possible solutions: close all other connection(s); 

use the server mode [90020-200]

 

원인 및 해결 방법

원인은 이미 실행중인 포트에서 띄우려 해서 그런 것이었다. 해당 포트를 안전하게 죽여주고 다시 실행해주자.

 

1. 아래 명령어 입력

ps -ef | grep {프로세스명}

내가 실행하려는 애플리케이션이 이미 2664 pid에서 실행되고 있었다. 이 프로세스를 종료시켜주자.

kill -15 {실행 프로세스 pid}	// 종료

kill -9 {실행 프로세스 pid}	// 강제 종료

 

2. 다시 실행하면 잘 된다.

Started Application in x.xxx seconds 뜨면 잘 된 거

 

+) 크루 '정'이 알려준 또 다른 프로세스 종료 방법!

sudo kill -9 $(sudo lsof -t -i:{실행 프로세스 port 번호})
  • lsof: list open files: 시스템에서 열려 있는 파일에 대한 정보 출력 명령어
  • -i:{port} : 특정 포트에서 사용중인 프로세스 확인 명령어
  • -t: pid 값을 추출하는 명령어

lsof -i:8080으로 했을 땐 프로세스 정보 전체, lsof -t -i:8080으로 했을 땐 pid 정보만 출력되는 것을 확인할 수 있다.


aws 인스턴스에 접근해서 낯선 명령어로 웹 애플리케이션을 구동시키려 하니 세팅 이슈가 많이 발생하는 듯하다.

나중에 고통받지 않도록 최대한 기록을 많이 해야겠다.

반응형