♣ Tech & Biz Salon/Tech
-
ibatis Exception - java.util.NoSuchElementException♣ Tech & Biz Salon/Tech 2009. 12. 21. 22:22
오늘 만난 에러메시지 *********************************************** java.util.NoSuchElementException at java.util.StringTokenizer.nextToken(Unknown Source) at com.ibatis.sqlmap.engine.mapping.sql.simple.SimpleDynamicSql.processDynamicElements(SimpleDynamicSql.java:90) at com.ibatis.sqlmap.engine.mapping.sql.simple.SimpleDynamicSql.getSql(SimpleDynamicSql.java:45) at com.ibatis.sqlmap.engine.mapping.sql...
-
PK 구성 컬럼 조회쿼리♣ Tech & Biz Salon/Tech 2009. 12. 21. 21:21
SELECT B.TABLE_NAME ,B.COLUMN_NAME FROM ALL_CONSTRAINTS A, ALL_CONS_COLUMNS B WHERE 0 = 0 AND A.OWNER = 'TASTEGOD' AND A.CONSTRAINT_NAME = B.CONSTRAINT_NAME AND A.TABLE_NAME NOT LIKE 'BIN$%' AND CONSTRAINT_TYPE = 'P' ORDER BY B.TABLE_NAME, B.POSITION; DBA_ 또는 USER_ 로 시작되는 Dictionary를 이용해도 되겠지요^^ 이 글은 스프링노트에서 작성되었습니다.
-
사용자정의 Annotation을 통한 AOP 구성♣ Tech & Biz Salon/Tech 2009. 12. 8. 13:08
라벨, 공통코드, 자료사전 등의 코드성 테이블이 아닌 테이블의 데이터를 다국어로 관리하는 것에 대해 작업을 진행했다. 이와 관련된 테이블은 - 다국어 메타 테이블 - 다국어 정보 테이블 : 다국어 값을 별도로 관리 - n개의 원래 테이블 이다 원 테이블 CUD 발생시 다국어 테이블에 대해서 MERGE 또는 DELETE 구문을 실행하게 되어있다. 아래 이미지는 관련 구성을 문서로 정리해둔 것인데, 다른 사람들도 이렇게 실제로 쓰고 있을거 같은데 서핑을 해보면 기본적인 AOP 구성밖에 보이지 않았다. ( 실제 코딩에서는 AfterReturning Advice를 사용하고 있다. 원테이블 Insert 시 생성된 특정 컬럼값을 받아내서 다국어 정보테이블서 사용함, 즉 연결고리 ) ♣ 사용자정의 Annotation..
-
장애, 문제처리 ABC♣ Tech & Biz Salon/Tech 2009. 12. 8. 12:20
문제해결 관련 서적이나 강의를 듣게 된다면 더 짜여진듯한 내용이 될수있을거 같은데... 아직 접해본적이 없어서... 일단은 경험에 기반하여 적어본다 빠르게 조치가 안되면, 뭔가 액션(다른데 확인요청) 을 취해놓던가 잠시 보류한 채 상부에 보고한다 직접 1차적으로 명확히 모니터링할 수 있는것이 있으면 확인한다 ( 예 : WAS, Server 확인 ). 확률이 높은 순으로 각 채널별로 확인하도록 연락한다. ( 최근 작업이 있었던 부분이나 환경이 바뀐 부분이 확률이 높다고 보면 된다 예 : 네트웍 파트, DBA, 서버 담당자 등 ) 직접 확인 할수 있는 부분을 좀 더 확인한다. Solution 을 찾지 못했거나 찾았더라도 실행하기 어렵거나 시간이 많이 소요된다면, 임시조치 또는 Workaround 차원에서의 ..
-
TableSpace AutoExtend 안하는것이 좋다♣ Tech & Biz Salon/Tech 2009. 12. 3. 12:52
퍼포먼스를 고려할때~ 규모가 좀 크고, 지속적으로 데이터가 증가하는 상황이라면 AutoExtend 는 사용하지 않는 것이 좋겠다. 규모가 있다면 테이블 스페이스를 업무별로 여러개로 나누고, 각 스페이스별로 여러개의 datafile 로 구성하는데 이때 테이블스페이스의 데이터파일에 아래와 같이 MAXSIZE를 지정할수 있기도 하다. 1) SIZE 400M AUTOEXTEND ON NEXT 100M MAXSIZE 1000M;
-
JDBC 연결 실패, 성공이 반복되는 현상♣ Tech & Biz Salon/Tech 2009. 12. 3. 12:42
● 현상 ORACLE THIN DRIVER를 이용해 JDBC 연결후 DB조회하는 모듈이 있는데 INIT 파일 읽는 부분 또는 DB CONNECTION 부분에서 에러가 났다 안났다 하였다 INI 파일 읽는 것이 불안정적으로 될 리는 없으니, DB로 원인을 보고 로컬에서 ORACLE CLIENT 로 접속하니 안정적으로 되었다. 그리고 SESSION 수를 확인해보았는데 DB INIT 파일의 PROCESS 개수 MAX 값에 다다라 있었다. ( PROCESS 개수 MAX 수치보다 실제 세션개수는 더 많이 생김~) 해당 내용 DBA에게 전달하였고, 여러시간 지난 답이 왔는데 세션연결과 관련된 백그라운드 프로세스가 올라갔다 내려갔다 한다고 함. 그리고 CANNOT SWAP JOB QUEUE SLACE PROCESSE..
-
connect by ~ order siblings by~♣ Tech & Biz Salon/Tech 2009. 12. 3. 12:28
Order siblings by 구문소개를 위해 글 올립니다. SELECT 회사코드, 조직코드, 부모조직코드, 랭킹 FROM 조직코드테이블 WHERE 회사코드 = 'A01003' START WITH 부모조직코드 IS NULL CONNECT BY PRIOR 조직코드 = 부모조직코드 --ORDER BY 랭킹 ORDER SIBLINGS BY 랭킹 랭킹 컬럼은 동일 부모를 가진 조직코드간의 랭킹값을 가지고 있습니다. 주석처리한 ORDER BY 랭킹 구문을 실행하면 쿼리결과에서의 Hierachy 가 깨진것을 확인할수 있습니다. 이런부분을 해소하기 위해 기존에는 관련한 pl-sql 오브젝트를 만들어 사용하는 등의 방법을 이용했던것 같기도 합니다. 9i 이후부터는 ORDER SIBLINGS BY 구문을 이용해 원하는..