222
Administration : SYBASE IQ 소병각씀

Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

Administration : SYBASE IQ

소병각씀

Page 2: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

SYBASE IQ

Page 3: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

Platform

Sun Solaris 64bit

HP-UX HP 9000/800 64bit (Itanium 포함)

IBM RS/6000 AIX 64bit

Win 2000/Win XP/Win 2003 32bit

Linux(Red Hat, RedFlag, SuSe) 32bit

참고 : 기타 자세한 O/S 버전에 대한 정보는 최신 Certification 정보를 참조하세요

Page 4: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

SYBASE IQ

SYBASE IQ Simplex mode일반적으로 사용하는 형태로 하나의 데이터베이스를 하나의 SYBASE IQ 엔진이 사용 합니다.

SYBASE IQ Multiplex mode하나의 데이터베이스를 여러 개의 SYBASE IQ 엔진이 공유하여 사용하며 확장성을 위해반드시 필요한 기능입니다.

IQ Temp Store

IQ Temp Store

IQ Temp Store

IQ Temp Store

Catalog Store

Catalog Store

Catalog Store

Catalog Store

IQ Main Store

Client

WriteServer

Replication ofCatalog data

Page 5: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

SYBASE IQ simplex

ASA

IQ Main Storedbname.iq

!Catalog Store

dbname.db

Transaction Logdbname.log

IQ Temporary Storedbname.iqtmp

IQ Message Logdbname.iqmsg

IQ Server Logsdbname.###.srvlogdbname.###.stderr

Page 6: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

dbspace

데이터베이스를 구성하는 디바이스들의 논리적인 이름이며 각각의 dbspace들은 일대일로 별도의 파일 혹은 raw device와 연결됩니다.

IQ Main Store, Catalog Store, IQ Temporary Store 각각은 하나 이상의 dbspace로구성되며 하나의 dbspace 크기는 raw device인 경우는 제한이 없으며 파일 시스템인 경우는 최대 4TB 입니다.

IQ Main Store

Catalog Store

IQ Temporary Store

dbspaces

Page 7: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

-IQ Main Store

사용자의 데이터와 인덱스를 위한 공간이며 컬럼 레벨의 압축된 데이터가 저장되는 디스크 영역입니다.

IQ Main Store는 하나 이상의 dbspace로 이루어지며 처음 만들어지는 dbspace의 논리적 이름은 IQ_SYSTEM_MAIN 이고 이 이름은 변경 불가능합니다

이 영역은 raw device나 파일 시스템 두 가지 형태로 만들 수 있으며 파일 이름 혹은 raw device의 이름이 물리적인 이름입니다. 일반적으로 물리적 파일 이름의 명명 규칙은dbname.iq 이며 사용자의 취향에 따라 변경 가능합니다.

IQ Main Store가 둘 이상의 dbspace로 구성된다면 SYBASE IQ는 데이터를 저장할 때라운드 로빈 스트라이핑 기법에 의해 두개의 dbspace로 분산 저장합니다.

이 영역에 로그 영역이 포함되며 자동 관리됩니다. 데이터를 위한 추가적인 로그공간이 따로 필요 없습니다.

!

Page 8: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

-Catalog Store

SYBASE IQ 데이터베이스를 관리하기 위해 필요한 메타 데이터를 저장하기 위한 영역으로 ASA가 이런 역할을 합니다.

모든 system table과 stored procedure를 저장하며 일반적인 RDBMS 처럼 데이터를레코드 레벨로 저장합니다

이 영역의 논리적 이름은 SYSTEM 이고 물리적 이름은 dbname.db 이며 하나 이상의dbspace로 이루어 지고 파일 시스템만을 지원합니다.

이 영역의 크기는 자동으로 늘어나기는 하나 줄어들지 않으므로 가능하면 이 영역의 사용자 사용을 금지하여 주시고 항상 백업을 받아 주세요.

!

Page 9: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

-Transaction Log of Catalog

Catalog Store 영역의 데이터 변경을 로깅하기 위한 공간으로 필요시 roll back 혹은 roll forward 하기 위해 사용됩니다.

이 영역의 일반적인 물리적 이름은 dbname.log 이고 파일 시스템만을 지원 합니다.

이 영역도 Catalog Store 영역과 함께 항상 백업을 받아 두세요.

참고사용자 테이블 하나를 생성하면 이 테이블에 대한 정보가 systable, syscolumn 등과 같은 시스템 카다로그에 저장되는데 이렇게 Catalog Store에 데이터가 저장될 때 트랜잭션로그에도 그와 관련된 내용이 저장됩니다.

!

Page 10: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

-IQ Temporary Store

이 영역은 시스템과 사용자의 임시 데이터 처리 공간이며 또한 적재할 때 HG 인덱스의 데이터 정렬이 이루어 지는 공간이기도 합니다.

IQ Temporary Store는 하나 이상의 dbspace로 이루어지며 처음 만들어지는 dbspace의 논리적 이름은 IQ_SYSTEM_TEMP 이고 이 이름은 변경 불가능합니다

이 영역은 raw device나 파일 시스템 두 가지 형태로 만들 수 있으며 파일 이름 혹은 raw device의 이름이 물리적인 이름입니다. 일반적으로 물리적 파일 이름의 명명 규칙은dbname.iqtmp 이며 사용자의 취향에 따라 변경 가능합니다.

IQ Temporary Store가 둘 이상의 dbspace로 구성된다면 SYBASE IQ는 데이터를 저장할 때 라운드 로빈 스트라이핑 기법에 의해 두개의 dbspace로 분산 저장합니다.

!

Page 11: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

-IQ Message log

SYBASE IQ의 error message, status message, insert notification message 등이 저장되는 로그 파일이며 사용자가 편집기를 통해 읽기 가능합니다.

하나의 데이터베이스에는 반드시 하나의 IQ Message log만 존재해야 하며 파일 시스템만을 지원하고 일반적인 파일 명명 규칙은 dbname.iqmsg 입니다.

이 파일은 계속해서 크기가 증가하기 때문에 정기적으로 DBA가 크기 조절을 해야 합니다. 또한 그 크기는 Iqmsg_Length_MB 라는 옵션 값을 설정하여 조절할 수 도 있습니다.

SET OPTION Iqmsg_Length_MB = 10;

!

Page 12: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

-IQ Server log

SYBASE IQ의 startup message와 startup parameter등을 저장하기 위한 공간 이며 그외에 여러 가지 정보들을 저장합니다

이 파일의 위치는 $ASDIR/logfiles 이며 SYBASE IQ 서버가 Win/Unix에 따라 생성되는파일의 종류 및 이름이 달라 집니다.

Win : 기본적으로 ASIQ_startup_nt.log에 startup parameter 정보가 저장되며기타 다른 정보는 Win SYBASE IQ 콘솔 윈도우에 나타납니다. Startup 할 때 -o 옵션을 사용하면 콘솔에 나타나는 메시지가 파일로 저장됩니다.

Unix : SYBASE IQ 엔진이 새로 startup 될 때마다 매번 두개의 파일이 만들어지며확장자가 srvlog인 파일에는 startup message가stderr 파일에는 startup 파라미터가 저장됩니다. 이 파일들의 이름은 servername.nnn.srvlog 혹은servername.nnn.stderr 이며 여기서 nnn은 001번부터 순차적으로 매번 증가합니다.

!

Page 13: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

utility/asiqdemo database

utility databaseSYBASE IQ 설치할 때에 자동으로 만들어지며 데이터는 전혀 저장하지 않습니다.

이 데이터베이스의 용도는 처음 사용자 데이터베이스 생성시에 생성 명령어를 인식하여 데이터베이스를 만들어 주며 또한 백업된 db를 restore할 때 비슷한 용도로 사용하기 위한 시스템 데이터베이스 입니다.

$ASDIR/bin/util_db.ini 파일을 절대 삭제 하지 마십시오.

asiqdemo databaseSYBASE IQ 설치시에 자동으로 만들어지는 예제용 데이터베이스이며 존재하는 위치는 $SYBASE/$ASDIR/demo 입니다.

sales_order, sales_order_items, contact, customer, product, department, employee, fin_code, fin_data와 같은 테이블로 구성되어집니다.

이 데이터베이스를 통해서도 사용자 데이터베이스를 생성할 수 있습니다.

Page 14: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

SYBASE IQ

Page 15: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

Spec-Server

DiskSYBASE IQ binary : 버전별로 약간의 차이는 있지만 대체적으로 NT 계열인 경우 약120MB 이고 Unix 계열인 경우는 약 300 MB 정도 입니다

Database : IQ Main Store 영역, IQ Temp Store 영역, Stage 영역 등이 필요하며일반적으로 원시 데이터의 100 ~ 120% 정도를 권장합니다. Data Stage : 원시 데이터의 sam file 영역으로 이 데이터가 IQ Main Store에 직접저장되는데 목적테이블 형태로 바로 저장될 수도 있고 IQ Main Store의 Stage 영역에 잠시 보관되었다가 목적테이블로 저장될 수 도 있습니다.Swap : 실 메모리의 최소 2~3배를 권장합니다.

Memory최소 필요한 메모리는 512MB로 가상 메모리가 아닌 실제 메모리입니다.SYBASE IQ는 어떤 버퍼를 page in/out 해야 할 지 스스로 결정할 수 있습니다.

CPU최소 400 MHz 이상이면 사용 가능하나 CPU가 많으면 많을 수록 월등한 속도를 보장합니다. 특히 SYBASE IQ는 Memory 보다는 CPU에 많은 의존을 보이는 RDBMS 입니다.

Page 16: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

S/W-Server

SYBASE IQ 서버

기본적으로 설치됩니다.

OCDKCIS 환경을 이용하여 다른 RDBMS로 부터 데이터를 직접 가져오거나 혹은 isqlclient를 사용할 때만 필요한 SYBASE의 native client 모듈입니다.

Sybase CentralSYBASE IQ 관리자 툴인 Sybase Central 사용하기를 원할 경우에 설치 하십시오.

jConnectSYBASE의 JDBC 모듈입니다.

Page 17: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

설치할 SYBASE IQ의 플랫폼 및 OS 버전이 적절한지 점검하십시오.

각 플랫폼별 Release Bulletin에서 권장하는 OS에 필요한 patch를 설치하십시오.

각 플랫폼별 Release Bulletin에서 권장하는 커널 변수를 변경하십시오

사용자의 리소스 한계를 확인하고 권장 값으로 변경하십시오.

네트워크가 잘 동작하는지 telnet 를 통해 확인해 보세요.

SYBASE IQ 제품의 사용자와 홈 디렉토리를 만들고 그 홈 디렉토리를 $SYBASE라는 환경변수에 설정하십시오

참고설치 관련 매뉴얼에는 각 플랫폼별 installation and configuration guide와 release bulletin 이 있으며 자세한 사항은 이 매뉴얼 들을 참조하세요.

Page 18: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

-Unix Server

CD-ROM 드라이브를 마운트하고 sybinstall 이라는 setup 유틸리티를 실행하십시오.

Page 19: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

-Unix Server

License Agreement 를 보여줄 언어를 선택하십시오

Page 20: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

-Unix Server

Return Key를 사용해서 License Agreement 를 계속 읽어보세요

Page 21: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

-Unix Server

같은 방식으로 License Agreement를 (EOF)까지 끝까지 읽어보세요

Page 22: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

-Unix Server

License Agreement 동의 여부에 답하세요

Page 23: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

-Unix Server

설치할 제품을 선택하고 S를 선택하여 설치를 시작하십시오

Page 24: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

-Unix Server

Utility db의 디폴트 user와 password 변경 여부에 답해 주시면 설치를 시작합니다.

Page 25: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

-Unix Server

같은 방법으로 최신 ESD(EBF) 버전을 설치해 주시고 추가적인 환경변수를 설정해 주세요. ESD 버전의 경우는 readme 파일을 반드시 읽어 주세요.

Page 26: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

-Unix Server

설치를 마치고 나면 필요한 환경변수가 자동으로 $SYBASE/$ASDIR/ASIQ-12_6.csh과$SYBASE/$ASDIR/ASIQ-12_6.sh에 저장됩니다. 필요한 환경변수는 다음과 같은 것들이 있습니다.

$SYBASE : 이 변수에 설정된 디렉토리에 SYBASE IQ, Sybase Central, jConnect, OCDK를 설치합니다.

$ASDIR : $SYBASE/ASIQ-12_6로 설정되며 SYBASE IQ의 홈 디렉토리입니다.

$LD_LIBRARY_PATH : $ASDIR/lib등이 설정되며 SYBASE IQ의 중요한 library 파일들이 설치됩니다.

$SYBASE_OCS : OCDK 12 이상 버전이 설치될 때만 필요한 환경변수이며 12.6인경우에 OCS-12_6 값이 설정됩니다.

$PATH : $ASDIR/bin, $SYBASE/$SYBASE_OCS/bin이 $PATH에 설정되어야 합니다.

$ASLOGDIR : IQ Server log 파일들이 위치하는 디렉토리를 설정하며 디폴트 설정값은 $ASDIR/logfiles 입니다.

Page 27: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

-Unix Server

$SQLCONNECT : Unix쪽에 설치된 클라이언트가 SYBASE IQ 서버와 연결할 때 필요한 파라미터와 그에 대한 값을 설정하는 환경 변수입니다.

$ASTMP : ASA의 임시 작업이 발생되는 디렉토리를 설정합니다. 디폴트는 /tmp 입니다. 임시 테이블을 in SYSTEM 옵션을 사용하여 Catalog Store에 만들게 되면 이영역을 사용하게 됩니다. 또한 클라이언트들이 SYBASE IQ 서버와 접속한 경우 이접속과 연관된 정보를 임시 파일들을 이용하여 저장하는데 이 파일들의 위치에 대한설정 값을 $ASTMP를 통하여 조절할 수 있습니다.

그 외에 필요한 환경 변수는 매뉴얼을 참조하세요.

Page 28: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

Starting the SYBASE IQ - Unix Server

설치가 종료한 후에 utility_db나 asiqdemo 데이터베이스를 기동해 설치의 이상 유무를점검합니다.$ASDIR/bin/start_asiq @$ASDIR/demo/asiqdemo.cfg $ASDIR/demo/asiqdemo.db

Page 29: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

Stopping the SYBASE IQ - Unix Server

stop_asiq를 통해%$ASDIR/bin/stop_asiq [-stop one | all]

dbstop을 통해%$ASDIR/bin/dbstop -c "uid=dba;pwd=sql;eng=asiqdemo;dbn=asiqdemo"

Page 30: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

-Win Server

Administrator의 권한을 가진 account로 login하고 다른 프로그램을 모두 종료합니다.

CD-ROM 드라이브에 설치 디스크를 넣고 setup.exe를 실행합니다

Page 31: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

-Win Server

License Agreement를 보여주기 위한 언어를 선택하고 읽어 보세요

Page 32: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

-Win Server

고객정보를 입력하고 LOB 옵션을 구매하셨다면 License Key를 입력하고 디폴트 상태라면 Next 버튼을 선택하세요

Page 33: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

-Win Server

설치할 방법과 디렉토리를 확인 한 후에 utility_db의 디폴트 username과 password를설정합니다. (기본 값 : DBA SQL)

Page 34: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

-Win Server

지금까지 입력한 정보가 정상적인지 확인하고 설치를 시작하며 잠시 기다렸다가 finish 버튼을 눌러 설치를 종료하면 재부팅 합니다.(비슷한 방법으로 최신 ESD도 설치)

Page 35: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

Starting the SYBASE IQ - Win Server

설치가 종료한 후에 asiqdemo 데이터베이스를 기동해 설치의 이상유무를 점검합니다.

asiqdemo를 기동한 예start programs sybase Adaptive Server IQ 12 Start SYBASE IQ Demo…

Page 36: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

Stopping the SYBASE IQ - Win Server

window system tray 오른쪽에 학사모 를 쓴 아이콘이 있는데 이것을 더블 클릭하면startup 할 때 보여지던 윈도우가 보입니다. 오른쪽 아래에 shutdown 버튼을 클릭하면됩니다.

Page 37: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

-Network Client

Administrator의 권한을 가진 account로 login하고 다른 프로그램을 모두 종료합니다.

CD-ROM 드라이브에 network client 설치 디스크를 넣고 setup.exe를 실행합니다

