DBMS 2
DA, SQL, DB보안 등 실무자를 위한 위한 DB기술 바이블!
사용자가 만든 데이터베이스를 기동할때 필요한 파라미터로는 아래와 같은 내용이 있으며 cfg파일에기술하거나 기동하는 명령어에 직접 기술할 수 있습니다. 파라미터를 기술 하지 않으면 start_asiq 프로그램과 $ASDIR/scripts/default.cfg 파일에 설정된 값을 기본값으로 하여 기동합니다. -n : 서버명(IQ 엔진이름)을 기술하며 하이픈으로 연결된 이름이나 reserved word는 사용할 수 없습니다. 또한 이 이름은 LAN상에서 유일해야 합니다. 새로 만들어진 데이터베이스의 디폴트옵션중에 다음과 같은 것들은 적절히 사용되지 못할때에 많은부작용이 발생하므로 옵션 변경을 고려하십시오. DROP DATABASE db-filename. DROP DATABASE '/user/asiq/IQDEV/mydb.db' sp_iqstatusCreating database
Creating database
database review
step 1 : select the device type
File system
O/S에 대한 부담 및 추가 메모리를 고려할때 운영환경에서는 raw device를 권장합니다.
step 2 : estimate the db size
step 3 : create the database
syntax
CREATE DATABASE db-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]
syntax-option
example
IQ Main Store와IQ Temporary Store가Unix file system 인 SIZE 4096
COLLATION'EUC_KOREA'
BLANK PADDINGon
IQ PATH'/user/SYBASE_IQ/IQDEV/mydb.iq'
IQ SIZE1000
IQ PAGE SIZE131072
BLOCK SIZE8192
MESSAGE PATH'/user/SYBASE_IQ/IQDEV/mydb.iqmsg'
TEMPORARY PATH'/user/SYBASE_IQ/IQDEV/mydb.iqtmp'
TEMPORARY SIZE500;
IQ Main Store와IQ Temporary Store가raw device 인경우
CREATE DATABASE'/user/SYBASE_IQ/IQDEV/mydb.db'
TRANSACTION LOG ON'/user/SYBASE_IQ/IQDEV/mydb.log'
CASErespect
PAGE SIZE 4096
COLLATION'EUC_KOREA'
BLANK PADDINGon
IQ PATH'/dev/rdsk/mydb_iq'
IQ PAGE SIZE131072
BLOCK SIZE8192
MESSAGE PATH'/user/SYBASE_IQ/IQDEV/mydb.iqmsg'
TEMPORARY PATH'/dev/rdsk/mydb_iqtmp';
utility_db를 이용하여 생성하기
아래처럼 utility_db를 이용하여 사용자 db를 새롭게 생성 할수 있습니다.
$ASDIR/bin/start_asiq-n MySVR-x tcpip{port=2638}
// cre_db.sql이라는 파일에 create database 명령어가 편집되어 있는 경우
// utility_db의 user_id와 password는 $ASDIR/bin/util_db.ini가 저장하고 있음
% dbstop-c "uid=dba;pwd=SQL;eng=MySVR;dbn=utility_db"demo DB를 이용하여 생성하기
아래처럼 asiqdemodb를 이용하여 사용자 db를 새롭게 생성 할수 있습니다.
$ASDIR/bin/start_asiq@$ASDIR/demo/asiqdemo.cfg$ASDIR/demo/asiqdemo.db
% dbisqlc-c "uid=dba;pwd=SQL;eng=asiqdemo;dbn=asiqdemo" -q cre_db.sql
// create_db.sql이라는파일에create database 명령어가편집되어있는경우
% dbstop-c "uid=dba;pwd=SQL;eng=asiqdemo;dbn=asiqdemo"configfile
-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 의 설정값 보다 우선 적용됩니다.
-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의 절대 디렉토리와 파일명을 명시합니다.
참고: -gm vs.-iqgovern
configfile
예)
-n mydb
-cl64M
-ch256M
-glall
-gm 50
-ti4400
-tl1200
-x tcpip{MyIP=158.77.50.115;port=2638}
-iqmc1100
-iqtc1200
/user/asiq/IQDEV/mydb.db
start SYBASE IQ
Unix : %$ASDIR/bin/start_asiq@$SYBASE/IQDEV/mydb.cfg
WinNT : %asiqsrv12 @mydb.cfg
change option
예)
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 설치 할때에 기본적으로 변경을 해주는 옵션들이며 이 값들을 권장합니다.
enlarge database-create dbspace
syntax
[ IQ store| IQ temporary store | Catalog store ]
[ [Size] file-size]
[ RESERVE sizeMB]
예)
CREATE DBSPACE temp02AS '/dev/rdsk/mydb_iqtmp02' IQ temporary store;
참고-local dbspace
alter dbspace
ALTER DBSPACE 명령어를 통해 이미 존재하는 dbspace의 모드를 변경하거나 크기를 변경 하거나증가 할수 있습니다.
syntax
{ READWRITE | READONLY | RELOCATE
| SIZE dbspace-size[ KB | MB| GB | TB | PAGES ]
| ADD dbspace-size[ KB | MB | GB | TB | PAGES] }
예)
ALTER DBSPACE temp02 ADD 1000 MB;// temp02의 크기가 1000 MB 증가
ALTER DBSPACE main03READONLY;// main03의 모드를 READ로 변경
decreasing a database
dropping a database
삭제 하고자 하는데 이터베이스의 서버를 종료하고 utility_db나 혹은 asiqdemo 데이터베이스를 기동한 후 DROP DATABASE를 실행하면 됩니다.
syntax
예)
sp_iqstatus
syntax