database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
ㆍDB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
DB2 Q&A 925 게시물 읽기
No. 925
[질문]사용자 정의 테이블만 보고 싶어요.
작성자
이준식(ysaraha)
작성일
2006-02-16 13:12
조회수
6,121

list tables;라는 명령을 치면 시스템관련 테이블이 아닌 사용자 정의 테이블이 나오는데요

 

근데 이 결과가 그리드(표)형식이 아니라 텍스트형식으로 출력됩니다.

 

그리드(표)형식으로 나타나는 결과로 사용자가 만든 테이블만 볼수 있는 쿼리좀

 

알려주세요.

 

감사합니다.

이 글에 대한 댓글이 총 5건 있습니다.

 

select rtrim(tabschema)||'.'||tabname||' '||type||' '||hex(CREATE_TIME)
from syscat.tables
where tabschema not like 'SYS%'
order by tabschema,tabname with ur;
도님이 2006-02-16 13:49에 작성한 댓글입니다. Edit

추가

select rtrim(tabschema)||'.'||tabname||' '||type||' '||hex(CREATE_TIME)||' '||char(day(current timestamp - STATS_TIME))

 

char(day(current timestamp - STATS_TIME))는 마지막 통계장성일로부터 지난 날짜입니다.  데이터 변경이 많은 테이블은 이걸 참조해서 runstats를 해주시면 갑자기 sql이 느려지는 것을 방지할수 있어요

도님이 2006-02-16 14:00에 작성한 댓글입니다. Edit

sys로 시작하면 모두 시스템 관련 테이블이군요~

그런데요 order by뒤에 with us는 무슨 뜻인가요?

이준식(ysaraha)님이 2006-02-16 16:31에 작성한 댓글입니다.

with ur은 isolation level의 지정방법중 하나입니다.

select 문에서 with ur은 변경중인 데이타를 읽을 수 있습니다.

 

db2의 isolation level은 4가지입니다.

RR : repeatable read

RS : read stability

CS : cursor stability

UR : uncommitted read

 

isolation level ( 분리레벨)

응용프로그램 프로세스와 연관되는 분리 레벨 은 동시에 실행되는 다른 응용프로그램 프로세스로부터 응용프로그램 프로세스의 분리 정도를 정의합니다. 응용프로그램 프로세스의 분리 레벨은 다음을 지정합니다.

- 응용프로그램이 읽고 갱신한 행을 동시에 실행 중인 다른 응용프로그램 프로세스에 사용할 수 있는 정도
- 동시에 실행 중인 다른 응용프로그램 프로세스의 갱신 활동이 응용프로그램에 영향을 줄 수 있는 정도

 

UR (언커미트 읽기)

읽기 전용 커서가 있는 SELECT INTO, FETCH 또는 INSERT의 fullselect, UPDATE의 행 fullselect 또는 스칼라 fullselect의 경우(사용되는 곳 어디에서나), 언커미트 읽기 레벨은 다음을 허용합니다.

 

- 작업 단위 동안 읽어들인 모든 행을 다른 응용프로그램 프로세스가 변경하도록 합니다.
- 해당 응용프로그램 프로세스가에서 변경사항을 커미트하지 않은 경우에도 다른 응용프로그램 프로세스가 변경한 모든 행을 읽어들이도록 합니다.

isolation님이 2006-02-16 18:41에 작성한 댓글입니다. Edit

오라클은 조회시 해당 row에 대한 변경을 할 수가 있지만 db2는 변경을 하지 못하도록 합니다. 오라클에서만 개발을 한 개발자들은 이를 모르고 문제를 발생시키는 application개발을 하는 경우가 있습니다.

예로 크기가 크고 변경이 매우 빈번한 중요 테이블에 full scan select를 한 경우 이 sql이 끝날 때까지 테이블에 lock이 발생하면서 대기하는 application들이 많이 발생하게 됩니다.

이를 방지하기 위해 UR isolation을 사용합니다. 말그대로 commit이 발생하지 않아도 당시의 데이터를 읽어 오겠다는 겁니다. 오라클은 rbs에 작업 대상 데이터를 따로 보관하기 때문에 데이터의 변경과는 무관하게 작업을 할 수 있는 것으로 알고 있습니다.

도님이 2006-02-16 19:06에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
928에러가 나는데 좀 잡아주세요... [7]
이성훈
2006-02-21
7688
927테이블의 데이타를 못 불러 오네요.. 도와주세요~ [1]
DB2문맹
2006-02-20
5615
926Log full in archival Logging [1]
Hyung
2006-02-20
5193
925[질문]사용자 정의 테이블만 보고 싶어요. [5]
이준식
2006-02-16
6121
923쿼리좀 봐주세요... [3]
조경성
2006-02-14
5662
922[질문]Quest Central을 사용합니다. Only valid queries are allowed for reexecution 가 무엇인지? [1]
이준식
2006-02-14
5757
921db2 자격증도 있던데...따면 좋은가요? [3]
한소울
2006-02-14
5934
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.016초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다