Page 38: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

- Network Client

License Agreement를 보여주기 위한 언어를 선택하고 읽어 보세요

Page 39: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

- Network Client

고객정보와 setup type, 디렉토리를 설정합니다. 설치할 S/W를 선택하시려면 Custom 라디오 버튼을 클릭하세요.

Page 40: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

- Network Client

설치할 항목들에 대해 재확인하는 절차를 지나 설치를 시작합니다.

Page 41: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

- Network Client

finish 버튼을 눌러 설치를 종료하면 재부팅 합니다. (비슷한 방법으로 최신 ESD도 설치)

Page 42: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

Creating database

Page 43: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

database review

IQ Main Store

!

Catalog Store

Transaction Log

IQ Temporary Store

IQ Message Log

IQ Server Logs

Page 44: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

step 1 : select the device type

Catalog Store, Transaction log, Message log등은 파일 시스템만을 지원하지만 IQ Main Store와 IQ Temporary Store는 raw device와 파일 시스템 모두를 지원하므로 디바이스 종류를 결정해 줘야 합니다.

Raw Device장점 : O/S가 아닌 SYBASE IQ에 의해 관리되므로 Unix에 부담이 적으며 성능 및 안정성면에서 뛰어납니다

단점 : 파일 시스템에 비해 관리의 어려움이 있습니다.

File system장점 : raw device에 비해 관리의 편이성이 있습니다.

단점 : 이중 버퍼링 시스템을 사용하는 등 O/S에 부담이 증가됩니다.

O/S에 대한 부담 및 추가 메모리를 고려할 때 운영환경에서는 raw device를 권장합니다.

Page 45: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

step 2 : estimate the db size

IQ Main Store : IQ Main Store의 영역은 ETL중의 Staging 영역을 어느 정도 할 것인가에 많은 변수가 있으나 일반적으로 원시 데이터의 70% ~ 100%를 적용합니다.

IQ Temporary Store : 질의의 종류와 질의를 동시에 수행하는 사용자 수 등에 따라 크기가 좌우될 수 있으나 일반적으로 IQ Main Store의 10% ~ 20%를 적용하여 시작하고 추후사용량을 모니터하여 재반영 해줍니다.

Catalog Store, Transaction Log : 이 영역의 크기는 SYBASE IQ에 의해 자동으로 할당되며 사용량에 따라 자동으로 확장됩니다.

Page 46: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

step 3 : create the database

dbisql과 같은 클라이언트 툴을 사용하여 Utility db나 혹은 asiqdemo db 에 접속하여새로운 데이터베이스를 생성할 수 있습니다.

새로운 데이터베이스를 생성한다는 것은 다음과 같은 파일을 만드는 것과 같습니다.IQ Main Store : dbname.iqCatalog Store : dbname.dbTransaction Log : dbname.logIQ Temporary Store : dbname.iqtmpIQ Message Log : dbname.iqmsg

IQ Main Store

!

Catalog Store

Transaction Log

IQ Temporary Store

IQ Message Log

dbname.iq dbname.db dbname.iqtmp

Page 47: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

syntax

CREATE DATABASE db-name[ [ TRANSACTION ] { LOG ON [ log-file-name ]

[MIRROR mirror-file-name ] } ][ CASE {RESPECT | IGNORE} ][ PAGE SIZE page-size ][ COLLATION collation-label ][ BLANK PADDING ON ][ JAVA { ON | OFF } ][ JCONNECT { ON | OFF } ][ IQ PATH iq-file-name ][ IQ SIZE iq-file-size ][ IQ PAGE SIZE iq-page-size ][ BLOCK SIZE block-size ][ IQ RESERVE sizeMB ][ MESSAGE PATH message-file-name ][ TEMPORARY PATH temp-file-name ][ TEMPORARY SIZE temp-db-size ][ TEMPORARY RESERVE sizeMB ]

Page 48: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

syntax-option

db-name : 데이터베이스의 이름과 위치를 정의하며 Catalog Store가 됩니다.

transaction log : dbname.db에 대한 transact log가 되며 이 절을 생략하거나 log-file-name을 생략하면 dbname.log가 dbname.db와 같은 디렉토리에 생성됩니다. 그렇지만완벽한 복구를 위해 dbname.db와 다른 디렉토리에 만드는 것을 권장합니다.

mirror : transaction log에 대한 복사본을 저장하는 장소로 디폴트는 미러링을 하지 않기 때문에 미러링 하는 것을 권장합니다

case : 데이터베이스의 데이터에 대한 대소문자 구별 여부를 정의합니다. 디폴트로는 대소문자를 구별하는 respect 이며 디폴트를 권장합니다.

page size : Catalog Store 영역의 page 크기를 정의하며 디폴트는 4K이고 디폴트를 권장합니다.

collation : 언어와 문자 집합을 정의하며 한국어를 정상적으로 사용하기 위해서는 반드시EUC_KOREA로 정의해야 합니다.

blank padding : 문자 데이터 맨 뒤에 있는 blank를 무시하고 문자를 비교할지 그 여부를정의합니다. 디폴트는 blank를 무시하고 문자를 비교하는 on이며 디폴트를 권장합니다. 12.6 부터 off 값을 지원하지 않기 때문에 off로 설정한다고 해도 무시됩니다.

Page 49: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

syntax-option

IQ path : IQ Main Store의 첫번째 dbspace인 IQ_SYSTEM_MAIN의 물리적 이름입니다.

IQ size : IQ Main Store의 첫번째 dbspace인 IQ_SYSTEM_MAIN의 크기이며 raw device인 경우는 생략합니다.

IQ page size : IQ Main Store의 Page 크기를 나타내며 디폴트는 128K 이고 가장 큰 테이블의 열수가 10억~40억 이면 128K, 그 이하면 64K, 이상이면 256K를 일반적으로 사용합니다.

block size : I/O의 단위이며 IQ Page size/16이 디폴트이며 권장 값입니다.

message path : SYBASE IQ의 상태정보와 같은 메시지가 저장되는 파일의 위치와 이름을 정의합니다.

temporary path : IQ Temporary Store의 첫번째 dbspace인 IQ_SYSTEM_TEMP의 물리적 이름입니다.

temporary size : IQ Main Store의 첫번째 dbspace인 IQ_SYSTEM_TEMP의 크기이며raw device인 경우는 생략합니다.

Page 50: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

example

IQ Main Store와 IQ Temporary Store가 Unix file system 인 경우

% vi cre_db.sql

CREATE DATABASE '/user/SYBASE_IQ/IQDEV/mydb.db'TRANSACTION LOG ON '/user/SYBASE_IQ/IQDEV/mydb.log'CASE respectPAGE SIZE 4096COLLATION 'EUC_KOREA'BLANK PADDING onIQ PATH '/user/SYBASE_IQ/IQDEV/mydb.iq'IQ SIZE 1000IQ PAGE SIZE 131072BLOCK SIZE 8192MESSAGE PATH '/user/SYBASE_IQ/IQDEV/mydb.iqmsg'TEMPORARY PATH '/user/SYBASE_IQ/IQDEV/mydb.iqtmp'TEMPORARY SIZE 500;

Page 51: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

example

IQ Main Store와 IQ Temporary Store가 raw device 인 경우

% vi cre_db.sql

CREATE DATABASE '/user/SYBASE_IQ/IQDEV/mydb.db'TRANSACTION LOG ON '/user/SYBASE_IQ/IQDEV/mydb.log'CASE respectPAGE SIZE 4096COLLATION 'EUC_KOREA'BLANK PADDING onIQ PATH '/dev/rdsk/mydb_iq'IQ PAGE SIZE 131072BLOCK SIZE 8192MESSAGE PATH '/user/SYBASE_IQ/IQDEV/mydb.iqmsg'TEMPORARY PATH '/dev/rdsk/mydb_iqtmp';

Page 52: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

utility_db

아래처럼 utility_db를 이용하여 사용자 db를 새롭게 생성할 수 있습니다.

utility_db 기동$ASDIR/bin/start_asiq -n MySVR -x tcpip{port=2638}

utility_db를 통해 사용자 db 생성% dbisqlc -c "uid=dba;pwd=SQL;eng=MySVR;dbn=utility_db" -q cre_db.sql// cre_db.sql이라는 파일에 create database 명령어가 편집되어 있는 경우// utility_db의 user_id와 password는 $ASDIR/bin/util_db.ini가 저장하고 있음

utility_db 종료% dbstop -c "uid=dba;pwd=SQL;eng=MySVR;dbn=utility_db"

Page 53: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

demo DB

아래처럼 asiqdemo db를 이용하여 사용자 db를 새롭게 생성할 수 있습니다.

asiqdemo db 기동$ASDIR/bin/start_asiq @$ASDIR/demo/asiqdemo.cfg $ASDIR/demo/asiqdemo.db

asiqdemo db를 통해 사용자 db 생성% dbisqlc -c "uid=dba;pwd=SQL;eng=asiqdemo;dbn=asiqdemo" -q cre_db.sql// create_db.sql이라는 파일에 create database 명령어가 편집되어 있는 경우

asiqdemo db 종료% dbstop -c "uid=dba;pwd=SQL;eng=asiqdemo;dbn=asiqdemo"

Page 54: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

config file

사용자가 만든 데이터베이스를 기동할 때 필요한 파라미터로는 아래와 같은 내용이 있으며 cfg 파일에 기술하거나 기동하는 명령어에 직접 기술할 수 있습니다. 파라미터를 기술하지 않으면 start_asiq 프로그램과 $ASDIR/scripts/default.cfg 파일에 설정된 값을 기본 값으로 하여 기동합니다.

-n : 서버명(IQ 엔진 이름)을 기술하며 하이픈으로 연결된 이름이나 reserved word는 사용할 수 없습니다.또한 이 이름은 LAN상에서 유일해야 합니다.

-cl : Catalog Store를 위한 최소 캐시 크기이며 최소 16MB를 권장합니다

-ch : Catalog Store를 위한 최대 캐시 크기를 기술합니다.

-x : SYBASE IQ 서버와 통신 가능한 프로토콜과 IP 주소, 포트번호를 기술합니다.모든 플랫폼의 tcp/ip와 WinNT의 ipx, NetBios, Named Pipe를 지원합니다.

-iqmc : IQ Main Store를 위한 캐시 크기를 기술합니다. 같은 역할을 담당하는 데이터베이스 옵션중 Main_Cache_Memory_MB 의 설정 값보다 우선 적용됩니다.

-iqtc : IQ Temporary Store를 위한 캐시 크기를 기술합니다. 같은 역할을 담당하는데이터베이스 옵션중 Temp_Cache_Memory_MB 의 설정 값보다 우선 적용됩니다.

Page 55: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

config file

-iqmt : SYBASE IQ 서버가 사용할 쓰레드의 총 수를 기술하며 현재 까지는 4,096 미만 값을 기술해야 합니다.

-gm : 동시 접속이 가능한 사용자수를 기술합니다.

-iqgovern : 동시 질의를 실행할 수 있는 사용자 수를 기술하며 기본 값은 다음과 같은 공식으로 적용됩니다. ( CPU X 2 + 10 )

-gc : checkpoint 간격을 분단위로 기술하며 디폴트로 60분이 설정됩니다.

-ti : 마지막으로 요청한 시간 이후에 설정된 시간동안 추가적인 요청을 발생시키지 않은 클라이언트의 접속을 해제 하기 위한 시간을 분단위로 기술하며 디폴트로 4,400 분이 설정됩니다.

-tl : 클라이언트의 active 여부를 점검하여 설정된 시간동안 응답이 없다면 클라이언트의 접속을 강제로 해제합니다. 디폴트는 120초 입니다.

-gl : 데이터를 로드하기 위한 권한을 설정하며 가능한 값으로는 dba, all, none 이 있고 디폴트로는 none, 즉 아무도 로드할 수 없습니다.

db-name.db : catalog store의 절대 디렉토리와 파일명을 명시합니다.

Page 56: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

: -gm vs.-iqgovern

예를 들어 -gm이 100으로 설정되어 있고 -iqgovern이 20으로 설정되어 있다면?

-gm 설정에 의해 질의를 실행하는지 여부에 관계없이 100명의 사용자가 SYBASE IQ에접속할 수 있습니다. 101번째 사용자는 100명 중에 한 사용자라도 접속을 해지해야만 추가 접속이 가능합니다.

또한 100명의 사용자중에 선착순 20명만이 질의를 수행할 수 있습니다. 만약 21번째 사용자가 질의를 실행시키려면 이 사용자는 iqgovern 큐에서 접속된 상태로 대기하여야 합니다.

12.6부터 옵션을 통해 20명 외에 대기하는 사용자의 우선순위를 조절할 수 있는 방법론이제공되고 있습니다.

IQgovern_Priority : iqgovern 큐에서 대기하는 사용자의 질의에 대해 우선순위를설정할 수 있습니다. IQgovern_Max_Priority 설정 값 범위 안에서 최상위 우선 순위인 1부터 최하위 우선 순위인 3까지 설정이 가능합니다.IQgovern_Max_Priority : IQgovern_Priority의 설정 값을 제한하기 위해 사용합니다.

Page 57: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

config file

예)vi mydb.cfg

-n mydb-cl 64M-ch 256M -gl all-gm 50 -ti 4400 -tl 1200 -x tcpip{MyIP=158.77.50.115;port=2638}-iqmc 1100-iqtc 1200/user/asiq/IQDEV/mydb.db

Page 58: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

start SYBASE IQ

Unix : %$ASDIR/bin/start_asiq @$SYBASE/IQDEV/mydb.cfg

Page 59: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

start SYBASE IQ

WinNT : %asiqsrv12 @mydb.cfg

Page 60: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

change option

새로 만들어진 데이터베이스의 디폴트 옵션 중에 다음과 같은 것들은 적절히 사용되지 못할 때에 많은 부작용이 발생하므로 옵션 변경을 고려하십시오.

Auto_Commit : 매 명령어 수행 후에 commit의 자동 실행 여부를 조절하며 디폴트는 off, 즉 commit을 실행하지 않습니다. dbisql의 옵션 중에 'After Every Command'와 같으며 다른 툴에서는 동작하지 않습니다.

Auto_Refetch : 현재 세션 질의의 결과가 동일 세션의 insert, update, delete 후에다시 한번 fetch 될 지 여부를 조절하며 디폴트는 on 이나 off 를 권장합니다. dbisql의 옵션 중에 'Automatic Window Refresh'와 같습니다.

Commit_on_exit : dbisql의 exit 사용하여 종료시에 commit의 자동 실행여부를 조절하며 디폴트는 on, 즉 commit을 실행합니다. dbisql의 옵션 중에 'When Exiting ISQL'과 같습니다.

Chained : 트랜잭션의 시작을 묵시적으로 할 것인지 명시적으로 할 것인지를 조절하며 디폴트로는 on, 즉 묵시적으로 트랜잭션이 시작됩니다.

그 외에 성능 향상을 위해 여러 가지 옵션을 변경하며 자세한 내용은 매뉴얼이나 담당 엔지니어에게 문의 바랍니다.

Page 61: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

change option

예)set option "public".Auto_commit = 'off';set option "public".Auto_refetch = 'off';set option "public".Commit_on_exit = 'off';set option "public".Chained = 'on';set option "public".Early_Resource_Release = 'on';set option "public".Force_No_Scroll_Cursors = 'on';set option "public".Garray_Fill_Factor_Percent = 150;set option "public".Garray_Page_Split_Pad_Percent = 50;set option "public".Query_Temp_Space_Limit = 0;set option "public".Load_Memory_MB = 300;set option "public".OS_File_Cache_Buffering = 'off'; set option "public".Trim_Partial_MBC = 'on';set option "public".Disk_Striping_Packed = 'On';set option "public".DML_Options25 = 'Off';set option "public".Query_Plan = 'Off'; set option "public".Query_Detail = 'Off';

위 예제는 SYBASE IQ 설치할 때에 기본적으로 변경을 해주는 옵션들이며 이 값들을 권장합니다.

Page 62: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

enlarge database- create dbspace

CREATE DATABASE 명령어를 통해 IQ Main Store, IQ Temporary Store, Catalog Store 하나를 각각 만들어 데이터베이스를 생성했는데 create dbspace를 통해 각 영역을 별도로 늘릴 수 있습니다. 시스템 테이블 sysiqfile 에 관련 정보가 입력됩니다.

