오늘 있었던 일... 흔한 사례는 아니다. 서버 유지보수 담당자가 어제부터 특정 응용시스템 DB 1번서버가 CPU 풀찼다고 알려왔다. 우짜고... 우왕좌왕.... 검색을 해봤다. 일단 할 수 있는 건 pid를 이용해서 해당 프로세스가 어떤 쿼리를 돌리고 있는지 찾는 것. 아래와 같은 쿼리를 찾았다. SELECT c.sql_fulltext, a.username FROM v$session a, v$process b, v$sql c WHERE a.paddr = b.addr AND a.sql_address = c.address AND b.spid = #PID# ; 실행했는데... 쿼리가 실행시간이 길다..... 안그래도 DB가 불안한데 안되겠다. 쿼리를 수정한다. SELECT c.sql_fulltext FROM v$sql c WHERE c.address in (SELECT sql_address FROM v$session a WHERE a.paddr in (SELECT addr FROM v$process b ...
1. gcc 설치 sudo apt install gcc 2. golang 최신버전 설치 (1.16버전 이상이어야 함. 2021. 11. 기준) https://golang.org/doc/install 이 부분이 생각보다 중요하다.... go 버전 땜에 시간 삽질 가능. sudo apt install golang 이렇게 하면 구버전 설치된다. 3. panacea-core 설치 https://medibloc.gitbook.io/panacea-core/guide/installation make install 이 성공적으로 끝나면 $GOPATH/bin 에 panacead 파일이 생긴다. $GOPATH 는 별다른 설정 없이 설치했을 경우 유저 홈디렉토리에 있다. 4. 노드 설정 및 실행 https://medibloc.gitbook.io/panacea-core/guide/join-the-network panacead 실행하면 killed 라고 뜨면서 실행이 안된다. (두번을 해봤는데 둘 다 처음엔 그랬다.... 왤까) 두세번 다시 해보면 된다. 당황하지 말자. 실행이 되고나면 신나게 동기화한다. (data 디렉토리에 블록데이터가 쌓이는 것을 볼 수 있다)