데이터베이스와 객체 정보 조회
데이터베이스와 객체 정보 조회#
성능 뷰 조회#
성능 뷰는 서버의 상태 및 데이터베이스 정보를 조회할 수 있는 데이터 딕셔너리 테이블의 일종으로 Altibase가 제공하는 성능 뷰의 목록을 확인하기 위해서는 다음 명령어를 사용한다.
iSQL> SELECT * FROM V$TAB;
TABLE NAME TYPE
---------------------------------------------
V$ALLCOLUMN PERFORMANCE VIEW
V$ARCHIVE PERFORMANCE VIEW
V$BUFFPOOL_STAT PERFORMANCE VIEW
V$DATABASE PERFORMANCE VIEW
V$DATAFILES PERFORMANCE VIEW
V$DISKGC PERFORMANCE VIEW
V$DISKTBL_INFO PERFORMANCE VIEW
V$FLUSHINFO PERFORMANCE VIEW
Altibase가 제공하는 전체 성능 뷰의 목록과 칼럼의 의미 등은 General Reference 의 데이터 딕셔너리 설명을 참조한다.
각 성능 뷰의 데이터는 일반 테이블 조회와 동일한 SELECT문을 사용하여 조회할 수 있으며 조인 등을 사용해 다양한 형태로 결과를 출력할 수 있다.
테이블 목록 보기#
데이터베이스에 존재하는 모든 테이블에 대한 정보를 알고 싶으면 아래와 같은 명령을 사용하면 된다. SYS_TABLES_ 메타 테이블은 Altibase에서 제공하는 데이터베이스 카탈로그 정보를 수록하는 시스템 내부 테이블이다.
iSQL> SELECT * FROM SYSTEM_.SYS_TABLES_;
.
.
iSQL> SELECT * FROM TAB; -- 이 명령어는 iSQL에서만 사용가능.
USER NAME TABLE NAME TYPE
-----------------------------------------------
.
..
테이블 구조 보기#
사용자가 생성한 테이블에 관한 정보를 알고 싶으면 아래와 같은 명령을 사용한다.
DESC table_name;
예:
CREATE TABLE department (
DNO SMALLINT PRIMARY KEY,
DNAME CHAR(30) NOT NULL,
DEP_LOCATION CHAR(9),
MGR_NO INTEGER );
iSQL> DESC department; -- table_name: 테이블 정보(구조)를 알고 싶은 테이블명
[ TABLESPACE : SYS_TBS_MEM_DATA ]
[ ATTRIBUTE ]
-----------------------------------------------------------
NAME TYPE IS NULL
-----------------------------------------------------------
DNO SMALLINT FIXED NOT NULL
DNAME CHAR(30) FIXED NOT NULL
DEP_LOCATION CHAR(9) FIXED
MGR_NO INTEGER FIXED
[ INDEX ]
-----------------------------------------------------------
NAME TYPE IS UNIQUE COLUMN
-----------------------------------------------------------
__SYS_IDX_ID_122 BTREE UNIQUE DNO ASC
[ PRIMARY KEY ]
-----------------------------------------------------------
DNO
테이블 이름에 소문자, 특수 문자 또는 공백이 포함된 경우 큰따옴표를 사용해야 한다.
iSQL> DESC "table name";
iSQL> DESC "user name"."table name";
시퀀스 정보 보기#
데이터베이스에 존재하는 모든 시퀀스에 대한 정보를 알고 싶으면 아래와 같은 명령을 사용하면 된다.
SELECT * FROM SEQ;
예:
iSQL> CONNECT sys/manager;
Connect success.
iSQL> CREATE USER user1 IDENTIFIED BY user1;
Create success.
iSQL> CONNECT user1/user1;
Connect success.
iSQL> CREATE SEQUENCE seq1 MAXVALUE 100 CYCLE;
Create success.
iSQL> CREATE SEQUENCE seq2;
Create success.
iSQL> CONNECT sys/manager;
Connect success.
iSQL> CREATE SEQUENCE seq2 START WITH 20 INCREMENT BY 30;
Create success.
iSQL> CREATE SEQUENCE seq3 CACHE 40;
Create success.
iSQL> SELECT * FROM SEQ; -- SYS 계정으로 데이터베이스에 접속한 경우 생성된 모든 sequence의 정보를 출력한다.
USER_NAME SEQUENCE_NAME CURRENT_VALUE INCREMENT_BY MIN_VALUE MAX_VALUE CYCLE CACHE_SIZE
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SYS SEQ2 30 1 9223372036854775806 NO 20
SYS SEQ3 1 1 9223372036854775806 NO 40
USER1 SEQ1 1 1 100 YES 20
USER1 SEQ2 1 1 9223372036854775806 NO 20
4 rows selected.
iSQL> CONNECT user1/user1;
Connect success.
iSQL> SELECT * FROM SEQ; -- user1이 생성한 모든 sequence 들의 정보를 출력한다.
SEQUENCE_NAME CURRENT_VALUE INCREMENT_BY MIN_VALUE MAX_VALUE CYCLE CACHE_SIZE
-------------------------------------------------------------------------------------------------------------------------------------------------------------
SEQ1 1 1 100 YES 20
SEQ2 1 1 9223372036854775806 NO 20
2 rows selected.