Published 2025. 1. 30. 00:09
반응형

테스트를 위하여

2억개 데이터를 인서트 중이다

 

csv파일을 dbeaver 를 이용하여 넣었었는데 상당히 오래걸리고 하루가 지나도 다 인서트가 안되며 결국 에러가 났었다

(그때 당시 에러는 캐시파일 용량이 어쩌고.. 근데 캐시 용량을 늘리더라도 또 에러가 날지 안날지 모르고요~ 에러나면 하나도 커밋 안되고 다 롤백되는게 문제였다.)

 

 

dbeaver로 넣었을 때 또 다른 문제점이 있다

회사 내부망 서버라서 VDI로 접속해야 접근이 가능한데

VDI가 끊기면 ... 인서트중인것도 날라간다는 것

 

그래서 서버에서 계속 실행되길 원했다

파이썬 코드 짜구

nohup 명령어 & 로 실행해놓음

nohup python path/insert_batch.py > dev/null &

 

 

 

db서버는 내 서버가 아닌데 

내가 하는 작업이 위험한 작업이라고 느껴졌고

혹시 서버가 고장날지도 모른단 생각에...

내 서버에 오라클 설치부터 하였다.

 

내 리눅스 서버에 오라클 설치해서 거기에 인서트해두고 삭제 배치 돌려서 테스트할라고...

 

 

 

작업하다가 문제가 아주 많이 생겼다

다행히 다 해결되었고 아직 인서트중이다 (방금 돌림,, 3시간 소요예상중)

 

 

 

 

오라클 설치도 3일정도 걸리구

인서트를 위한 파이썬 코드는 2일정도

 

 

 

아래 링크는 오라클 설치에 관하여 정리한 글임

https://harang011226.tistory.com/entry/Rocky-Linux-810%EC%97%90-%EC%98%A4%EB%9D%BC%ED%81%B4-19c-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0-Silent-%EB%AA%A8%EB%93%9C

 

Rocky Linux 8.10에 오라클 19c 설치하기 (Silent 모드)

리눅스에 오라클을 설치했다잘 몰라서 찾아보면서 맨땅에 헤딩함 다음번에 또 설치해야 할 수 있으니 정리!!    oracle 계정과 그룹 생성# 그룹 생성sudo groupadd oinstall  # 사용자 생성oracle

harang011226.tistory.com

 

 

 

 

인서트 코드짜는건 비교적 쉽게 금방 끝낼 수 있었다.

그런데 내가 처음에 대충 짠 코드를 돌려놓고 모니터링 제대로 안했다가

서버가 아예 죽었다..ㅋㅋ

메모리를 많이 써서 스왑메모리까지 쓸 정도였는데 그걸 보고도 안일하게 생각했었는데,, 

그때 프로세스를 죽였어야 했다

 

자원을 너무 많이 쓰고 메모리가 계속 올라서 그런 것 같다

자원반환이 제대로 안된듯 했다

 

 

어제 저녁에 서버가 죽어서 작업을 못했고..

오늘 설날인데 본사 가서 물리서버 재부팅하고 왔다

아무도 없어서 눈치보임(?) 나쁜짓 하러 온것도 아닌데

 

 

 

인서트는

multiprocessing.Pool 로 4개 프로세스로 돌렸었다

그런데 생각해보니 같은 테이블에 인서트라 어차피 락 걸려서 안될듯싶어서 아예  multiprocessing 모듈을 안쓰구 한개만 돌게끔 수정

 

 

파일 한개에 1억 9천만개 데이터가 다 있었는데,

그거를 파일 20개로 나눴다.

물론 그 파일 20개로 나누는 작업도 코드 짜서 돌림^^

 

 

정규표현식 이용해서 분할한 파일 20개의 경로들을 리스트로 가져와서 한개씩 for문 돌며

파일 하나씩 읽고 인서트하는거로 바꿨다

 

 

설날 내내 거의 이것만 붙잡고 있었는데 해결되어서 천만다행이다 ㅋㅋ

이제 삭제 배치를 테스트해봐야겠지만...^__^

주말에도 화이탱..

 

 

금욜에 메일로 보낼 작업계획서랑 

금욜에 거래처 가서 볼 것들도 확인해봐야하네......

거래처 개발서버에서 테스트중인데 잘 안되서 설 전에 로그 다 찍어뒀는데

으아 확인하기 싫다ㅋㅋ 

 

설날에 어디 안갔는데 전혀 심심하지 않았다

오히려 시간이 부족했다

조금만 더 줘라ㅠ 

반응형

'기타' 카테고리의 다른 글

유니티6 게임 개발 후 WebGL 배포하기 - 니꼬쌤 강의 😎 (김치런 게임 만들기)  (0) 2025.01.30
해외 진짜 가고만다  (0) 2024.12.26
또 다시 첫출근!  (0) 2024.05.13
😭  (0) 2024.05.07
담주에 첫출근🙌  (0) 2024.05.02
복사했습니다!