dbspace를 위한 영역도 파일 시스템과 raw device가 가능하지만 처음 만들어진dbspace와 같은 크기, 같은 타입의 저장공간을 권장합니다. 즉 첫번째 만들어진dbspace 영역이 raw device이면 이 후에 만들어지는 dbspace도 raw device를 권장한다는 것입니다.

CREATE DATABASE를 통해 만들어지는 dbspace를 포함하여 최대 2047개 까지 생성이 가능합니다.

syntax CREATE DBSPACE dbspace-logical-name AS dbspace-physical-name[ IQ store | IQ temporary store | Catalog store ][ [Size] file-size ][ RESERVE sizeMB ]

예) CREATE DBSPACE main02 AS '/dev/rdsk/mydb_iq02' IQ store;CREATE DBSPACE temp02 AS '/dev/rdsk/mydb_iqtmp02' IQ temporary store;

Page 63: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

- local dbspace

IQ Multiplex 모드 환경에서 특정한 READ 노드의 사용자가 공유되지 않는 테이블을 생성하여 사용하고자 한다면 이런 테이블을 특정한 로컬 영역에 위치시켜 사용할 수 있습니다.

이렇게 특정한 로컬 영역 용도로 만들어지는 dbspace를 local dbspace라고 부릅니다.

Local dbspace에 만들어진 테이블은 비록 READ 노드에 있을지라도 WRITE 작업이 가능합니다.

Page 64: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

alter dbspace

ALTER DBSPACE 명령어를 통해 이미 존재하는 dbspace의 모드를 변경하거나 크기를변경하거나 증가할 수 있습니다.

syntax ALTER DBSPACE dbspace-name{ READWRITE | READONLY | RELOCATE| SIZE dbspace-size [ KB | MB | GB | TB | PAGES ]| ADD dbspace-size [ KB | MB | GB | TB | PAGES ] }

READWRITE : 대상 dbspace가 READ, WRITE 모두 가능한 모드READONLY : 대상 dbspace가 READ만 가능한 모드RELOCATE : 대상 dbspace의 object들이 다른 dbspace에 이동하기 위하여READ만 가능한 상태로 변경. 이렇게 대상 dbspace의 모든 object들이 다른dbspace로 이동되었다면 그 dbspace는 삭제 가능SIZE : 대상 dbspace의 RESERVE된 영역 내에서 크기 변경ADD : 대상 dbspace의 RESERVE된 영역 내에서 크기만큼 추가

예)ALTER DBSPACE main02 SIZE 2000 MB; // main02의 크기가 2000 MBALTER DBSPACE temp02 ADD 1000 MB; // temp02의 크기가 1000 MB 증가ALTER DBSPACE main03 READONLY; // main03의 모드를 READ로 변경

Page 65: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

decreasing a database

IQ Main Store : DROP DBSPACE 명령어를 통해 가능하며 12.6 부터 데이터가 존재하지 않고 READWRITE 모드로 설정된 하나 이상의 dbspace가 존재하는 경우에 언제든지삭제 가능 합니다.

IQ Temporary Store : IQ Main Store와 같은 내용입니다.

Catalog Store : CREATE DATABASE를 통해 만들어진 디폴트 dbspace는 그 크기가자동으로 확장되지만 축소되지는 않습니다. 그러므로 사용자가 만드는 모든 테이블은system 영역을 피하여 주십시오.

Transaction Log : 서버 기동 파라미터에 -m 옵션을 사용하면 시스템이 정기적으로checkpoint를 실행할 때 그 크기를 줄일 수 있습니다.

IQ Message Log : 정기적으로 수동으로 크기 조절을 하거나 관련된 옵션을 설정하여 자동으로 크기 조절이 가능합니다. (IQMSG_Length_MB)

IQ Server Log : 정기적으로 수동으로 크기 조절을 해야 합니다.

Page 66: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

dropping a database

삭제하고자 하는 데이터베이스의 서버를 종료하고 utility_db나 혹은 asiqdemo 데이터베이스를 기동한 후 DROP DATABASE를 실행하면 됩니다.

syntax DROP DATABASE db-filename

예) DROP DATABASE '/user/asiq/IQDEV/mydb.db'

Page 67: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqstatus

syntaxsp_iqstatus

Page 68: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

Event & Schedule

Page 69: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

create event

특정한 시간이나 사건이 발생했을 때 이를 서버가 감지하여 사용자가 임의적으로 작성한프로그램을 수행할 수 있는 기능을 SYBASE IQ 에서는 제공합니다.

이는 원래 ASA 에서 주기적인 백업, 데이터베이스 크기 감시, 트랜잭션 크기 감시등과 같은 DBA 작업을 위한 기능들이었는데 그 기능의 일부를 SYBASE IQ 에서도 사용 가능합니다.

CREATE EVENT 명령어를 통해서 생성할 수 있으며 특정한 시간대에 작업할 수 있는SCHEDULE 기능과 특정한 사건에 작업할 수 있는 EVENT 기능이 있습니다.

HANDLER로 시작하는 이벤트 핸들링 루틴은 WatcomSQL의 compound statement를이용해서 작성할 수 있습니다.

syntaxCREATE EVENT event-name

[ TYPE event-type | SCHEDULE schedule-name schedule-spec ][ ENABLE | DISABLE ] // default는 enable

HANDLERBEGIN

handling-routine;END ;

Page 70: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

create event - schedule

syntax1CREATE EVENT event-name

SCHEDULE schedule-name START TIME start-time | BETWEEN start-time AND end-time

[ EVERY period HOURS | MINUTES | SECONDS ][ ON (day-of-week | day-of-month) ][ START DATE start-date ]

event-handling routine;

여러 가지 옵션에 의해 미리 설정된 특정한 시간이 되면 백업과 같이 미리 작성된 이벤트핸들링 루틴이 실행됩니다.

START TIME 혹은 BETWEEN 절, EVERY 절, ON 절, START DATE 절을 잘 조합하면원하는 시점에 자동으로 정기적인 DBA 작업을 수행할 수 있습니다.

Page 71: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

create event - schedule

매주 월요일 ~ 금요일 오전 9시부터 오후 6시까지 매시간마다 통계작업을 실행하는 예

CREATE EVENT SummarizeSCHEDULE BETWEEN '9:00 am' AND '6:00 pm'EVERY 1 HOURSON ( 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday' )HANDLER BEGIN

INSERT INTO DBA.OrderSummarySELECT MAX( date_ordered ), COUNT( * ), SUM( amount ) FROM DBA.Orders WHERE date_ordered = CURRENT DATE ;

END

매일 오전 1시가 되면 백업을 실행하는 예

CREATE EVENT SummarizeSCHEDULE START TIME '6:00 pm' EVERY 24 HOURSHANDLER BEGIN

BACKUP DATABASE ……;END

Page 72: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

create event - event 1

syntax2CREATE EVENT event-name

TYPE BackupEnd // 백업이 종료되면| "Connect" // 접속이 성공하면| ConnectFailed // 접속이 실패하면| "Disconnect" // 접속을 끊으면

event-handling routine;

기술된 것처럼 특정한 사건이 발생하면 이를 자동으로 감지하여 이벤트 핸들링 루틴을 실행합니다.

대상이 되는 사건으로는 백업의 종료, 접속 성공, 접속 실패, 접속 종료 등이 있으며 이를이용하며 접속에 관련된 데이터를 취합, 분석할 수 있습니다.

이벤트 타입으로 Connect와 Disconnect 사용시에 반드시 전후에 " 를 사용하여야 문법오류를 방지할 수 있습니다.

Page 73: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

create event - event 1

예)CREATE EVENT Connect_Sample

TYPE "Connect"HANDLER BEGIN

handling-routine; END

// 접속에 성공하면 handle-routine이 실행됨

Page 74: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

create event - event 2

syntax3CREATE EVENT event-name

TYPE DBDiskSpace | GrowDB | // ASA의 .db 영역| LogDiskSpace | GrowLog | // ASA의 .log 영역| TempDiskSpace | GrowTemp // ASA의 임시($ASTMP)영역| "RAISEERROR" // 오류가 발생하면| ServerIdle // db가 idle 하다면

WHERE EVENT_CONDITION ( DBFreePercent | DBFreeSpace | // TYPE이 DBDiskSpace 일때 사용DBSize | // TYPE 이 GrowDB 일때 사용LogFreePercent | LogFreeSpace | // TYPE 이 LogDiskSpace 일때 사용LogSize | // TYPE 이 GrowLog 일때 사용TempFreePercent | TempFreeSpace | // TYPE 이 TempDiskSpace 일때 사용TempSize | // TYPE 이 GrowTemp 일때 사용ErrorNumber | // TYPE 이 RAISEERROR 일때 사용IdleTime | // TYPE 이 ServerIdle 일때 사용Interval ) comparison-operator value // 모든 조건에 사용

event-handling routine;

~DiskSpace, Grow~ 와 같이 크기 관련된 옵션들은 IQ 영역이 아닌 Catalog 영역에 대한 크기를 언급하고 있으므로 주의하시기 바랍니다.

Page 75: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

create event - event 2

예)CREATE EVENT ServerIdle_Sample

TYPE ServerIdleWHERE EVENT_CONDITION( 'IdleTime' ) >= 600 AND EVENT_CONDITION( 'Interval' ) >= 3600

HANDLER BEGIN

handling-routine; END

// 서버가 한시간에 한번 10분 동안 idle 하다면 이벤트 핸들링 루틴을 실행

Page 76: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

event parameter

syntaxEVENT_PARAMETER( 'ConnectionID' | 'User' | 'EventName' | 'Executions' |

'ScheduleName' | 'DisconnectReason' | 'APPINFO' );ConnectionID : 대상 이벤트를 유발시킨 ConnHandleUser : 대상 이벤트를 유발시킨 사용자 IDEventName : 대상 이벤트의 이름Executions : 대상 이벤트의 실행된 횟수ScheduleName : 대상 이벤트를 실행시킨 schedule의 이름DisconnectReason : connection이 끊어진 이유

이벤트 핸들링 루틴에서 context 정보를 제공하는 함수로서 제공되는 context에는 사용자명, 접속ID, 이벤트명, 이벤트 실행 횟수 등이 있습니다.

예)CREATE EVENT EVT_Connect TYPE "Connect" HANDLERBEGIN

……SELECT EVENT_PARAMETER('User') INTO …// 이 이벤트를 유발시킨 사용자 ID를 출력합니다.……

END

Page 77: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

사용자의 접속이 이루어지면 특정 파일에 원하는 정보를 기록합니다.CREATE EVENT EVT_Connect

TYPE "Connect"HANDLERBEGIN

DECLARE v_username CHAR(50);DECLARE v_eventtime TIMESTAMP;DECLARE v_userip CHAR(50);DECLARE v_cmd VARCHAR(250);

SELECT EVENT_PARAMETER('User'), NOW(),

connection_property('NodeAddress',EVENT_PARAMETER('ConnectionID'))INTO v_username, v_eventtime, v_userip;

SET v_cmd = 'echo connection,' || v_username || ',' || v_eventtime || ',' || v_userip || ',' || EVENT_PARAMETER('ConnectionID') || ', >> S.out';

CALL xp_cmdshell(v_cmd);COMMIT;

END;

Page 78: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

사용자의 접속이 끊어지면 특정 파일에 원하는 정보를 기록합니다.CREATE EVENT EVT_DisConnect

TYPE "DisConnect"HANDLERBEGIN

DECLARE v_username CHAR(50);DECLARE v_eventtime TIMESTAMP;DECLARE v_userip CHAR(50);DECLARE v_cmd VARCHAR(250);

SELECT EVENT_PARAMETER('User'), now(),

connection_property('NodeAddress',EVENT_PARAMETER('ConnectionID'))INTO v_username, v_eventtime, v_userip;

SET v_cmd = 'echo disconnection,' || v_username || ',' || v_eventtime || ','|| v_userip || ',' || EVENT_PARAMETER('ConnectionID') || ', >> S.out';

CALL xp_cmdshell(v_cmd);COMMIT;

END;

Page 79: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

오전 9시에서 오후 7시 동안 매 1 시간마다 Schedule을 통해서 사용자 접속 이력 테이블에 저장합니다. 기존 파일을 Rename하여 저장한 후 Rename된 파일을 Load합니다

CREATE EVENT EVT_LoadSCHEDULE SCH_Load BETWEEN '09:00AM' AND '07:00PM' EVERY 1 HOURS

HANDLERBEGIN

DECLARE v_cmd VARCHAR(250);DECLARE v_eventtime VARCHAR(20);

SELECT DATEFORMAT(NOW(), 'YYYYMMDD_HH') INTO v_eventtime;SET v_cmd = 'mv S.out S.out.' || v_eventtime;CALL xp_cmdshell(v_cmd);COMMIT;

EXECUTE IMMEDIATE ' LOAD TABLE User_Conn_Event ' || // 미리 생성' (Event_Type, User_Name, Event_Time, User_IP, Conn_ID) ' ||' FROM ''S.out.' || v_eventtime || '''' ||' QUOTES OFF ESCAPES OFF ' ||' DELIMITED BY '',' || '''' ||' ROW DELIMITED BY ''\\n' || '''';

COMMIT;END;

Page 80: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

trigger event

syntaxTRIGGER EVENT event-name ;

특정한 이벤트를 이벤트 조건이 아닌 이 명령어를 이용하여 실행시킬 수 있습니다. 이는개발자가 이벤트 실행 테스트를 위해 해당 조건까지 기다리지 않아도 되는 편리함을 제공합니다.

예)TRIGGER EVENT Summarize ;// Summarize 이벤트를 유발시키는 조건이 아닌 지금 바로 대상 이벤트를 실행

참고실제 이벤트에 대한 내용을 보기 위해서는 sysevent 테이블의 action, event_name 컬럼을 확인하면 됩니다.

SELECT event_name, enabled, actionFROM syseventWHERE event_name = 'Summarize';

Page 81: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

drop event

syntaxDROP EVENT event-name ;

대상 이벤트를 제거합니다.

예)DROP EVENT EVT_Connect;

Page 82: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

Physical limitation

Page 83: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

Physical limitation

항목 최대값 비고

O/S limit(NOFILE)에 종속적

Max_Join_Enumeration에 종속적

Table size 8 PB Database size에 종속적

# of columns per table 45,000 10,000 까지 권장

unix system 1 TB

NT (NTFS) 1 TB

# of files per database 2,047

# of tables referenced per query 128

# of tables in a single FROM clause 64

# of tables per database 32,767

# of tables referenced per transaction 무제한

NT (FAT32) 4 GBCatalog file size

Database size 8 PB

raw device 무제한

file system 4 TBDbspace size

Page 84: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

Physical limitation

항목 최대값 비고

Row size Page 크기의 절반을 권장

# of indexes per table 32,767

Maximum index length per column 255 Byte 초과시 인덱스 생성 불가능

Single-column 255 Byte

Multi-column 5,300 Byte

CHAR 32,767 Byte

VARCHAR 32,767 Byte

LONG BINARY 8 PByte

# of tables per join index 32

# of values in an IN list 250,000

Maximum # of UNION in one query 128

Maximum IQ page size 512 KByte 64K, 128K, 256K, 512K 지원

Maximum column size

Maximum key size

# of rows per table 1,270억

Page 85: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

Physical limitation

항목 최대값 비고

64 bit platform 1,000 UNIX

32 bit platform 200 Linux, Win계열

IBM AIX, HP-UX 64 GB

Win, Linux 128 GB

Sun Solaris 512 GBMaximum size of temp extract file per file

Maximum # of users

Page 86: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

System stored procedure

Page 87: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqcheckdb

syntaxsp_iqcheckdb 'mode target [….] [resource resource-percent] ';

mode : allocation | check | verify | repairtarget : database | table table-name | index index-nameresource-percent : 이 명령어를 위한 CPU 사용량을 제한하기 위한 쓰레드 수

데이터베이스의 모든 페이지를 디스크에서 메모리로 읽어 데이터베이스 할당정보의 일치성 오류(corrupt) 여부를 점검하며 mode 옵션에 따라 복구도 가능합니다.

수행된 결과는 저장되며 sp_iqdbstatistics의 실행에 의해 마지막으로 저장된 결과를 다시 볼 수 있습니다.

