라벨이 오라클인 게시물 표시

오라클(oracle) 존재하는 data row select시 조회가 안되는 이슈

experience 간단한 카운트 조회하는 sql을 이용하여 조회를 하였는데, 계속 0을 return..   * SQL Devloper에서 같은 쿼리로 실행했을때는 문제없이 조회가 되는데, prepared statement를 이용해서 수행하면 값이 계속 0을 리턴... @.@     ** 이것저것 테스트해보니, data type이 varchar형이 아닌 char형인 경우, 뒤에 공백이 따라붙는 현상이 있어, 조회가 안된 것으로 확인..   ** where절의 조회컬럼에 trim을 하여 조회하도록 하면 정상적으로 조회가능..

오라클(ORACLE) 계정간의 데이터베이스 이관(복사, 이동) Tip

 experience 개발중인 서비스의 대규모 개편으로 DB 스키마등이 많이 바뀔 예정인 상태. 오라클 DB 성능이 좋은건지, 뭐가 좋은 건지 파티션(?), 샤딩(?) 없이 한대로 서비스 중(부하가 그리 크지는 않은 상태)이라서 오픈 시점에(서비스 영향이 없는 한에서..)  한꺼번에 마이그레이션 등등 작업을 계획함.. 이에 대한 검증 등의 목적으로 실 DB -> 개발 DB로 이관을 고려하게 됨.   - SQLDeveloper의 도구(tool) > 데이터베이스 복사(?) 메뉴를 이용  여러 우여곡절 끝에 오라클에서 DB 복사 및 이관시에는 다음과 같은 선작업이 필요함을 알게됨.(데이터 크기에 따라 복사에 시간이 많이 소요되므로 알고 이관하는 것이 시간낭비를 줄일 수 있는 듯.)   * 복사될 계정(또는 DB)에 넉넉한 TableSpace가 있어야함. 그렇지 않을 경우, 복사 및 인덱스 생성등이 제대로 되지 않음.. (동적으로 tablespace가 증가하는 설정이 미리 안되어 있는 경우에는, 복사된 테이블 삭제후 새로운 tablespace에 이관을 해야하는 번거로움 존재)  ** SQLDeveloper 만을 이용할 경우, tablespace 설정이 고정인 경우가 있음(즉, 모든 작업이 하나의 tablespace에서만 수행됨). 이런 경우에는 테이블 1개만 복사를 수행한 뒤, 결과로 생성된 쿼리에서 tablespace부분만 원하는 tablespace 변경한 쿼리를 이용하여 해결하는 방법도 가능.(전체 테이블 적용시에는 생성된 쿼리의 테이블 부분등등 일부만 변경하여 일괄적으로 수행)  * 실 데이터는 가장 나중으로 미룬 뒤, 스키마 및 시퀀스, 인덱스 등을 먼저 이관  ** 인덱스를 미리 생성하지 않고 데이터 복제부터 한뒤, 인덱스 생성시 인덱스 생성에도 시간이 많이 소요됨. * 데이터까지 복사 후, 각 테이블별 통계정보 샘플링 작업이 필요함. 인덱스가 있더라도 통계정보가 제대로...

오라클(ORACLE) Unable to translate SQLException with Error code '932', will now try the fallback translator 오류

experience oracle, ibatis 연동과정중에 위와 같은 오류 발생과 함께 업데이트(update)가 실패하는 이슈   * 대충확인 결과, sql devleloper와 같은 툴을 이용할때는 문제가 없으나 application 단에서 동작할 때에는 형변환이 정상적이지 않은 듯..    - 문제의 쿼리 bb와 c는 date type  update rr  set a = (#bb# - c) * 60 where ~~~   - 해결 쿼리 update rr  set a = ( cast (#bb# as date ) - c) * 60 where ~~~