기존에 생성된 테이블의 테이블스페이스를 다른 걸로 변경하는 방법이다.

이게 가능한 작업인지 몰라서 처음에는 exp, imp를 통해 테이블 스페이스를 변경했다.

ALTER TABLE 대상_테이블명 MOVE TABLESPACE 옮길_TS명;

ALTER INDEX 대상_인덱스명 REBUILD TABLESPACE  옮길_TS명;

 참고로 아래는 접속 계정에 해당하는 모든 테이블과 인덱스의 테이블 스페이스를 변경하는 구문을 추출하는 쿼리이다.

/* 테이블 */
SELECT 'ALTER TABLE ' || TNAME ||' MOVE TABLESPACE TARGET_TS;' FROM TAB WHERE TABTYPE = 'TABLE';

/* 인덱스 */
SELECT 'ALTER INDEX ' || INDEX_NAME ||' REBUILD TABLESPACE TARGET_TS;' FROM USER_INDEXES;


오라클에서 varchar2 자료유형을 아래와 같이 CLOB으로 변경할 경우 ORA-22858: 데이터유형의 변경이 부적당합니다. 에러메시지를 만나게 된다.

ALTER TABLE 대상_테이블명 MODIFY (대상_컬럼명 CLOB); 

해결 방법은 아래와 같다.

/*
* MEMO 칼럼을 varchar2에서 clob으로 바꾸는 경우 샘플
*/

ALTER TABLE 대상_테이블명 ADD MEMO_NEW CLOB;

UPDATE  대상_테이블명 SET MEMO_NEW = MEMO;

COMMIT;

ALTER TABLE  대상_테이블명 DROP COLUMN MEMO;

ALTER TABLE  대상_테이블명 RENAME COLUMN MEMO_NEW TO MEMO;



# 에피소드 1

public void someMethod() {

    1) .... some logic ....

    2) .... System.out ....

}

위 someMethod()의 1)번 로직 수행에 문제가 있어 로직을 수정한 후 실행시켰는데 반영이 안된다.

그래서 2)번 위치에 System.out을 찍었는데 1)번 로직만 실행되고 2)번에 추가한 System.out은 실행되지 않는다.

내 PC에 문제가 있는 건가? 뭐가 문제일까?


# 에피소드 2

@Scheduled(cron="0 * * * * ?")
public void doSchedule() {

    1) .... DB에서 데이타 가져온 후 대상 자료 있으면 수행하는 로직 .... 에러 발생 시 DB에 에러로그 등록됨

}

Spring에서 지원하는 스케줄러 어노테이션을 이용해 1분마다 실행되는 로직을 1)번에 삽입했다.

1)번 로직에 문제가 생겨 DB에 에러로그가 계속 쌓이고 있어서 1)번 로직을 주석처리 후 반영했다. 

그럼에도 불구하고 1)번 로직이 수행되어 DB에 에러로그가 1분마다 계속 쌓인다. 

내 PC에 유령이 있는 것인가? 뭐가 문제일까?


# 에피소드 1 : 이클립스의 Project > Build Automatically 옵션이 꺼져 있었다. ㅠㅠ 

# 에피소드 2 : 해당 스케줄러가 다른 개발자 PC에서도 수행되고 있었다. 결국 그 개발자 PC의 시스템 시간이 내 PC보다 몇밀리초 빨라서 그 쪽 PC에서 위 로직이 먼저 실행된 것이다. ㅠㅠ


결론 : 컴퓨터는 거짓말을 하지 않는다. 이것은 진리 !!!!


var popup = window.open(

    "http://www.otherDomain.co.kr/login.do?id=xxxx&pass=2222", 

    "pp", 

    "width=300, height=3000, left=4800");


setTimeout(function(){

    popup.close(); 

    self.focus();

}, 1000);


IE에서는 서로 다른 도메인 간에 frame이나 iframe을 이용해 위와 같은 로그인 처리를 해도 세션 쿠키가 브라우저에 기록되지 않아 리프레시 한번 더 해줘야만 로그인이 적용되는 경우가 있는데, 이 경우 위와 같은 편법을 이용하는 것도 하나의 방법이다.

당연히 편법이므로 다른 방법이 없다는 상황에서만 .... 적용하는 것이 좋겠다.

 

'자바스크립트' 카테고리의 다른 글

크롬 개발자도구(F12) 느려짐 해결  (0) 2016.11.12

/* 10분 */
SELECT SEQ, TITLE

  FROM TABLE_NAME

 WHERE TRUNC( MOD( (SYSDATE - TO_DATE(REG_DT, 'YYYYMMDDHH24MISS'))*24*60, 24*60 ) ) = 10


/* 2시간 */
SELECT SEQ, TITLE

  FROM TABLE_NAME

 WHERE TRUNC( MOD( (SYSDATE - TO_DATE(REG_DT, 'YYYYMMDDHH24MISS'))*24*1, 24*1 ) ) = 2


/* 1일 */
SELECT SEQ, TITLE

  FROM TABLE_NAME

 WHERE TRUNC( MOD( (SYSDATE - TO_DATE(REG_DT, 'YYYYMMDDHH24MISS'))*24*1, 24*1 ) ) = 24


+ Recent posts