이 작업은 매우 많은 리소스와 시간을 소비하므로 실행하기 전에 충분히 숙지 하시고 사용하기 바랍니다

정확한 결과를 얻기 위해서는 checkpoint를 먼저 실행하고 실행하십시오.

Page 88: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqcheckdb

Mode별 점검되는 오류 및 속도는 아래 표와 같으니 실행할 때 주의 바랍니다.

Mode Errors detected Speed/hour

allocation allocation 오류 4000GB

check allocation 오류, 대부분의 인덱스 오류 60GB

verify allocation 오류, 모든 인덱스 오류 15GB

repair 모든 인덱스 오류 15GB+

Page 89: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqcheckdb

예)

Page 90: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqcheckoptions

syntaxsp_iqcheckoptions

사용자별, 옵션별 기본 값과 변경 값을 비교하여 옵션별, 사용자별로 정렬해서 다음과 같은 정보를 보여줍니다.

컬럼 이름 설명

User_name 옵션이 설정된 사용자나 그룹이름 혹은 PUBLIC

Option_name 옵션 이름

Current_value 대상 옵션의 현재 설정된 값

Default_value 대상 옵션의 기본 설정 값

Option_type 임시 옵션이면 Temporary, 아니면 Permanent

Page 91: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqcheckoptions

예)

Page 92: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqcolumn

syntaxsp_iqcolumn [table-name ] , [table-owner];sp_iqcolumn [table_name = ' table-name '] , [table_owner = ' table-owner' ];

시스템 테이블이 아닌 특정한 IQ영역의 사용자 테이블에 대한 다음과 같은 컬럼 정보를출력합니다. 만약 파라미터가 생략되면 기본 값이 입력 파라미터로 전송됩니다

컬럼 이름 설명

table_name 테이블의 이름

table_owner 테이블의 소유자 이름

column_name 컬럼의 이름

domain_name 데이터 유형

width 숫자 타입의 precision 이나 저장 길이 혹은 문자 타입의 길이

scale 숫자 타입의 scale, 아니면 0

nulls null 값을 허용하면 Y, 아니면 N

default 만약 identity 컬럼이라면 Identity/Autoincrement, 아니면 NULL

cardinality HG, LF 인덱스에 의해 해당 컬럼에 저장된 distinct count 값

est_cardinality IQ UNIQUE에 의해 해당 컬럼에 사용자가 정의한 값

Page 93: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqcolumn

컬럼 이름 설명

remarks comment 명령어에 의해 표현된 주석

check 컬럼에 설정된 CHECK constraint의 내용 출력. 단, 컬럼 사이의 비교가 있는 constraint는 출력되지 않음

Page 94: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqcolumn

예)

Page 95: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqconnection

syntaxsp_iqconnection [conn-handle];

현재 IQ에 접속중인(혹은 특정한) 사용자에 대한 정보를 다음과 같이 출력합니다.

컬럼 이름 설명

ConnHandle 특정한 접속자의 접속 ID (ASA영역에서의 ID)

Name 특정한 접속자의 별명, ODBC 에서 설정 할 때만 출력

IQThreads 특정한 접속자에게 할당된 쓰레드 수로 어떤 사용자가 CPU 리소스를많이 사용하고 있는지 알 수 있음.

Userid 특정한 접속자의 IQ에서의 사용자 계정

LastReqTime 특정한 접속자가 IQ, ASA 영역에서 마지막 요청을 요구한 시간

ReqType 특정한 접속자가 마지막 요청한 문자열

IQCmdType 특정한 접속자가 IQ쪽에서 현재 수행중인 명령어

LastIQCmdTime 특정한 접속자가 IQ 영역에서 마지막 IQ 명령어를 요청한 시간

IQCursors 특정한 접속자가 IQ store에서 open한 커서의 수

LowestIQCursorState 특정한 접속자가 선언한 커서 중 가장 안쪽 레벨 커서의 상태

Page 96: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqconnection

컬럼 이름 설명

TxnID 특정한 접속자의 현재 트랜잭션 ID. iqmsg 파일에 출력되는 Txn, Cmt메시지의 ID와 같음

ConnCreateTime 특정한 접속자의 접속 시간

LastIdle ?

Dbremote 멀티플렉스 모드에서 query 서버와 write 서버 사이에 버전 정보를 복제하기 위해 사용되는 내부 트랜잭션의 표시 bit

TempTableSpaceKB 특정한 접속자가 temp table등 임시로 사용한 temp store 크기

TempWorkSpaceKB 특정한 접속자를 위해 sort등 엔진이 임시로 사용한 temp store 크기

IQConnID iqmsg 파일의 모든 메시지에 출력되는 10자리 connection ID

satoiq_count IQ엔진이 ASA 영역에서 IQ 영역으로 넘긴 내부 작업의 횟수

iqtosa_count IQ엔진이 IQ 영역에서 ASA 영역으로 넘긴 내부 작업의 횟수

CommLink 접속한 사용자의 네트워크 프로토콜 이름. IQ엔진이 설치된 곳에서접속한 사용자는 local로 출력됨

NodeAddr 접속한 사용자의 IP Address

Page 97: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqconnection

예)

Page 98: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqconstraint

syntaxsp_iqconstraint [table-name] , [column-name], [table-owner];sp_iqconstraint [table_name = ' table-name' ] , [column_name = ' column-name' ],

[table_owner = ' table-owner' ];

시스템 테이블이 아닌 특정한 사용자 테이블에 대한 참조 무결성 제약조건(Referential Integrity constraint, 이하 RI) 정보를 다음과 같이 출력합니다

컬럼 이름 설명

table_name RI 조건에서 PK 컬럼이 존재하는 테이블

table_owner RI 조건에서 PK 컬럼이 존재하는 테이블의 소유자

index_name RI 조건에서 PK 인덱스 이름

uniq PK or Unique

column_name RI 조건에서 PK 인덱스를 구성하는 컬럼

foreign_table_name RI 조건에서 FK 컬럼이 존재하는 테이블

foreign_table_owner RI 조건에서 FK 컬럼이 존재하는 테이블의 소유자

role FK role 이름

Page 99: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqconstraint

컬럼 이름 설명

fk_enforced Y이면 RI 조건이 enable 상태이며 N이면 disable 상태

foreign_index_name RI 조건에서 FK 인덱스 이름

foreign_column_name RI 조건에서 FK 인덱스를 구성하는 컬럼

location 테이블이 위치하는 dbspace로 TEMP, MAIN, LOCAL, SYSTEM중 1

Page 100: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqconstraint

예)

Page 101: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqcontext

syntaxsp_iqcontext [conn-handle];

현재 IQ에서 실행중인 명령어, 접속중인 사용자에 대한 정보를 다음과 같이 출력합니다.

컬럼 이름 설명

CurrOrConn 접속한 상태이면 CONNECTION, 커서를 열고 있다면 CURSOR

ConnHandle 접속 혹은 커서를 열고 있는 사용자의 접속 ID

IQconnID iqmsg 파일의 모든 메시지에 출력되는 10자리 connection ID

IQGovernPriority IQgovern_Priority 옵션 값에 의해 설정된 우선 순위 값

Name IQ엔진의 이름

Userid 접속 혹은 커서를 열고 있는 사용자의 IQ 계정

numIQCursors CurrOrConn의 값이 CONNECTION 이면 특정 접속자가 열고 있는 커서 수, CurrOrConn의 값이 CURSOR 이면 커서 ID

IQthreads 특정한 접속자에게 할당된 쓰레드 수

TxnID 현재 트랜잭션의 ID

ConnOrCurCreateTime Connection이나 커서가 생성된 시간

Page 102: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqcontext

컬럼 이름 설명

CmdLine 실행중인 명령어의 처음 4,096 문자

Page 103: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqcontext

예)

Page 104: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqdbsize

syntaxsp_iqdbsize ;

현재 database에 대한 크기 정보를 다음과 같이 출력하지만 많은 리소스와 시간이 소요되므로 주의하시기 바랍니다.

컬럼 이름 설명

Database 데이터베이스의 절대 디렉토리를 포함한 이름

Physical Blocks 데이터베이스를 위해 사용된 전체 Block 수

KBytes 데이터베이스를 위해 사용된 전체 KByte 수

Pages 메모리에 수용될 데이터베이스의 전체 페이지 수

Compressed Pages 디스크에서 압축된 데이터베이스의 전체 페이지 수

Nblocks 테이블과 조인 인덱스의 데이터를 위해 사용된 Block 수

Catalog Blocks 테이블과 조인 인덱스의 메타 데이터를 위해 사용된 Block 수

Page 105: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqdbsize

예)

Page 106: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqdbspace

syntaxsp_iqdbspace [dbspace-name];

각 dbspace에 대한 크기 정보를 다음과 같이 출력합니다.

컬럼 이름 설명

Name 대상 dbspace의 논리적 이름

Stripe dbspace 사이에서 strip되는 크기

Block Types

대상 dbspace안에서 Block 의 종류와 종류별 사용현황

(H:free list의 헤더 블록, F:free list, R:read only free list, D: database identity, A:active version, O:old version, X:drop at checkpoint,M:multiplex CM, B:backup structures, C:checkpoint log

Path 대상 dbspace의 디렉토리를 포함한 물리적 이름

Type 대상 dbspace의 종류 (MAIN, TEMPORARY, LOCAL)

Mode 대상 dbspace의 모드 (RW:readwrite, RR:relocate, RO:readonly)

%Used 대상 dbspace의 사용량을 백분율로 표현

Size 대상 dbspace의 총 크기

Reserve 대상 dbsapce안에서 확장할 수 있는 크기

Page 107: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqdbspace

컬럼 이름 설명

First Block 대상 dbspace에 할당된 IQ 블록의 시작 번호

Last Block 대상 dbspace에 할당된 IQ 블록의 마지막 번호

Page 108: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqdbspace

예)

Page 109: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqdbspaceinfo

syntaxsp_iqdbspaceinfo [dbspace-name];

대상 dbspace에서 사용중인 object와 그 크기 등을 다음과 같이 출력합니다.

컬럼 이름 설명

DBSpace 대상 dbspace의 논리적 이름

Object 대상 dbspace에 존재하는 object의 이름

First Block 대상 dbspace에서 대상 object가 사용하는 첫번째 블록

Last Block 대상 dbspace에서 대상 object가 사용하는 마지막 블록

Used 대상 dbspace에서 대상 object의 사용량

Capacity

Page 110: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqdbspaceinfo

예)

Page 111: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqestspace

syntaxsp_iqestspace table-name, #-of-rows, iq-page-size;

table-name : 대상 테이블 이름, 이 테이블은 이미 존재해야 함#-of-rows : 테이블에 입력될 예상 데이터 건수iq-page-size : iq page size (65536 | 131072 | 262144 | 524288)

예상 데이터 건수의 데이터가 입력된다고 가정하고 대상 테이블의 크기를 예측합니다.

컬럼 이름 설명

Tablename 대상 테이블 이름

Rows 예상 데이터 건수

Columns/Row width 컬럼의 수 / 행의 길이

Index size 대상 건수의 데이터를 대상 테이블에 입력한다고 가정할 때 최소, 평균, 최대, Raw(row width X rows) 사용량을 예측

Create time 대상 건수의 데이터를 대상 테이블에 입력한다고 가정할 때 최소, 평균, 최대 생성 시간을 예측

Msg 실행 결과가 오류일 때만 오류 메시지 출력

Cases

Page 112: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqestspace

예)

Page 113: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqindex

syntaxsp_iqindex [table-name] , [column-name], [table-owner];sp_iqindex [table_name = ' table-name' ] , [column_name = ' column-name' ],

[table_owner = ' table-owner' ];

FP 인덱스를 포함하여 대상 테이블이 가지고 있는 모든 인덱스 정보를 다음과 같이 출력합니다.

컬럼 이름 설명

table_name 테이블의 이름

table_owner 테이블의 소유자 이름

index_name 생성된 인덱스 이름

unique_index Unique index 이면 Y, Unique constraint이면 U, 이것도 저것도 아니면 N

location 인덱스가 위치하는 dbspace로 TEMP, MAIN, LOCAL, SYSTEM중 1

remarks comment 명령어에 의해 표현된 주석

column_name 컬럼의 이름

index_type 생성된 인덱스 종류 (HG, LF, HNG, DATE, TIME, DTTM, CMP, WD, FP)

Page 114: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqindex

예)

Page 115: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqindexfragmentation

syntaxsp_iqindexfragmentation ' table table-name [(index index-name)] ';

인덱스 내부 구조인 btree, bitmap, garray의 fragmentation에 대한 정보를 아래와 같이출력합니다.

컬럼 이름 설명

Index 대상 인덱스 이름

IndexType 대상 인덱스 종류

SQLCODE 실행시 발생된 오류 번호로 0이 아니면 오류 발생

Fill Percent 단편화 정도(0-10%, 11-20%,…, 91-100%)로 %수치가 적을 수록 단편화율이 높음

btree pages 대상 인덱스 구조중 btree 형태의 페이지에 대한 단편화 수치

bitmap pages 대상 인덱스 구조중 bitmap 형태의 페이지에 대한 단편화 수치

garray page 대상 인덱스 구조중 garray 형태의 페이지에 대한 단편화 수치

Btree_Node_pages ?

GARRAY_FILL_FACTOR_PERCENT Garray_Fill_Factor_Percent에 설정된 값

Page 116: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqindexfragmentation

예)

Page 117: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqindexinfo

syntaxsp_iqindexinfo 'database | [ table table-name | index index-name ]';

대상 object가 사용중인 dbspace와 그 크기 등을 다음과 같이 출력합니다.

컬럼 이름 설명

Object 대상 object의 이름

Size 대상 object가 대상 dbspace에서 사용중인 크기

DBSpace % 대상 object가 대상 dbspace에서 사용중인 백분율

DBSpace 대상 object가 존재하는 dbspace의 논리적 이름

First Block 대상 dbspace에서 대상 object가 사용하는 첫번째 블록

Last Block 대상 dbspace에서 대상 object가 사용하는 마지막 블록

Page 118: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqindexinfo

예)

Page 119: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqindexsize

syntaxsp_iqindexsize [ [table-owner.] table-name.] index-name ;

특정한 인덱스의 크기를 다음과 같이 출력합니다.

컬럼 이름 설명

Username 인덱스의 소유자 이름

Indexname 인덱스 이름

KBytes 인덱스의 실제 크기 (KByte)

Pages 메모리에 수용될 인덱스의 전체 페이지 수

CompressedPages 디스크에서 압축된 인덱스의 전체 페이지 수

Type 인덱스 종류

Info 인덱스를 구성하는 세부 정보로 Total 정보만 참조. 나머지는 내부적으로 사용

Page 120: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqindexsize

예)

Page 121: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqlocks

syntaxsp_iqlocks [conn-handle,] [ [owner.] table-name,] [max-locks,] [sort-order] ;

conn-handle : 특정한 커넥션 ID로 이 값을 사용하면 해당 ID의 lock 정보만 출력

owner.table-name : 특정한 테이블로 이 값을 사용하면 해당 테이블의 lock 정보만 출력

max-locks : 출력을 원하는 최대 lock 건 수

sort-order : 출력시의 정열 방법으로 C면 Connection별로, T면 테이블 이름별로 정렬

Catalog store를 포함한 전체 lock 정보를 다음과 같이 출력합니다.

컬럼 이름 설명

connection lock을 걸고 있는 connection ID (ConnHandle)

user_id lock을 걸고 있는 사용자의 db 계정

lock_name Internal use

table_name Lock이 걸린 테이블 이름

lock_typelock 종류 (S-Shared, E-Exclusive, P-Phantom, A-Antiphantom, W-Write. T, *, nnn 단, 여기서 S, W만 IQ영역 에서만 발생하는 lock이고나머지는 Catalog 영역(ASA)에서 발생하는 lock이므로 무시)

Page 122: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqlocks

예)

Page 123: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqrebuildindex

syntaxsp_iqrebuildindex 'table-name','column column-name [ count ] | index index-name';

column : 컬럼에 대한 FP 인덱스를 count에서 제시한 값으로 재생성index : FP인덱스가 아닌 index-name에서 지정한 인덱스를 재생성

특정한 컬럼에 대한 FP 인덱스를 재생성 하거나 특정한 인덱스를 재생성 합니다.

