2012-01-18

뭔가 하고 있는듯 하지만, 실제 하는건 없는 그런 상태로 이번주를 보낸듯 하다.
시간이 왜 이렇게 잘 가는지….뭔가 분주하게 바쁜거 같은데, 진도는 안나가는….희한한 상황.

마음 다잡고 열심히 해보려는 생각은………..자전거 타는 계획뿐……
일은 별로 하기 싫다…..

위에는 2011년 월간 라이딩 거리, 아래는 2012년 월간 라이딩 거리.
2010년 12월 이후 개인적으로 한달에 500km를 목표로 하지만 아직까지 한번도 성공한 적이 없다.  성공한 적도 없고, 기록을 보면 시간이 갈수록 마일리지 적립 거리가 줄어들고 있다.

체력도 떨어지고, 기록도 점점 안좋아지는 이유를 데이터가 말해주고 있다.
올해의 목표로 다시 마음을 잡고 월간 500km 마일리지 적립에 다시 도전해보려 한다.
물론 비시즌 기간을 제외하고, 본격적인 시즌기간 4~10월 사이를 목표로 한다.

 

 

그나저나 오늘도 일하기 싫다….싫지만 먹고 살아야 하니…
이번주 5일 중에 3.5일은 이것저것 회의만 하다가 시간 다 보낸듯하고…
어제부터 조금씩 작업에 들어 갔는데…..이제 피치를 올려야 할 시기가 되어….
이번주 주말도 하루쯤은 출to the근…….;;;;

 

 

oracle characterset 확인.

ORA-29275
서버와 클라이언트 간의 characterset이 상이한 경우에 발생한다고 하는데…이 경우에는 아래와 같은 방법으로 서버측의 characterset을 확인해서 client의 characterset을 변경하거나…..아니면 서버측의 characterset을 변경하는 방법이 있으나….서버측의 characterset을 변경하면 해당 DB에 접근하는 모든 사용자들이 로컬 환경에서 characterset을 변경해야 하니, 서버측의 characterset을 확인하고 자신의 로컬 캐릭터셋을 변경하는게 정신 건강에 이롭다.

select *
  from nls_database_parameters
 where parameter like '%CHARACTERSET%'

위의 쿼리를 실행해보면 NLS_CHARACTERSET 이 조회되는데, 이게 서버에 현재 설정된 캐릭터셋이니, 이대로 로컬 환경을 설정을 변경해주면 된다.

개인적으로 Windows 7 64bit 버전을 사용하는 관계로 regedit로 레지스트리 편집기를 실행하면 아래 경로에서 NLS_LANG의 값을 서버측과 동일하게 변경해주면 된다.

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\KEY_OraClient11g_home1
32bit OS를 사용중이라면 Wow6432Node가 없고, SOFTWARE바로 아래에 ORACLE이 존재한다.

서버측의 NLS_CHARACTERSET에 UTF8 이라면 NLS_LANG 값을.. KOREAN_KOREA.UTF8 처럼 변경하면 된다.

 

오라클 에러코드만 보고 검색을 하면 위와 같은 내용이 대부분이고… 실제로 서버와 클라이언트 간에 characterset이 일치함에도 불구하고 계속 동일한 에러코드를 반환하는 경우에는 컬럼 내부에 해당 characterset으로 인식이 안되는 문자가 포함된 경우라 볼 수 있다.

일단 어떤 컬럼에 데이터가 문제인지를 찾기 위해, 테이블 내 컬럼중 의심되는 컬럼만 제외하고 조회를 해서 정상적으로 조회가 안되는 컬럼명을 찾고…… 그 다음으로 대략적인 조건으로 조회건수를 조절해서 문제가 되는 row를 찾아서 해당 컬럼의 값을 update시키거나, 삭제하면…잘 작동함.