회사에서 사용하고 있는 erp는 최초구축버전(알파라고 칭함)이 있었고

이 알파가 맛이가서 현재의 버전(베타라고 칭함)으로 알파의 소스를 베이스로 제작되었다.

근데 이 알파에서 베타가 깔끔하게 넘어온 것이 아니고

여러가지 사정으로 불필요한 소스가 덕지덕지 붙어서 (쿼리와 db설계, 그리고 필요없는 테이블과 데이터-중복값도 꽤 되는 것으로 보인다)

만들어졌다.


그래, 이정도는 이해할 수 있다.

가장 중요한건 이 시스템에 대해 나에게 알려줄 사수도 없고 (있긴 있는데 난 전래동화처럼 이름만 들었고 본적은 없다.)

그리고 그 전래동화 속 인물도 이 시스템에서 만지는 건 디비도 아니고 그냥 웹클라이언트쪽을 손본다는 정도로 들었다.




회사 오라클서버는 궁극적으로 관리자는 없는 셈이다.

문제는 이 서버가 심심하면 뻗는다는 건데. 이때마다 재부팅으로 트러블슈팅을 하고 있다.

그래서 난 요청을받으면(웹페이지에서 정보조회가 안된다는 요청) 

원격접속을 하여 서버 컴퓨터 두대를 재부팅해준다.

한대는 was 서버인데 이 컴퓨터는 재부팅을 한다음 was 서버를 시동하는 ToinB라는 프로그램을 구동해줘야한다.

(자동으로 되야하지만 오라클 서버가 죽어있거나 기타의 이유로 구동해줘야 할때가 대부분임)


아무튼, 이 병신같은 시스템을 탈피하기 위해 서버의 재 구축을 생각중이고 

12월 부터는 본격적으로 작업을 할 예정이다.


그럼 잠시 서버가 얼마나 병신처럼 되어있는지 알아보자


로그인하는데 필요한 정보는 id, pw 두개다.

상식적으로 생각해도 이 두가지를 key로 사용하여 db를 쿼리하여 성공, 실패를 뿌려주는 것이 맞는 일이다.

이 소스는 cpp로 작성된 쿼리 부분이다.


VW_CA_MEMBER 테이블에서 id와 pw가 일치하는 것을 찾아서 정보를 가져오는 것이다.

row가 존재하면 로그인성공 없으면 실패..



뭐 여기까지는 좋다.

근데 여기서 문제가 있다.


VW_CA_MEMBER 은 뷰이다.

그럼 이 뷰를 까볼까?





UNION...

그래 회원 정보가 두개로 나눠져 있는건 이해하겠다.

그래서 유니온으로 합치는 거겠지..


근데 시발 VW_CA_BS 이것도 접두사에 vw가 붙은 뷰이다.

VW_CA_BS를 까보자



VW_CA_BS_CAREER2................................또 뷰를 써먹었다

갈때까지 가보자


VW_CA_SYS_HIS2 이것도 뷰이다. 이젠 놀랍지도 않다.




아따 이것은 뭐시여 CA_SYS_HIS 를 그냥  가져다 쓰면 되는데 왜 뷰를 가져다 썼는지 모르겠다.



로그인하는데 사용한 뷰가 무려 4개에 달한다.

나는 db전문가가 아니라서 이렇게 뷰를 많이 만들어 놓을때 잇점이 무엇인지 잘 모르겠다.

로그인만 봐도 이정도 인데 다른건 뭐 안봐도 비디오다.


새로 구축할때까지 오라클서버나, was가 뒈지지만 않았으면 좋겠다.


Posted by 커널제로

본 블로그는 페이스북 댓글을 지원합니다.

,