FP인덱스를 재생성하는 경우에 현재 인덱스가 1byte FP 인 경우는 대상 컬럼의 카디날리티 정보에 따라 1byte FP만 가능합니다. 2byte FP인 경우는 대상 컬럼의 카디날리티에따라 1byte FP 혹은 2byte FP로 달라질 수 있습니다.

예)sp_iqrebuildindex 'employee', 'column emp_lname';// employee 테이블 emp_lname 컬럼의 FP 인덱스를 재생성// Minimize_Storage 값이 On인 경우 : FFP, FFFP, Flat FP 순으로 재생성 시도// Minimize_Storage 값이 Off인 경우 : 현재 설정된 FP 종류에 따라 같은 인덱스 재생성

sp_iqrebuildindex 'employee', 'index emp_lname_LF';// employee 테이블 emp_lname_LF 인덱스를 재생성

sp_iqrebuildindex 'employee', 'column emp_lname 20';// employee 테이블 emp_lname 컬럼의 FP 인덱스를 IQ UNIQUE(20)으로 재생성

Page 124: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqrelocate

syntaxsp_iqrelocate ' database | table table-name | index index-name ';

database : 모든 object가 이동 대상table : 특정한 테이블만 이동 대상index : 특정한 인덱스만 이동 대상

relocate 모드 상태인 dbspace에 존재하는 대상 테이블 혹은 인덱스를 readwrite 모드의다른 dbspace로 이동 합니다. 단, Main Store만 가능합니다.

예)sp_iqrelocate 'database';

Page 125: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqspaceinfo

syntaxsp_iqspaceinfo ;

Object(table, index)별로 사용중인 dbspace의 block 수 정보를 다음과 같이 출력하지만 많은 리소스, 시간이 소요되므로 주의하시기 바랍니다

컬럼 이름 설명

Object Name Object (table 혹은 index) 이름

Blocks 해당 object에 의해 사용중인 block 수

DBSpace Name 해당 object가 저장된 dbspace 이름

Page 126: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqspaceinfo

예)

Page 127: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqspaceinfo

Tip) 테이블별로 디스크 사용 정보 보기

create procedure sp_iqspaceinfo_table( in tablename_param char(257))result ( Name varchar(128), NBlocks unsigned bigint, dbspace_name char(128))begin

declare end_of_cursor exception for SQLSTATE '02000';declare objname varchar(128);declare numblocks bigint;declare db_space varchar(128);declare iqspace cursor for call sp_iqspaceinfo();

declare local temporary table iq_spaceinfo_table_temp (Name varchar(128) null,Blocks unsigned bigint null,dbspacename varchar(128) null

) in SYSTEM on commit preserve rows;

open iqspace;iqspaceloop:LOOP

fetch next iqspace into objname, numblocks, db_space;if SQLSTATE = end_of_cursor THEN

leave iqspaceloop;end if;insert into iq_spaceinfo_table_temp values ( objname, numblocks, db_space);

END LOOP iqspaceloop;close iqspace;

select * from iq_spaceinfo_table_tempwhere Name = tablename_param or

Name like tablename_param orName like tablename_param || '.%'

order by Name; drop table iq_spaceinfo_table_temp;

end

Page 128: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqspaceused

syntaxsp_iqspaceused out mainKB, out mainKBUsed, out tempKB, out tempKBUsed ;

Main store와 Temp store의 전체 크기와 현재 사용중인 크기를 아래와 같이 Kbyte 형태의 output 파라미터 형태로 넘겨줍니다.

파라미터 이름 설명

mainKB main store의 크기

mainKBUsed main store의 사용된 크기

tempKBUsed temp store의 사용된 크기

tempKB temp store의 크기

Page 129: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqspaceused

예) out 파라미터 형태로 결과가 넘어오기 때문에 적절하게 결과를 보여줘야 합니다.

BEGINDECLARE mt UNSIGNED BIGINT;DECLARE mu UNSIGNED BIGINT;DECLARE tt UNSIGNED BIGINT;DECLARE tu UNSIGNED BIGINT;

CALL sp_iqspaceused(mt,mu,tt,tu);

SELECT cast(cast(mt/1024 as unsigned bigint) as varchar(10)) || ' MB' as MainStore,cast(cast(mu/1024 as unsigned bigint) as varchar(10)) || ' MB' as MainUsed,cast(cast(mu*100/mt as numeric(4,1)) as varchar(10)) || '%' as MainUsedRatio,cast(cast(tt/1024 as unsigned bigint) as varchar(10)) || ' MB' as TempStore,cast(cast(tu/1024 as unsigned bigint) as varchar(10)) || ' MB' as TempUsed,cast(cast(tu*100/tt as numeric(4,1)) as varchar(10)) || '%' as TempUsedRatio;

END

Page 130: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqspaceused

예)

Page 131: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqstatus

syntaxsp_iqstatus ;

현재 데이터베이스의 다음과 같은 상태를 출력합니다

출력 정보 설명

Adaptive Server IQ Sybase IQ에 대한 Copyright

Version Sybase IQ에 대한 버전 및 플랫폼

Build Time 현재 IQ 버전이 적용된 시간

File Format Internal use

Server mode IQ Server

Catalog Format Internal use

Stored Procedure Revision Internal use

Page Size 현재 데이터베이스의 페이지 크기/블록 크기/페이지당 블록 수

Number of Main DB Spaces main store를 구성하는 dbspace 수

Time Now 결과를 출력한 현재 시간

Page 132: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqstatus

출력 정보 설명

Number of Temp DB Spaces temp store를 구성하는 dbspace 수

Number of Local DB Spaces local store를 구성하는 dbspace 수

DB Blocks main store를 구성하는 각 dbspace의 블록 수

Create Time 데이터베이스가 생성된 시간

Update Time 데이터베이스가 마지막으로 변경된 시간

Main IQ Buffers main store를 위해 설정된 메모리(main buffer) 크기

Temporary IQ Buffers temp store를 위해 설정된 메모리(temp buffer) 크기

Main IQ Blocked Used 현재 사용중인 main store 크기

Temporary IQ Blocked Used 현재 사용중인 temp store 크기

Main Reserved Blocks Available MAIN_RESERVED_DBSPACE_MB에 의해 설정된 값

Temp Blocks temp store를 구성하는 각 dbspace의 블록 수

Page 133: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqstatus

출력 정보 설명

Temporary Reserved Blocks Available TEMP_RESERVED_DBSPACE_MB에 의해 설정된 값

Last Full Backup ID

Last Full Backup Time

Last Backup ID

Last Backup Type

Last Backup Time

IQ Dynamic Memory IQ에 의해 사용중인 전체 메모리 현재 값/최대 값

Main IQ Buffers 현재 사용중인 main buffer 수, locking중인 buffer 수

Active Txn Versions 현재 commit(혹은 rollback) 되지 않은 트랜잭션 정보

Temporary IQ Buffers 현재 사용중인 temp buffer 수, locking중인 buffer 수

Main IQ I/O

Temporary IQ I/O

I-input(read), L-logical read, P-physical readO-output(write), C-page create, D-page dirty, P-physical write, D-page destroy, C-compression ratio

Other Versions 현재 상태의 versioning 정보 (versioning 수 = 크기)

Page 134: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqstatus

출력 정보 설명

DB Updated Since BackupBlocks in next ISF BackupBlocks in next ISI BackupDB File Encryption Status

Page 135: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqstatus

예)

Page 136: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqtable

syntaxsp_iqtable [table-name] , [table-owner], [table-type] ;sp_iqtable [table_name = ' table-name' ] , [table_owner = ' table-owner' ],

[table_type = ' SYSTEM | TEMP | VIEW | ALL | IQ ' ];

특정 테이블에 대한 다음과 같은 상태를 출력합니다

컬럼 이름 설명

table_name 테이블의 이름

table_type 만약 일반 테이블이면 BASE, 뷰 테이블이면 VIEW, Global Temporary Table 이면 GBL

server_type 만약 IQ 영역에 만들어진 테이블이면 IQ, 카다로그 영역 (ASA) 에 만들어진 테이블이면 SA, proxy 테이블이면 OMNI

location 테이블이 위치하는 dbspace로 TEMP, MAIN, LOCAL, SYSTEM중 1

remarks comment 명령어에 의해 표현된 주석 출력

table_owner 테이블의 소유자

Page 137: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqtable

예)

Page 138: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqtablesize

syntaxsp_iqtablesize [table-owner.] table-name ;

특정한 테이블의 크기를 다음과 같이 출력합니다.

컬럼 이름 설명

Ownername 테이블의 소유자 이름

Tablename 테이블 이름

Pages 메모리에 수용될 테이블의 전체 페이지 수

CompressedPages 디스크에서 압축된 테이블의 전체 페이지 수

NBlocks 테이블의 실제 크기 (IQ Block 수)

Columns 테이블의 컬럼 수

KBytes 테이블의 실제 크기 (Kbyte)

Page 139: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqtablesize

예)

Page 140: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqtransaction

syntaxsp_iqtransaction ;

현재의 트랜잭션과 버전에 대한 정보를 다음과 같이 출력합니다.

컬럼 이름 설명

Name 접속한 사용자의 별명, ODBC 에서 설정 할 때만 출력

Userid 접속한 사용자의 db account

CmtID 트랜잭션이 commit될 때 자동으로 트랜잭션 ID로 Active transaction일 때는 0으로 할당

State NONE, ACTIVE, ROLLING_BACK, ROLLED_BACK, COMMITING, COMMITED, APPLIED

ConnHandlle 접속한 사용자의 ID

IQConnID iqmsg 파일의 모든 메시지에 출력되는 10자리 connection ID

TxnID 특정한 접속자의 현재 트랜잭션 ID. iqmsg 파일에 출력되는 Txn, Cmt메시지의 ID와 같음

VersionID Simplex 모드에서는 TxnID와 같음

Page 141: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqtransaction

컬럼 이름 설명

MainTableKBCreated 해당 트랜잭션에 의해 IQ main store에 생성된 크기 (Kbyte)

MainTableKBDropped 해당 트랜잭션에 의해 IQ main store에 삭제된 크기 (Kbyte)로 삭제되었지만 다른 트랜잭션에 의해 참조되기 때문에 수치로 표현

TempTableKBDropped 해당 트랜잭션에 의해 IQ temp store에 삭제된 크기 (Kbyte)

SpCount 시스템에 의해 묵시적으로 사용하는 savepoint의 수

SpNumber Active savepoint 번호

TxnCreateTime트랜잭션이 생성된 시간으로 모든 IQ의 트랜잭션은 Connection과 동시에 혹은 이전 트랜잭션의 commit(혹은 rollback)과 동시에 암시적으로 시작

Dbremote 멀티플렉스 모드에서 query 서버와 write 서버 사이에 버전 정보를 복제하기 위해 사용되는 내부 트랜잭션의 표시 bit

CursorCount Active 이면 이 트랜잭션에서 open한 커서 수이고 COMMITED이면이 트랜잭션에 의해 만들어진 버전을 참조하는 커서 수

TempTableKBCreated 해당 트랜잭션의 temporary table의 사용에 의해 IQ temp store에 생성된 크기 (Kbyte) : temptemp영역을영역을 사용자가사용자가 임시로임시로 사용사용

TempWorkSpaceKB해당 트랜잭션이 sort, hash등과 같이 임시적 사용에 의해 IQ temp store에 생성한 크기 (Kbyte) , Active transaction이 아닌 경우는 0 : temptemp영역을영역을 엔진이엔진이 임시로임시로 사용사용

Page 142: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqtransaction

참고

TxnID 456311에서 트랜잭션이 시작하고 CmtID 456312에서 발생한 작업을 commit을 하면TxnID는 자동으로 456313가 됩니다.

TxnID 456311에 의해 만들어진 버전을 다른 connection에서 참조하지 않는다면 State는APPLIED가 되고 다른 connection에서 참조하고 있다면 COMMITED가 되며, 다른 connection에서 commit 했을 때에야 비로소 APPLIED가 됩니다. 이렇게 트랜잭션이 발생하면 iqmsg log에 " Txn 456311" 이라고 기록 됩니다.

TxnID 456311에서 발생되어진 명령어는 TxnID에 순차적으로 1씩 증가하여 자동으로 CmtID에할당됩니다. 예를 들어 TxnID가 456313에서 456321로 간 이유는 456313에서 write 작업을 수행하기 전에 많은 select 작업을 수행했기 때문입니다

위는 하나의 connection(ConnHandle 1550990889)이 5개의 트랜잭션을 발생시켜 그 중에 4개는 commit 되고 (State가 APPLIED이므로 version이 발생하지 않았음) 하나는(TxnID 456337) 현재 begin transaction 중입니다.

Page 143: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqtransaction

예)

Page 144: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqview

syntaxsp_iqview [view-name] , [view-owner], [view-type] ;sp_iqview [view_name = ' view-name' ] , [view_owner = ' view-owner' ],

[view_type = ' SYSTEM | ALL | IQ' ];

특정 뷰에 대한 다음과 같은 상태를 출력합니다

컬럼 이름 설명

view_name 뷰의 이름

view_owner 뷰의 소유자

view_def Create view statement

remarks comment 명령어에 의해 표현된 주석

Page 145: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

sp_iqview

예)

Page 146: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

Memory config

Page 147: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

buffer or buffer cache: 데이터베이스로 부터 읽거나 쓸 때 데이터가 압축되지 않은 상태로 메모리에 저장되는 공간을 buffer 혹은 buffer cache라고 하며 IQ Main Store를 위한 Main buffer cache와 IQ Temporary Store를 위한 Temporary buffer cache로 나뉘어 집니다.

page size : 데이터베이스 생성시에 IQ page size 라는 옵션에 의해 그 크기가 결정되며그에 따라 압축율도 결정됩니다.

block : SYBASE IQ에서 디스크에서 메모리로 읽고 쓰는 I/O를 위한 최소 단위를 block 이라고 합니다.

block size : 일반적으로 (page size)/16이 block size 이며 CREATE DATABASE에의해 결정됩니다.

active user : SYBASE IQ에 접속하여 질의를 수행하는 사용자를 말하며 일반적으로active user 당 5MB ~ 10MB 정도의 추가 메모리를 사용합니다.

Page 148: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

buffer cache

Main buffer cache데이터베이스가 기동할 때 초기화 되며 디폴트로는 8MB 입니다.서버 옵션 중에 Main_Cache_Memory_MB 값의 변경에 의해 크기를 변경할 수 있으며 변경된 값은 다음에 서버가 재 기동할 때 적용됩니다.서버 기동 파라미터중에 -iqmc 값에 의해 Main_Cache_Memory_MB 값에 우선해서 적용할 수도 있습니다.일반적으로 총 사용 가능한 cache 중에 40%를 적용하지만 경우에 따라서는 변경해줄 수도 있습니다.

Temporary buffer cache데이터베이스가 기동할 때 초기화 되며 디폴트로는 4MB 입니다.이 영역에서는 join, grouping, sorting과 같은 임시적인 작업이 진행됩니다.서버 옵션 중에 Temp_Cache_Memory_MB 값의 변경에 의해 크기를 변경할 수 있으며 변경된 값은 다음에 서버가 재 기동할 때 적용됩니다.서버 기동 파라미터중에 -iqtc 값에 의해 Temp_Cache_Memory_MB 값에 우선해서적용할 수도 있습니다.일반적으로 총 사용 가능한 cache 중에 60%를 적용하지만 경우에 따라서는 변경해줄 수도 있습니다.

Page 149: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

memory config

SYBASE IQ가 설치되어 사용중인 H/W의 메인 메모리 중에서 SYBASE IQ의 Main buffer cache와 Temp buffer cache의 값을 최대한으로 사용하려면 메모리를 사용하는다른 구성 요소들을 이해해야 합니다.

Operating System & Other Application

SYBASE IQ Server

SYBASE IQ Memory Overhead

SYBASE IQ Main Buffer Cache

SYBASE IQ Temp Buffer Cache

Operating System & Other Application

SYBASE IQ Server

SYBASE IQ Memory Overhead

SYBASE IQ Main Buffer Cache

SYBASE IQ Temp Buffer Cache

virtual memory

physical memory

100101100101

100101100101

100101100101

100101100101

100101100101

100101100101

Swap partition

Page 150: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

memory config detail

