콘텐츠로 이동

데이터베이스와 객체 정보 조회

데이터베이스와 객체 정보 조회#

성능 뷰 조회#

성능 뷰는 서버의 상태 및 데이터베이스 정보를 조회할 수 있는 데이터 딕셔너리 테이블의 일종으로 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.