Operating system and other applicationsUnix : 플랫폼별로 다양하지만 일반적으로 60MB 정도를 사용합니다.WinNT : 30MB + (4MB + total memory 0.25) 정도를 사용합니다.필요에 따라 query tool, middleware, olap server등과 구성 요소들이 포함될 수 있는데 이것들의 메모리 사용량은 별도로 계산해야 합니다.

SYBASE IQ server플랫폼별로 다양하지만 일반적으로 30 MB 정도를 사용합니다.

SYBASE IQ memory overheadactive user : active user 당 5MB ~ 10MB정도를 사용합니다

load 작업 : 서버 옵션중 Load_Memory_MB에 설정된 값을 사용합니다. 초기값은 0, 즉 무제한으로 사용하므로 변경할 것을 권장합니다. IQ Main/Temp Store로 file system 사용시 : 메인 메모리의 30%를 file buffer 공간으로 추가 사용합니다.

SYBASE IQ main/temp buffer cachemain buffer cache : 일반적으로 남아 있는 메모리의 40% 정도를 설정합니다.temp buffer cache : 일반적으로 남아 있는 메모리의 60% 정도를 설정합니다.

Page 151: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

memory config example

Unix server

Memory Use RawPartition(MB)

UNIX FileSystem(MB)

AmountUsed(MB)

Memory available with…

1. Total (in MB)

2. O/S

3. SYBASE IQ Server

4. UFS overhead (30% of step 3)

5. SYBASE IQ active users (10 users)

6. Load_Memory_MB

7. Available for caches

8. Main cache MB (40% of step 7)

9. Temp cache MB (60% of step 7)

60

30

273

50

100

1000

940

910

1000

940

910

860

760

637

587

487

760

304

465

487

195

292

Page 152: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

setting options

Load memory overheadset option "public".Load_Memory_MB = #_of_MB

Main buffer cacheset option "public".Main_Cache_Memory_MB = #_of_MB

Temp buffer cacheset option "public".Temp_Cache_Memory_MB = #_of_MB

필요하면 buffer cache 크기가 크면 클수록 I/O를 적게 유발하여 좋은 성능을 유지하지만실제 메모리를 초과하여 설정하면 swap으로 paging 현상이 발생하여 오히려 성능이 저하됩니다.

메모리를 재설정하고 나면 로드나 질의시 swaping 이나 paging 여부를 유심히 관찰해야합니다.

참고swaping : process 전체가 swap 영역으로 이동합니다paging : process가 사용하는 영역중 일부 페이지만 swap 으로 이동합니다.

Page 153: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

viewing buffer cache size

sp_iqstatus

- IQ Main Cache : 500 MB- IQ Temp Cache : 500 MB

Page 154: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

User/Group

Page 155: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

SYBASE IQ를 설치하면 dba라는 사용자가 자동으로 생성되며 dba는 가장 높은 권한을소유한 SYBASE IQ의 super user이고 비밀번호는 SQL이 자동 할당 됩니다.

dba 권한을 가진 사용자가 각 사용자 및 권한을 관리하기 위해 개별 사용자를 생성할 수도 있고 권한을 부여할 수 도 있습니다.

사용자를 생성할 수 있는 방법은 아래처럼 두 가지가 있으며 sp_iqaddlogin은 12.5에서새로 만들어진 기능 향상된 방법이기에 권장합니다.

syntax1GRANT CONNECT TO user-name IDENTIFIED BY password;

user-name : 사용자 계정password : 계정의 비밀번호 (128 문자까지 가능)

이미 존재하는 사용자에 대해 사용하면 그 사용자의 비밀번호를 변경하는 것이며IDENTIFIED BY절을 생략하여 만들어진 사용자는 접속이 불가능하기 때문에 주의해야합니다.

이 방법을 사용하면 새로 추가된 비밀번호 만기, 같은 사용자명을 가진 동시 접속자 수 제한 등과 같은 기능을 사용할 수 없으며 이를 이용하려면 sp_iqaddlogin 다시 한번 실행해주면 됩니다.

Page 156: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

syntax2sp_iqaddlogin user-name, password [,number-of-connections] [,password-expiration] ;

user-name : 사용자 계정password : 계정의 비밀번호 (128 문자까지 가능)number-of-connections : 해당 user-name으로 동시에 접속할 수 있는 접속자 수password-expiration : 비밀번호 만기 일자

이 방법을 사용해서 비밀번호 만기, 같은 사용자명을 가진 동시 접속자 수 제한 등과 같은기능을 사용하려면 선행작업으로 sp_iqmodifyadmin 을 이용하며 기능을 활성화 시켜야합니다.

현재 설정 값을 확인하시려면 IQ_SYSTEM_LOGIN_INFO_TABLE 테이블의 내용을 확인하시면 됩니다. 즉 user_admin_enabled 값이 기본적으로 N 으로 되어 있는데 Y로 설정되어야 해당 기능들을 사용하는 사용자를 생성할 수 있습니다.

사용자별 비밀번호 만기, 같은 사용자명을 가진 동시 접속자 수 제한과 같은 기능의 설정확인은 IQ_USER_LOGIN_INFO_TABLE 테이블을 통해서 할 수 있습니다. 또한 비밀번호 만기까지 남은 일수 확인은 sp_iqlistpasswordexpirations를 통해 할 수 있습니다.

다음과 같은 옵션을 통해 비밀번호의 최소길이를 설정할 수 있습니다.set option PUBLIC.Min_Password_Length=integer;

Page 157: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

syntax1 예) GRANT CONNECT TO laura_smith IDENTIFIED BY secret;// 주의 : 만약 laura_smith라는 사용자가 이미 존재한다면 위와 같은 명령어는// laura_smith의 비밀번호를 변경하는 원하지 않는 결과를 유발할 수 있습니다

syntax2 예)sp_iqaddlogin laura_smith, secret, 10, 100;// laura_smith 라는 사용자는 비밀번호가 secret이며 같은 사용자명으로 10 세션이// 접속 가능하며 현재의 비밀번호는 100일간 유효합니다.// 비밀번호 기간이 만료되기 전에 서버로그 파일에 경고 메시지가 출력됩니다.

Page 158: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

GRANT CONNECT vs. sp_iqaddlogin

GRANT CONNECT로 등록한 사용자는 sysuserperm 이라는 시스템 테이블에만 등록되나 sp_iqaddlogin 으로 등록한 사용자는 IQ_USER_LOGIN_INFO_TABLE 이라는 시스템 테이블과 sysuserperm 이라는 시스템 테이블에 동시에 등록합니다.

sp_iqmodifyadmin을 이용해서 사용자 관리 기능을 활성화 시킨 상태에서는 GRANT CONNECT로 등록된 사용자는 접속할 수 없습니다. 이를 가능하게 하려면 GRANT CONNECT로 등록된 사용자에 대해서도 추가적으로 sp_iqaddlogin을 실행해야 합니다.

사용자 관리 기능은 12.5 이전 버전에서 업그레이드한 사용자를 위해 비활성화 상태가 기본이나 새로 구성할 때나 사용자 관리 기능을 사용하고자 할 때는 sp_iqaddlogin의 사용을 권장합니다.

Page 159: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

사용자의 비밀번호를 변경할 수 있는 방법은 아래처럼 두 가지가 있으며 sp_iqpassword는 12.5에서 새로 만들어진 기능 향상된 방법이기에 권장합니다.

dba 를 제외한 사용자는 자신의 비밀번호만 변경이 가능하며 dba의 비밀번호 분실시는복구가 불가능하므로 주의 바랍니다.

syntax1GRANT CONNECT TO user-name IDENTIFIED BY password;

user-name : 이미 존재하는 사용자 계정password : 계정의 비밀번호

첫번째 방법에 의해서는 해당 사용자의 비밀번호만 변경이 가능하며 이렇게 변경된 비밀번호는 만약 해당 사용자가 sp_iqaddlogin을 통해 비밀번호 만기일자 기능이 설정되어있다고 하더라도 그 효력이 없으니 주의하시기 바랍니다.

syntax2sp_iqpassword caller-password, new-password [, user-name ];

caller-password : 이 명령어를 실행하는 사용자의 현재 비밀번호new-password : 비밀번호 변경대상 사용자의 새로운 비밀번호user-name : 비밀번호 변경대상 사용자 계정

이렇게 변경된 비밀번호는 비밀번호 만기일자의 시작 시점이 됩니다.

Page 160: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

syntax1 예) GRANT CONNECT TO laura_smith IDENTIFIED BY topsecret;// 주의 : 만약 laura_smith라는 사용자는 반드시 존재해야 합니다.

syntax2 예)sp_iqpassword secret, topsecret, laura_smith;// laura_smith 본인이 자신의 비밀번호를 변경합니다.

sp_iqpassword SQL, topsecret, laura_smith;// dba가 laura_smith 의 비밀번호를 변경합니다.

Page 161: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

사용자의 변경 가능한 속성으로는 비밀번호 만기, 같은 사용자명을 가진 동시 접속자 수제한이 있으며 dba 권한을 가진 사용자만이 실행할 수 있습니다.

비밀번호 만기 된 사용자 목록은 sp_iqlistexpiredpasswords를 통해 조회할 수 있습니다.

syntaxsp_iqmodifylogin user-name | all overrides,

number-of-connections ,password-expiration; user-name : 속성 변경대상 사용자 계정. all override는 dba 제외한 모든 사용자number-of-connections : 해당 user-name으로 동시에 접속할 수 있는 접속자 수password-expiration : 비밀번호 만기 일자

예)sp_iqmodifylogin laura_smith, 20, 200;

Page 162: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

여러 가지 이유로 특정한 사용자의 접속을 임시로 차단할 수 있으며 또한 이렇게 차단된사용자를 다시 접속 가능하게 할 수도 있습니다.

이렇게 임시 접속 차단된 사용자의 목록은 sp_iqlistlockedusers를 통해 조회할 수 있습니다.

syntaxsp_iqlocklogin user-name, lock | unlock

user-name : 임시 접속 차단 대상 사용자

예)sp_iqlocklogin laura_smith, lock;

Page 163: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

setuser

DBA 권한을 가진 사용자가 현재 세션을 종료하지 않고 다른 사용자의 역할을 대신할 수있는 구조를 지원하고 있습니다.

다른 사용자의 역할을 대신할 때 옵션에 따라 그 사용자의 권한만 대신할 수도 있고 그 사용자에게 설정된 옵션도 대신할 수 있습니다.

syntaxSET SESSION AUTHORIZATION | SETUSER [ WITH OPTION ] user-name ;

예)SETUSER 'Joe' ; // Joe 라는 사용자로 역할 변경…… // Joe 라는 사용자로 작업SETUSER ; // DBA로 다시 역할 변경

Page 164: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

사용자를 삭제할 수 있는 방법은 아래처럼 두 가지가 있으며 sp_iqdroplogin은 12.5에서새로 만들어진 기능 향상된 방법이기에 권장합니다.

REVOKE CONNECT를 통해 사용자를 삭제하면 sp_iqaddlogin을 통해 만들어진 사용자의 정보는 IQ_USER_LOGIN_INFO_TABLE에는 그대로 살아있습니다. 이 테이블에서의 정보까지 삭제하려면 두 번째 방법을 사용해야 합니다.

syntax1REVOKE CONNECT FROM user-name;

syntax2sp_iqdroplogin user-name;

syntax1 예)REVOKE CONNECTION FROM laura_smith;

syntax2 예)sp_iqdroplogin laura_smith;

Page 165: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

개별 사용자들을 집합으로 묶어 관리를 편리하게 위해 만들 수 있으며 그룹에게 어떤 권한을 주면 그룹 구성원 모두가 그 권한을 상속 받게 됩니다. 그룹은 개별 사용자처럼 로그인 할 수도 있고 그냥 그룹으로 로그인 못 할 수도 있습니다

SYBASE IQ에 자동으로 생성되는 다음과 같은 특별한 그룹이 존재합니다.sys : system 테이블, 뷰의 소유자로 비밀번호가 없고 SYBASE IQ로 로그인할 수는없습니다.public : sys 그룹의 구성원이며 새로 생성된 모든 사용자는 디폴트로 public 그룹의구성원이 됩니다.

syntax GRANT GROUP TO user-name;

예) GRANT CONNECT TO marketing; GRANT GROUP TO marketing;// connect 불가한 오직 그룹을 위한 사용자

예)GRANT CONNECT TO marketing IDENTIFIED BY thebestteam; GRANT GROUP TO marketing;// connect가 가능한 사용자겸 그룹

Page 166: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

특정한 그룹에 특정한 사용자 혹은 그룹을 해당 그룹의 구성원으로 등록할 수 있습니다.

syntax GRANT MEMBERSHIP IN GROUP group-name TO user-name;

예) GRANT MEMBERSHIP IN GROUP marketing TO laura_smith;

특정한 그룹에서 특정한 그룹 구성원을 제거할 수 있습니다.

syntax REVOKE MEMBERSHIP IN GROUP group-name FROM user-name;

예) REVOKE MEMBERSHIP IN GROUP marketing FROM laura_smith;

Page 167: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

그룹 구성원과 object를 소유하지 않은 그룹은 삭제될 수 있습니다.

syntax REVOKE GROUP FROM user-name;

예) REVOKE GROUP FROM marketing;REVOKE CONNECT FROM marketing;

Page 168: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

permission

GRANT 문을 이용해서 테이블이나 뷰에 대한 ALTER, DELETE, UPDATE, INSERT, REFERENCES, SELECT permission을 사용자나 혹은 그룹에게 부여할 수 있습니다. 참고로 이런 permission을 부여 받았다고 테이블을 생성할 수 있는 것은 아닙니다.

ALL 이라는 keyword를 이용해 위에서 언급한 모든 permission을 부여할 수 있습니다

syntaxGRANT ALL | ALTER | DELETE | INSERT | REFERENCES | UPDATE |

SELECT [ ( column-name [ , . . . . ] ) ] ON table-name TO user-name [,…][ with grant option ];

예)GRANT SELECT ON customer TO laura_smith; // customer 테이블을 읽을 수 있는 permission을 laura_smith에게 부여합니다.

REVOKE 문을 이용해서 인가된 permission 을 취소할 수 있습니다.

syntaxREVOKE ALL | ALTER | DELETE | INSERT | REFERENCES | UPDATE |

SELECT [ ( column-name [ , . . . . ] ) ] ON table-name FROM user-name [,…]

예)REVOKE SELECT ON customer FROM laura_smith;

Page 169: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

stored procedure permission

특정 stored procedure에 대해 실행할 수 있는 EXECUTE 권한을 사용자나 혹은 그룹에게 부여할 수 있습니다.

참고로 이런 권한 부여 받았다고 stored procedure를 생성할 수 있는 것은 아닙니다.

syntaxGRANT EXECUTE ON procedure-name TO user-name;

예)GRANT EXECUTE ON my_procedure TO laura_smith;

REVOKE 문을 이용해서 인가된 permission 을 취소할 수 있습니다.

syntaxREVOKE EXECUTE ON procedure-name FROM user-name;

예)REVOKE EXECUTE ON my_procedure FROM laura_smith;

Page 170: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

사용자에게 부여할 수 있는 권한으로는 테이블이나 뷰 혹은 stored procedure와 같은object를 생성할 수 있는 RESOURCE 권한과 dba 역할을 할 수 있는 DBA 권한이 있습니다.

GRANT를 통해 특정 사용자 혹은 그룹에게 RESOURCE나 dba 권한을 부여할 수 있습니다.

syntaxGRANT RESOURCE | DBA TO user-name;

예)GRANT RESOURCE TO laura_smith;

REVOKE 문을 이용해서 부여된 권한을 취소할 수 있습니다.

syntaxREVOKE RESOURCE | DBA FROM user-name;

예)REVOKE RESOURCE FROM laura_smith;

Page 171: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

: resource

Max_Query_Time : 사용자별로 혹은 모든 사용자의 질의 사용시간을 제한할 수 있습니다. 만약 설정된 시간보다 오래 수행되는 질의는 적절한 오류 메시지를 출력하고 취소됩니다. 기본 값은 질의의 수행시간에 제약이 없는 0입니다.

Max_Cartesian_Result : 사용자별로 혹은 모든 사용자의 질의중 Cartesian 조인의 결과가 설정된 건수보다 많다면 그 질의는 적절한 오류 메시지를 출력하고 취소됩니다. 기본값은 100,000,000 입니다.

Max_IQ_Threads_Per_Connection : 사용자가 connection당 이용할 수 있는 쓰레드의수를 설정된 값으로 제한할 수 있습니다. 기본 값은 모든 사용자에게 72입니다.

Load_Memory_MB : 적재를 포함하여 입력,수정,삭재할 때 사용되는 heap 메모리의 한계 값을 설정된 값으로 제한할 수 있습니다. 기본 값은 0으로 제한이 없습니다.

Query_Temp_Space_Limit : 사용자별로 혹은 모든 사용자의 질의중 임시 결과 값을 저장하기 위해 설정된 값보다 많은 Temp Store를 사용하면 적절한 오류 메시지를 출력하고 취소됩니다. 기본 값은 2000MB 입니다.

Query_Rows_Returned_Limit : 사용자별로 혹은 모든 사용자의 질의중 결과 값으로설정된 값보다 많은 건수를 산출하면 적절한 오류 메시지를 출력하고 취소됩니다. 기본값은 0으로 제한이 없습니다.

Page 172: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

: synonym

다른 사용자의 테이블을 사용하기 위해서는 원칙적으로 owner.table-name으로 테이블이름을 기술하여야 합니다. 아래 예는 다른 사용자의 테이블 사용할 때도 owner의 기술없이 사용하고자 하는 경우의 절차입니다.

사용자겸 그룹을 하나 만들어서 그 사용자가 테이블을 생성합니다.GRANT CONNECT TO marketing IDENTIFIED BY iq_is_fast; // by dba혹은 sp_iqaddlogin marketing, iq_is_fast; // by dbaGRANT GROUP TO marketing; // by dbaGRANT RESOURCE TO marketing; // by dbaCREATE TABLE marketing_tbl … … ; // by marketing

dba는 사용자를 새로 만들어서 먼저 만든 그룹에 구성원으로 등록합니다GRANT CONNECT TO marketing_member IDENTIFIED BY iq_is_fast; GRANT MEMBERSHIP IN GROUP marketing TO marketing_member;

dba나 marketing 사용자겸 그룹은 marketing_tbl 테이블의 SELECT 권한을 소속 구성원에게 부여합니다GRANT SELECT ON marketing_tbl TO marketing_member;

이제 marketing_member라는 사용자는 marketing_tbl 테이블을 owner 명 없이 마치자기가 만든 테이블처럼 직접 액세스 할 수 있습니다.SELECT * FROM marketing_tbl;

Page 173: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

Security

Page 174: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

12.6 부터 stored procedure, function, view와 같은 오브젝트의 DDL을 다른 사용자가볼 수 없게 암호화해서 저장할 수 있습니다.

그렇지만 이때 암호화된 소스는 복호화가 되지 않기 때문에 주의해서 사용해야 합니다.

syntaxALTER PROCEDURE [owner.]procedure-name SET HIDDEN;ALTER FUNCTION [owner.]function-name SET HIDDEN;ALTER VIEW view-name SET HIDDEN;

예)ALTER PROCEDURE sp_product_info SET HIDDEN;

Page 175: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

12.6 부터 .odbc.ini 와 같은 사용자 계정과 같은 민감한 정보를 저장하고 있는 텍스트 파일을 암호화할 수 있는 방법을 제공하고 있습니다.

dbfhide라는 유틸리티를 이용하여 대상 텍스트 파일을 암호화하여 사용할 수 있으며 이때 주의하실 점을 한번 암화화된 소스는 복호화되지 않습니다.

syntax% dbfhide source-file dest-file

예1)% dbfhide asiqdemo.cfg encrypted_asiqdemo.cfg% start_asiq @encrypted_asiqdemo.cfg

예2)% dbfhide .odbc.ini encrypted_odbc.ini% mv encrypted_odbc.ini .odbc.ini% dbisqlc -c dsn=asiqdemo ……

Page 176: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

IQ 클라이언트 환경에서 설정할 수 있는 방법

특정한 클라이언트가 IQ 서버와 암호화된 패킷을 주고 받고자 할 때 Encryption 이라는 connection parameter 값을 설정하여 사용할 수 있습니다.단, TDS 패킷은 암호화되지 않습니다.

TCP/IP 프로토콜 환경에서만 가능하며 지정할 수 있는 값은 NONE, SIMPLE, ECC_TLS, RSA_TLS 입니다.

예)"ENG=…;LINKS=tcpip;Encryption=RSA_TLS(trusted_certificates=sample.crt

"

IQ 서버 환경에서 설정할 수 있는 방법

IQ 서버와 모든 클라이언트 사이에 암호화된 패킷을 주고 받고자 할 때 서버 기동 옵션으로 -ec에 특정한 값을 설정하여 사용할 수 있습니다. 단, TDS 패킷은 암호화되지않습니다.

TCP/IP 프로토콜 환경에서만 가능하며 지정할 수 있는 값은 NONE, SIMPLE, ECC_TLS, RSA_TLS 입니다.

예)% start_asiq -ec ecc_tls(certificate=sample.crt;certificated_password=…..)

Page 177: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

CREATE DATABASE 명령어를 통해 카다로그 영역인 .db 파일을 읽을 수 없도록 암호화 할 수 있으며 다음과 같은 두가지 레벨이 있습니다.

Simple Encryption : 암호화할 때 key를 지정하지 않는 경우Strong Encryption : 128 bit 암호화 알고리즘과 security key를 지정한 경우

이렇게 암호화 했어도 적절한 권한을 가진 사용자가 SQL을 통해서는 카다로그 내용을 조회할 수 있습니다.

syntaxCREATE DATABASE database-name……ENCRYPTED ON | OFF | key-spec

예)CREATE DATABASE asiqdemo.db……ENCRYPTED ON ;

Page 178: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

Audit

보안체계를 강화하기 위해 12.6부터 감사기능이 제공되며 감사기능이 설정되면 특정한이벤트 혹은 모든 이벤트에 대한 자세한 정보를 transaction log에 기록합니다.

이렇게 감사기능을 설정하면 보안에 따른 장점은 있으나 약간의 성능 저하는 감수해야 합니다.

transaction log에 기록된 감사 정보는 dbtran 이라는 유틸리티를 통해 조회할 수 있으며감사되는 이벤트는 다음과 같습니다.

모든 connect 시도, 실패한 connect 시도, DDL, public 옵션에 대한 변경

setuser 시도, DBA 권한을 요청하는 모든 시도

Auditing 이라는 옵션을 On으로 설정하여 모든 이벤트에 대한 감사를 할 수 있고 On으로설정한 후 sa_enable_auditing_type 이라는 stored procedure를 통해 특정한 이벤트에 대한 감사를 지정할 수 있습니다.

예)SET OPTION PUBLIC.Auditing = 'On'; // 감사 시작

sa_disable_auditing_type('all'); // 모든 이벤트에 대한 감사 정지

sa_enable_auditing_type('connect'); // 성공된 connect만 감사

Page 179: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

Monitoring and Troubleshooting

Page 180: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

monitoring file

IQ message file, IQ server file등은 해당되는 파일 시스템의 크기까지 크기가 증가하기때문에 dba는 정기적으로 조절해 줘야 합니다.

SYBASE IQ가 비정상적으로 종료되면 core, stktrc.iq 라는 파일이 생성되는데 이 파일들도 정기적으로 관리해 줘야 합니다.

$ASTMP로 설정된 디렉토리의 크기가 너무 작으면 SYBASE IQ가 비정상 종료되기 때문에 역시 관리해줘야 합니다. 최소 4GB 정도는 유지하여 주십시오.

catalog 영역인 .db의 크기가 갑자기 크게 증가한다면 누군가 그 영역에 object를 생성해사용중인 것으로 간주해야 합니다.

Page 181: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

monitoring user

sp_iqconnection 라는 stored procedure 를 통해 현재 SYBASE IQ에 연결중인 사용자들을 모니터 할 수 있습니다.

Page 182: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

monitoring loading message

데이터의 로딩은 3과정으로 이루어 지며 디폴트로 100,000 건에 한번씩 로딩notification 정보를 IQ message file에 기록하며 notify 건수는 변경 가능합니다

phase 1 : 파일로부터 데이터를 읽어 LF, HNG, FP 인덱스를 기록합니다. 이 작업은일차적으로 main buffer cache에서 일어나며 디스크에도 기록이 됩니다.

phase 2 : HG 인덱스를 위해 temp buffer cache에서 sort 작업을 실시합니다. 물론HG 인덱스가 아닌 다른 인덱스는 phase 1을 계속 진행합니다.

phase 3 : HG 인덱스를 디스크에 기록합니다.

Page 183: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

monitoring message log

테이블에 INSERT/UPDATE/DELETE/LOAD 작업이 발생하면 IQ message log file에 이와 관련된 notification 정보가 쓰여집니다.

18 개 컬럼의 SALES_FACT 라는 테이블에full width 적재가 시작되며 parallel threadmode로 동작하고 있습니다. (참고 105Byte)

100,000 건당 걸린 시간을 표현하며notify option 으로 조절가능 합니다

SALES_FACT 테이블에 5,000,000건을 103초에적재/완료 하였다는 메시지입니다

Page 184: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

monitoring database-sp_iqcheckdb

데이터베이스의 모든 페이지를 디스크에서 메모리로 읽어 데이터베이스 할당정보의 일치성 오류(corrupt) 여부를 점검하며 복구도 가능합니다.

이 작업은 매우 많은 리소스와 시간을 소비하므로 실행하기 전에 충분히 숙지 하시고 사용하기 바랍니다.

실행 된 결과는 시스템에 저장되었다가 sp_iqdbstatistics가 실행되면 다시 보여집니다.

정확한 결과를 얻기 위해서는 checkpoint를 먼저 실행하고 실행하십시오.

기타 자세한 것은 매뉴얼을 참조하시기 바랍니다.

Page 185: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

monitoring database-sp_iqstatus

main/temp IQ Blocks used퍼센트 값이 높으면 그 만큼 많이 사

용중에 있으므로 추가 할당을 고려해야 합니다.

other versions이 영역의 값을 낮게 유지하려면

write 횟수를 줄여야 합니다. active한 트랜잭션이 참조되지 않으면 이 영역은 삭제되고 다른 영역으로 재할당가능합니다.

active txn versionsactive write 트랜잭션의 수와 데이

터 양에 대한 정보를 보여줍니다.

Page 186: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

monitoring buffer cache

SQL 명령어인 IQ Utilities를 통해 buffer cache의 성능을 모니터할 수 있으며 .db가 존재하는 디렉토리에 별도의 ASCII text 로그 파일이 생성됩니다

생성되는 파일은 다음 규칙에 의해 이름이 결정됩니다.main buffer cache : dbname.connection#-main-iqmontemp buffer cache : dbname.connection#-temp-iqmon

IQ Utilities를 사용하려면 반드시 한 개의 컬럼을 가진 더미 테이블이 존재해야 합니다.

start syntax IQ UTILITIES MAIN | PRIVATE INTO dummy-table-nameSTART MONITOR 'monitor-option,…..';

start 예) CREATE TABLE monitor_table ( a CHAR(1) );IQ UTILITIES MAIN INTO monitor_tableSTART MONITOR '-summary -interval 20';

Page 187: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

monitoring buffer cache

stop syntax IQ UTILITIES MAIN | PRIVATE INTO dummy-table-nameSTOP MONITOR;

stop 예) IQ UTILITIES MAIN INTO monitor_tableSTOP MONITOR;Active Main Cache Users Finds HR% R/W Gdirty Pin% Dirty% InUse%0 7639 82.9 3261/15 4 0.0 0.6 1000 0 0.0 0/0 0 0.0 0.6 1000 0 0.0 0/0 0 0.0 0.6 1001 31 96.8 1/0 0 0.0 0.6 1001 250 87.6 31/0 0 0.0 0.6 100

Page 188: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

using system utilities

Unix : 아래 기술된 툴들을 같이 사용하시면 많은 도움이 됩니다psvmstatsartopstat

WinNT : 아래 기술된 툴들을 같이 사용하시면 많은 도움이 됩니다Performance monitorTask manager

Page 189: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

troubleshooting

SYBASE IQ Server가 기동 되지 않을 때

이미 기동 되어 있지 않은지 점검해 봅니다.

트랜잭션 로그 파일의 내용과 데이터베이스가 일치하는지 점검해 봅니다.

기동할 수 있는 적절한 권한을 가진 사용자 인지 점검해 봅니다

필요한 환경변수가 적절히 설정되었는지 점검해 봅니다

네트워크이 잘 동작하는지 점검해 봅니다

설정된 메모리가 사용 가능한 메모리 용량을 초과했는지 점검해 봅니다.

Page 190: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

troubleshooting

사용자가 데이터베이스를 적절히 액세스하지 못할 때

연결 가능한 적절한 사용자 ID와 비밀번호를 가지고 있는지 점검해 봅니다

현재 서버의 상태가 dba use only 상태인지 점검해 봅니다.

ODBC 설정 혹은 연결 파라미터를 올바르게 했는지 점검해 봅니다

현재 데이터베이스가 restore 상태인지 점검해 봅니다.

데이터베이스 object에 적절한 권한을 가지고 있는지 점검해 봅니다.

Page 191: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

troubleshooting

적재하는 동안 데이터베이스의 용량이 부족할 때

적재작업은 추가 사용 용량이 가능할 때까지 suspend 상태로 있습니다.

versioning이 많이 발생하여 용량이 부족한지 sp_iqstatus로 확인합니다.

CREATE DBSPACE 명령어를 통해 충분한 크기의 디스크를 추가해 줍니다.

Page 192: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

troubleshooting

SYBASE IQ Server의 처리 속도가 느려지거나 hang 현상이 일어날 때

개별 사용자에게만 발생하는 현상인지 사용자 모두에게 발생하는 현상인지 점검합니다.

메모리가 부족하여 paging 이 과도하게 발생하고 그 결과로 thrashing 현상이 발생하는지 점검합니다

buffer cache의 크기가 너무 크거나, 너무 작게 설정되었는지 점검합니다

특정한 질의가 수행될 때만 발생한다면 해당되는 테이블의 인덱스 corrupt 여부를 점검해 봅니다.

플랫폼별 설치 가이드나 혹은 담당 엔지니어의 권장사항에 따라 patch나 커널 파라미터가 올바르게 설치 혹은 변경 되었는지 점검해 봅니다.

Page 193: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

reporting problem to technical support

다음과 같은 정보를 취합해서 담당 엔지니어나 Help Desk에 연락해 주세요

싸이트명플맷폼 명, OS, 버전sp_iqstatus 결과IQ Message log (dbname.iqmsg)IQ Server log (servername.###.srvlog, servername.###.stderr)OS error logServer config file (dbname.cfg)stktrc-YYYYMMDDHHNNSS_#.iqdbname.dbquery planz log file재현 가능한 시나리오

참고 : 12.5 이상에서는 $ASDIR/bin/getiqinfo.sh를 실행하시면 됩니다.

Page 194: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

: stack trace

12.6 부터 IQ 서버에 hang과 같은 현상의 원인파악을 위해 임의로 stack trace를 발생시킬 수 있는 기능을 제공하고 있습니다.

$ASDIR/logfiles 디렉토리에 DumpAllThreads라는 파일을 생성하면 IQ 서버가 이를 감지하고 IQ 서버가 기동된 디렉토리에 stktrc-YYYYMMDDHHNNSS_#.iq라는 디버그 파일을 생성합니다. 단, DumpAllThreads 파일이름의 대소문자에 주의

디버그 파일을 생성하고 DumpAllThreads라는 파일은 IQ 서버가 자동으로 삭제하지만만일의 경우에 대비하여 존재여부를 확인해 주시기 바랍니다.

stktrc-YYYYMMDDHHNNSS_#.iq 파일은 SYBASE 고객센타로 보내주시기 바랍니다.

Page 195: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

Backup and restore

Page 196: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

overview

디스크나 시스템의 장애에 대비하여 SYBASE IQ의 catalog store와 IQ main store를 디스크나 테이프에 따로 저장하는 방법을 말합니다.

백업이 시작되기 전 commit된 데이터만 백업하며 백업이 수행되는 중에 commit된 데이터는 다음 백업에 반영됩니다.

백업의 속도를 높이기 위해 여러 개의 디바이스에 분산하여 동시에 백업을 하는 것이 좋고 이 때 catalog store는 첫번째 디바이스에 백업되며 IQ main store의 데이터는 여러디바이스에 분산되어 동시에 백업됩니다.

IQ Main Store

Catalog Store One or more archives

. . .

Page 197: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

Built-in 백업 : SYBASE IQ의 백업 명령어를 통해 실행되는 백업 형태입니다.

full : 백업의 디폴트 형태며 Catalog Store, IQ Main Store 전체를 백업합니다

incremental : Catalog Store는 전체를 백업하며 IQ Main Store 는 어느 종류의 백업에 관계없이 마지막 백업한 이후에 변경분만을 백업합니다.

incremental-since-full : Catalog Store는 전체를 백업하며 IQ Main Store는 마지막 full 백업한 이후의 변경분만을 백업합니다.

Virtual 백업 : SYBASE IQ의 main store는 O/S나 디스크의 백업 명령어를 통해서, 카다로그 정보는 IQ의 명령어를 통해서 실행되는 백업 형태이며 적극 권장합니다.

O/S : dd와 같은 O/S 명령어를 통해 백업합니다.

디스크 : EMC, Hitachi 등과 같은 디스크 업체에서 제공하는 디스크 솔루션을 통해백업합니다.

Page 198: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

디스크, DLT 테이프, 4mm DDS, 8mm, stacker등 일반적으로 사용되어지는 모든 디바이스가 지원 가능합니다.

Built-in 명령어를 이용한 3rd party 백업 툴과의 연동은 Veritas NetBackup 만 가능하며single stream만 지원합니다.

Virtual backup 을 이용한 3rd party 백업 툴과의 연동은 Veritas NetBackup, BMC SQL Back Track, Legato NetWorker등과 같은 모든 상용 백업 툴을 지원합니다.

참고 : Built-in 백업할 때 지원되지 않는 디바이스

jukeboxrobotic loaderQIC drive

Page 199: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

syntax

syntaxBACKUP DATABASE

[ CRC On | Off ][ ATTENDED On | Off ][ BLOCK FACTOR integer-value ][ FULL | INCREMENTAL | INCREMENTAL SINCE FULL ]TO 'archive-device' [ SIZE #-of-KB ]

[ STACKER #-of-tapes-in-stack ][ WITH COMMENT 'comment' ]

CRC : 32bit CRC 검사 수행여부를 설정하며 디폴트는 on 입니다.

ATTENDED : 추가적인 테이프가 필요할 때 관리자의 개입 여부를 설정합니다.

BLOCK FACTOR : 한번에 write 하는 블록의 수 입니다. 크기를 크게 하면 속도는향상되지만 메모리를 많이 사용하므로 주의 바랍니다. 권장 값은 25 이상 입니다.

SIZE : 백업되는 데이터의 최대 크기를 지정해 줍니다. 디폴트는 2GB이고 이를 초과할 때는 반드시 기술해야 합니다.

STACKER : stacker device에 존재하는 테이프의 수를 지정해 줍니다.

Page 200: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

syntax

예)BACKUP DATABASE

BLOCK FACTOR 50FULL TO '/dev/rmt/0n' SIZE 40000000TO '/dev/rmt/1n' SIZE 40000000TO '/dev/rmt/2n' SIZE 40000000WITH COMMENT '03/17 Full backup of asiqdemo !!!';

백업이 정상적으로 완료될 때 $ASDIR/logfiles/backup.syb 파일에 아래와 같이 백업을완료한 시간과 추가적인 정보를 기록합니다.

BACKUP, 2.0, asiqdemo.db, ASIQ, '2004-03-16 15:15:00.000', DBA, Full, Arch, /dev/rmt/0m, ''BACKUP, 2.0, asiqdemo.db, ASIQ, '2004-03-16 15:22:00.000', DBA, Full, Arch, /dev/rmt/0m, ''BACKUP, 2.0, asiqdemo.db, ASIQ, '2004-03-16 15:38:00.000', DBA, Full, Arch, /dev/rmt/0m, ''…………

Page 201: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

virtual

Virtual 백업 유틸리티는 DB 백업 기능의 효율성을 증대하기 위한 방법으로 제공됩니다. 3rd party 백업 툴과의 직접적인 Interfaces를 하지 않고도 완벽한 backup기능을 제공하고 있습니다.

백업이 진행중인 상태에서도 insert, update, delete,select 와 같은 모든 작업이 가능하며 이런 백업 중에 발생된 데이터는 다음 백업에 반영됩니다.

SYBASE IQ는 catalog store, transaction log, block map & free list 등 아주 적은 양의 시스템 정보를 백업하고 OS나 디스크 솔루션을 통해 IQ main store를 백업합니다.

모든 IQ main store는 OS 명령어를 이용하여 multi-stream으로 다수의 테이프나 파일로백업할 수 있고 이때 3rd party 백업 툴을 사용할 수 있습니다.

백업이 진행되는 동안 클라이언트의 Checkpoint 명령어는 백업 종료 후로 연기됩니다.

Restore시에는 SYBASE IQ에서 백업된 catalog store, transaction log, block map & free list 등의 정보를 이용하여 완벽한 복구를 보장합니다.

SYBASE IQ를 백업하기 위해 다운타임을 고려할 필요가 없이 24 * 7의 가용성을 제공할수 있습니다.

Page 202: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

virtual

Virtual 백업 명령어set temporary option Virtual_Backup = 'On';set temporary option Backup_Exec_Cmd = 'virtual_backup.sh';BACKUP DATABASE FULL TO '/asiq125/Backup/catalog.dmp';

virtual_backup.sh의 내용cp /asiq125/DEV/IQ125.IQ1 /asiq125/Backup/IQ125.dmp1 cp /asiq125/DEV/IQ125.IQ2 /asiq125/Backup/IQ125.dmp2

처리과정

백업이 시작되기 전에 checkpoint가 실행되어 그 때까지 commit된 데이터만 백업합니다.BACKUP DATABASE 명령어에서 지정된 파일이나 디바이스로 catalog store, transaction log가 백업됩니다.각 dbspace의 block map과 free list 정보가 지정된 파일이나 디바이스로 백업 됩니다.IQ 백업 처리 루틴은 Backup_Exec_Cmd 옵션에 설정 된 virtual_backup.sh 파일을 실행합니다.virtual_backup.sh 파일의 return status를 점검하고 백업이 종료됩니다.

Page 203: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

3rd party backup tool virtual backup

Virtual 백업 명령어set temporary option Virtual_Backup = 'On';set temporary option Backup_Exec_Cmd = 'veritas_netbackup.sh';BACKUP DATABASE FULL TO '/asiq125/Backup/catalog.dmp';

veritas_netbackup.sh의 내용/usr/openv/netbackup/bin/bpbackup -p online_iq -s user -w /dev/rlv00 &/usr/openv/netbackup/bin/bpbackup -p online_iq -s user -w /dev/rlv01 &/usr/openv/netbackup/bin/bpbackup -p online_iq -s user -w /dev/rlv02 &/usr/openv/netbackup/bin/bpbackup -p online_iq -s user -w /dev/rlv03 &/usr/openv/netbackup/bin/bpbackup -p online_iq -s user -w /dev/rlv04 &/usr/openv/netbackup/bin/bpbackup -p online_iq -s user -w /dev/rlv05 &/usr/openv/netbackup/bin/bpbackup -p online_iq -s user -w /dev/rlv06 &

wait Netbackup

명령어IQ main store

raw device

Page 204: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

restore -

restore를 시작하기 전에 다음과 같은 주의사항이 있습니다.

데이터베이스 관리자 권한을 가진 사용자만 restore 할 수 있습니다

restore 되고 있는 동안 다른 사용자들은 데이터베이스에 접속할 수 없습니다

full restore를 위해서는 catalog store(dbname.db)와 transaction log (dbname.log) 파일이 있어서는 안됩니다.

incremental restore를 위해서는 catalog store(dbname.db)과 transaction log (dbname.log) 파일이 반드시 존재해야 합니다.

Page 205: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

restore - syntax

syntaxRESTORE DATABASE 'db-name'FROM 'archive-device-name' [ FROM 'archive-device-name' ]

[ RENAME dbspace_name TO 'new-dbspace-path' ][ CATALOG ONLY ]

CATALOG ONLY : 데이터를 restore 하는 대신 단지 헤더 정보만 보여줍니다RENAME : sysfile의 dbspace_name 컬럼에 해당하는 file_name 컬럼의 위치를 다른 곳으로 옮기고자 할 때 사용합니다. 이 때 transaction log는 사용 불가능 합니다.

예)RESTORE DATABASE 'mydb.db'FROM '/dev/rmt/0m'CATALOG ONLY;

Page 206: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

moving database file

예)RESTORE DATABASE 'salesdb.db' FROM '/dev/rmt/0m'RENAME '/s1/sales1.db' TO '/s2/sales1.db' ;

sales1.db

sales2.db

/s1/sales1.dbrestored to s2

/s2/sales2.dbrestored tooriginal spot

bad

S2 S1

Page 207: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

dblog

새로운 데이터베이스 이름으로 restore 했을 때나 restore…rename을 통해 restore 한이후에 dblog 유틸리티를 사용하여 transaction log의 이름을 변경할 수 있습니다.

또한 이 유틸리티는 transaction log와 관련된 유용한 정보를 볼 수도 있고 transaction log를 mirroring 시킬수도 있습니다.

syntax % dblog [-m -n -q -o -r -t ] database-file

-m mirror-name : transaction log의 mirror file 명을 지정합니다.-n : transaction log나 mirror를 더 이상 사용하지 않습니다.-q : quite mode로 메시지를 출력하지 않습니다.-o file-name : output 메시지를 file-name에 출력합니다.-r : mirror를 더 이상 사용하지 않습니다.-t log-name : transaction log 이름을 새로 설정합니다.

Page 208: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

SYBASE IQ Utility

Page 209: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

dbstop

IQ 서버를 종료시킬때 사용하는 유틸리티로 유닉스와 윈도우 환경 모두에서 사용 가능합니다.

유닉스 환경에서 stop_asiq과 함께 많이 사용되며 윈도우 환경에서는 툴에 존재하는 아이콘을 클릭하는 방식을 많이 사용하고 있습니다.

syntax% dbstop [ -c "keyword=value;…" -o file-name -q -x -y ] [ server-name ]

-c : connection parameter로 종료하고자하는 IQ 서버에 대한 로그인 정보

-o : 종료와 관련된 메시지를 특정한 파일로 변경

-q : quite모드로 메시지를 출력하지 않음

-x : Active한 사용자가 존재할 경우에는 종료하지 않음

-y : Active한 사용자의 존재여부와 관계없이 종료

server-name : 종료하고자 하는 IQ 서버의 이름

예)% dbstop -c "uid=dba;pwd=SQL;eng=asiqdemo;dbn=asiqdemo" -y

Page 210: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

dbdsn

odbc의 data source 항목에 대한 조회, 생성, 수정, 삭제를 가능하게 하여 배치로 odbc파일을 수정 혹은 편집할 때 유용한 유틸리티입니다. 단, 유닉스에서 .odbc.ini라는 파일이 반드시 존재해야 합니다.

syntax% dbdsn [ -b -q -v -y ] -l // data source 목록 조회

% dbdsn [ -b -q -v -y ] -d data-source-name // 특정한 data source 항목 삭제

% dbdsn [ -b -q -v -y ] -g data-source-name // 특정한 data source 자세히 조회

% dbdsn [ -b -q -v -y ] -w data-source-name -c "keyword=value;…"// keyword=value connection parameter 조합을 갖는 특정한 data source 항목 생성

% dbdsn -cl // keyword 항목 목록 조회

-b : keyword=value의 표현을 약식으로 표현하여 출력

-q : banner를 출력하지 않음

-v : keyword=value의 표현을 표 형태로 출력

-y : 삭제나 수정시에 재확인하지 않고 바로 실행

예)% dbdsn -w asiqdemo -c "ENG=asiqdemo;DBN=asiqdemo;UID=dba;PWD=SQL;

CommLinks=tcpip{host=157.133.75.36;port=2345}"

Page 211: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

dbfhide

일반적인 ASCII text 파일을 암호화된 파일로 변경시키는 유틸리티로 일반 사용자에게 노출되기 쉬운 사용자별 비밀번호 정보를 간직하는 odbc.ini 와 같은 파일을 암호화할 수 있습니다.

주의하실 점은 암호화된 내용이 원문 상태로 복호화되지 않기 때문에 원래의 소스내용은별도로 보관하시거나 기억하고 있어야 합니다.

syntax% dbfhide plaint-command-file obfuscated-command-file

예)% dbfhide .odbc.ini encrypted_odbc.ini% mv encrypted_odbc.ini .odbc.ini

Page 212: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

dbinfo

catalog 영역에 대한 정보를 출력하는 유틸리티로 다음과 같은 정보들을 출력합니다.catalog store의 파일 이름, transaction log 파일 이름

log mirror 상태, compress 상태, Encrypt 여부

catalog page 크기, blank pad 상태

대소문자 구별 여부, charset옵션에 따라 catalog store 영역의 테이블 사용율

syntax% dbinfo [ -o file-name -q -u ] -c "keyword=value;…"

-c : connection parameter-o : 메시지를 특정한 파일로 출력

-q : 화면으로 메시지 출력을 억제

-u : catalog store 영역의 테이블에 대한 사용율

예)% dbinfo -c "uid=dba;pwd=SQL;eng=asiqdemo;dbn=asiqdemo" -o dbinfo.out -q

Page 213: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

dbtran

Page 214: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

dbping

클라이언트에서 특정한 IQ 서버에 대한 접속이 정상적인지 테스트하기 위한 ping 유틸리티입니다.

syntax% dbping -c "keyword=value;…" -d -l library -m -o file-name -q -z

Page 215: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

dblocate

Page 216: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

dblog

새로운 데이터베이스 이름으로 restore 했을 때나 restore…rename을 통해 restore 한이후에 dblog 유틸리티를 사용하여 transaction log의 이름을 변경할 수 있습니다.

또한 이 유틸리티는 transaction log와 관련된 유용한 정보를 볼 수도 있고 transaction log를 mirroring 시킬수도 있습니다.

syntax % dblog [-m -n -q -o -r -t ] database-file

-m mirror-name : transaction log의 mirror file 명을 지정합니다.-n : transaction log나 mirror를 더 이상 사용하지 않습니다.-q : quite mode로 메시지를 출력하지 않습니다.-o file-name : output 메시지를 file-name에 출력합니다.-r : mirror를 더 이상 사용하지 않습니다.-t log-name : transaction log 이름을 새로 설정합니다.

Page 217: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

dbvalid

Page 218: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

: connection parameter

Page 219: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

: network communication parameter

Page 220: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

SYBASE IQ Multiplex

Page 221: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

IQ Temp Store

IQ Temp Store

IQ Temp Store

IQ Temp Store

Catalog Store

Catalog Store

Catalog Store

Catalog Store

IQ Main Store

Client

WriteServer

Replication ofCatalog data

Page 222: Administration : SYBASE IQ · 2015-01-22 · SYBASE IQ 서버 z기본적으로설치됩니다. OCDK zCIS 환경을이용하여다른RDBMS로부터데이터를직접가져오거나혹은isql

Multiplex ?

2개 이상의 SYBASE IQ 엔진이 하나의 IQ main store를 공유하며 사용하는 시스템으로무제한의 확장성과 안정성을 제공합니다.

이렇게 구성된 SYBASE IQ 엔진 각각을 노드라 부르며 각 노드는 local temporary store, local catalog store를 가지며 이중 하나의 엔진은 반드시 write server로 지정 되어야 합니다.

구성은 여러 대의 host에 각각 SYBASE IQ를 설치하여 fiber channel로 디스크를 공유하여 사용할 수도 있고 하나의 host에 여러 개의 SYBASE IQ를 설치하여 사용할 수도 있습니다.

catalog store는 각각 별도로 관리하므로 한 쪽 노드에서의 변경사항은 다른 노드로 반영되어야 하는데 이런 복제작업을 SQL Remote라는 제품이 자동으로 처리해 줍니다.

노드 추가시 95%의 성능 향상이 있으며 SMP 처럼 관리나 튜닝이 편리합니다.