레이블이 Fundmental인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Fundmental인 게시물을 표시합니다. 모든 게시물 표시

2010년 2월 26일 금요일

Purge

RECYCLE BIN은 drop된 object 들이 상주하는 곳이다.
drop된 object 도 같은 공간을 차지하고 있다.
만일 emp table이 users tablespace 에 생성되었다면 drop된 emp table도 users tablespaces 내에 남아 있다.
drop된 table과 그와 관련된 objects들 (indexes,constraints,다른 관련된 objects 등)은 없어지지 않고
BIN$$가 첫머리에 추가되어 다른 이름으로 변경되어 있다..

SQL> select segment_name,tablespace_name from user_segments
2 where segment_name like '%EMP%';

EMP USERS

SQL> select index_name,tablespace_name from user_indexes
2 where table_name ='EMP';

SYS_C004335 USERS

SQL> drop table emp;

Table dropped.

SQL> select object_name,ORIGINAL_NAME,ts_name from recyclebin;

BIN$153amJrNRj3gMEWYESkisg==$0 EMP USERS

BIN$153amJrMRj3gMEWYESkisg==$0 SYS_C004335 USERS

Flashback Query 를 사용하여 drop한 table의 data 를 query 할수 있다.
각 user는 table을 drop하기전과 동일한 권한을 가지고 있다.
Recycle Bin에서 drop한된 table들을 볼 수 있다.
Recycle Bin내의 object 들은 drop된 object의 owner가 purge command를 이용해서 삭제하기전 까지
db내에 남아 있으나 다음의 경우에는 자동적으로 purge 된다.


user 가 quota초과를 일으키는 새로운 table을 생성하거나 data 가 추가되는 경우나
tablespace가 create 나 insert 작업을 수용하기 위해 file size를 확장할 필요가 있을 경우

drop된 table에 대한 부분은 8i/9i와 동일하나 space 부분만 즉시 release 되지 않는다.
tablespace 나 user 를 drop하는 경우에는 recycling 되지 않는다.

EXAMPLE
=======

SQL> select * from v$version;

BANNER


Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Prod
PL/SQL Release 10.1.0.2.0 - Production
CORE 10.1.0.2.0 Production
TNS for Linux: Version 10.1.0.2.0 - Production
NLSRTL Version 10.1.0.2.0 - Production

SQL> show user
USER is "SCOTT"

SQL> SELECT object_name,original_name,operation,type,dropscn,droptime
2 FROM user_recyclebin;

no rows selected

SQL> CREATE TABLE t1(a NUMBER);

Table created.

SQL> DROP TABLE t1;

Table dropped.

SQL> SELECT object_name,original_name,operation,type,dropscn,droptime
2 FROM user_recyclebin;

OBJECT_NAME ORIGINAL_NAME OPERATION


--------------------------------
TYPE DROPSCN DROPTIME

----------
BIN$153amJrPRj3gMEWYESkisg==$0 T1 DROP
TABLE 2350013 2004-04-09:17:33:29

SQL> conn sys/manager as sysdba
Connected.

SQL> show user
USER is "SYS"

SQL> SELECT owner,original_name,operation,type FROM dba_recyclebin;

OWNER ORIGINAL_NAME OPERATION

--------------------------------
TYPE

SCOTT T1 DROP
TABLE

drop된 table은(BIN$$ table) recover (restore, flashback) 되기 전까지는 어떤 operation도 불가능 하다.
이 상황에서는 동일 이름으로 table 을 생성하는 것도 가능하다.

drop된 table 의 정보는 다음과 같이 볼수도 있다.

SQL> show user
USER is "SCOTT"

SQL> SELECT table_name,tablespace_name
2 FROM user_tables WHERE dropped='YES';

TABLE_NAME TABLESPACE_NAME

------------------------------
BIN$153amJrPRj3gMEWYESkisg==$0 USERS

PURGING
=======
DB내에서 table을 완전히 삭제하고자 할 때 사용하며 space 도 release 된다.

Command 는
Scott user 에서

SQL> PURGE TABLE t1;
Table purged.

OR

SQL> purge table "BIN$153amJrPRj3gMEWYESkisg==$0";

Table purged.

From SYSDBA user:

SQL> SELECT owner,original_name,operation,type FROM dba_recyclebin;

no rows selected


Scott user:
SQL> show recyclebin
SQL>

Purge 하는 여러 방법은 다음과 같다.

PURGE TABLE t1;
PURGE INDEX ind1;
PURGE recyclebin; (Recyclebin내의 모든 objects 를 purge:해당 owner 의 object 만 purge )
PURGE dba_recyclebin; (sysdba권한으로 모든 object 를 purge)
PURGE TABLESPACE users; (해당 tablespace 내의 모든 objects 를 purge )
PURGE TABLESPACE users USER scott; (scott user 에 속하는 users tablespace 내의 object 들을 Purge)

RECYCLEBIN Dsiable 방법
==========================
하나의 command 로 drop과 purge 를 함께 할 수 있다.

Scott user:
SQL> DROP TABLE t1 PURGE;
Table dropped.

SQL> SELECT * FROM recyclebin;
no rows selected

이 경우에는 purge 가 필요 없다.

recycling 기능을 없애는 방법은 "_recyclebin" 을 FALSE 로 setting 하면 된다.
default는 TRUE 이다 .

SYSDBA user:
SQL> SELECT a.ksppinm, b.ksppstvl, b.ksppstdf FROM x$ksppi a, x$ksppcv b
2 WHERE a.indx = b.indx AND a.ksppinm like '%recycle%'
3 ORDER BY a.ksppinm;


출처 : http://kr.forums.oracle.com/forums/thread.jspa?threadID=477120&tstart=105

Purge DOC : http://download-west.oracle.com/docs/cd/B14117_01/server.101/b10759/statements_9018.htm 

2010년 2월 21일 일요일

listener.ora

INSTANCE 확인 = SID
SQL> select instance from v$thread; INSTANCE -------------------------------------------------------------------------------- orcl10
DB_NAME 확인 
SQL> select name from v$database; NAME --------- ORCL10
* listener.ora
# listener.ora Network Configuration File: /opt/oracle10/oracle10/10g/network/admin/listener.ora # Generated by Oracle configuration tools. LOCAL_OS_Authentication_listener = OFF LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 115.145.212.179 )(PORT = 1521)) ) )
SID_LIST_
LISTENER = (SID_LIST = (SID_DESC = (ORACLE_HOME = /opt/oracle10/oracle10/10g) (SID_NAME = orcl10) ) )

* tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora # Generated by Oracle configuration tools. ORCL10 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 115.145.212.179)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl10) ) ) EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) )

2009년 3월 4일 수요일

fast commit

오라클은 기본적으로 fast commit을 지원합니다. 트랜잭션이
발생하게 되면 fast commit을 통해서 데이터파일에 즉각 반영하는
것이 아니라, online redo log에 먼저 redo log buffer의
반영을 합니다.
log switch나 checkpoint가 일어났을 때 또는 DBWR프로세스가 
데이터파일에 쓰야만 하는 때(free buffer 부족등) 데이터파일에 
메모리에 있는 내용을 기록하게 됩니다. 물론 commit을 안했다고 
해서 데이터파일에 기록을 안한다는 것은 아닙니다. checkpoint가
일어나게 되면 또는 DBWR프로세스가 작동하게 되면 commit을 하지 
않은 데이터도 데이터파일에 쓰겠죠. 이 두가지에 차이에 대해서는 아래에 
설명을 해봅니다.

commit을 하게 되면 LGWR 프로세스가 online redo log file에 
redo log buffer에 있는 redo log entry를 write를 하게 됩니다. 
이 write작업이 끝나야 commit 이후 프롬프트가 떨어집니다. 

즉 commit의 프롬프트가 떨어지지 않았는데 redo log에 기록을하지
않았다는 것은 있을 수가 없지요.
그렇다면.. 트랜잭션이 많다면 어떻게 될까요? 이 때에는 
commit이 일어나서 write를 하기 전에 LGWR프로세스가 다른 경우에
의해서 online redo log에 redo log buffer를 write를 한 것입니다. 
그러므로 commit이라고 명령을 하는 것이 오래 걸리지 않습니다.

A->B로 변경후 commit을 하였다고 한다면..
LGWR프로세스가 online redo log에는 redo log buffer에 있는
변경정보를 redo log file에 write를 하였으나 DBWR프로세스가 
데이터파일에는 write를 하지 않을 수 있습니다. 그러므로 A->B로 변경은 
하였으나 데이터파일에는 A라는 값이 그대로 있을 수 있겠죠.
이 때에 DB를 abort로 내리고 DB를 재기동하면 smon 프로세스는 
recovery를 수행합니다. 이 때에 online redo log에서 commit되었으나
데이터파일에 반영되지 않은 데이터를 메모리에 올려서 반영하는 작업을
하게 됩니다. 이것을 rollforward라고 합니다.

한편으로 update를 C->D로 변경을 하였다면.. C라는 데이터를 데이터파일에서
읽어와서 rollback image에 C라는 값을 두고, 원본이미지를 D로 변경합니다.

만약 트랜잭션이 많아서 free buffer가 부족하거나 checkpoint가 일어나거나
하게 되면 DBWR프로세스가 데이터파일에 쓰겠죠. 그런데.. 이 때에
C라는 기존 원본은 undo tablespace로 데이터가 들어가고, D라는 변경된
값은 데이터파일에 write를 하게 됩니다.

즉 commit을 하지 않은 데이터가 있으나 DBWR프로세스가 메모리에 있는
데이터를 데이터파일에 저장할 수 있습니다.
이 때에 DB를 abort로 내리고 다시 올리면 smon프로세스는 앞에서 말씀드린
rollforward를 하기도 하지만, rollback도 하게 됩니다. 이 때에는 commit되지
undo에서 commit되지 않은 데이터를 메모리로 올리고, 데이터파일에
undo데이터를 데이터파일에 write를 하게 됩니다. 이것이 바로 rollback입니다.
undo에는 원본이미지, 데이터파일에는 변경이미지가 있으나 commit을 하지
않았으니 undo에 있는 원본이미지를 데이터파일에 변경이미지에 엎어씌워야
겠지요..




Delayed Block Cleanout

Delayed block cleanout의 개념을 이해하려면 우선 오라클에서 사용하는 몇가지 용어에 대해 알아야 한다.

Cleanout 또는 block cleanout이란 블록에 설정된 로우 레벨 락을 해제(Cleanout)한다는 의미이다. Cleanout이 발생하면 로우 레벨 락이 해제되고 ITL 정보(SCN, Flag, Lock Byte 등)가 갱신된다.

Fast commit이란 커밋 시점에 모든 블록에 대해 cleanout을 수행하지 않는다는 것을 의미한다. 오라클은 성능상의 문제로 변경된 데이터 블록들 중 버퍼 캐시에 올라와 있는 일부 블록들에 대해서만 cleanout을 수행한다. Fast Commit이 발생하는 경우, 변경되는 정보의 량을 최소화하기 위해 ITL 정보에서 Flag와 SCN 정보만 변경되고 lock byte 정보는 변경되지 않는다. Lock byte 정보는 트랜잭션에 의해 변경된 모든 로우에 저장되므로 변경해야 할 데이터의 양이 많기 때문이다. Fast commit 기법은 변경된 일부 데이터 블록들의 헤더에 대해서만 변경 작업을 수행하기 때문에 리두 데이터가 생성되지 않고, 커밋 마크(Commit Mark)만이 리두에 저장된다. 수백만 건의 데이터를 변경한 후에 커밋을 수행하는 경우에도 매우 빠른 속도로 커밋 처리가 되는 것은 이러한 기법 덕분이다.

Delayed block cleanout이란 변경된 데이터 블록들 중 Fast commit에 의해 cleanout 되지 않은 블록들을 나중에(Delayed) cleanout 처리한다는 의미이다. Delayed block cleanout는 다음 번에 해당 블록을 스캔하는 프로세스에 의해 수행된다. Delayed block cleanout이 발생하는 경우 순수한 Select 작업인 경우에도 cleanout 작업 자체에 대한 리두 데이터가 생성될 수 있다.

커밋 수행(Fast commit)에 의해 cleanout이 수행되면 cleanout이 발생한 블록 수만큼 commit cleanouts 통계값이 증가한다. Cleanout을 수행하는 도중 에러가 발생하면 에러의 발생 원인에 따라 commit cleanout failures: xxxx 류의 통계값이 증가한다. Cleanout 수행에 성공한 경우에는 commit cleanouts successfully completed 통계값이 증가한다. 각 값들은 다음과 같은 관계를 따른다.

commit cleanouts = commit cleanouts successfully completed + 
Sum of (commit cleanout failures: xxxx)

user commits 통계값이 사용자가 커밋을 수행한 회수를 나타내는 반면 commit cleanouts 는 커밋에 의한 cleanout이 발생한 블록 수를 나타낸다는 사실에 유의하자.

Fast commit이 발생하면 ITL의 flag 값이 “U”(Upper Bound Commit)로 수정되고 SCN이 할당된다. 하지만 블록 내의 개별 로우의 lock byte값은 변경되지 않는다. 나중에 해당 블록을 다른 프로세스가 변경하는 경우에 flag 값이 “C”(Commit) 로 변경되고 블록 내의 개별 로우의 lock byte값도 정리(0의 값)된다.


출처 : http://wiki.ex-em.com/index.php/Delayed_block_cleanout 

2009년 2월 16일 월요일

TDE [encrypted column] NULL Manage

WALLETOPEN 시에는 일반 쿼리 처럼 사용해도 문제가 전혀 없다.

하지만 WALLET CLOSE 시에는 몇가지 CASE 가 존재한다.


* WALLET CLOSE 상태일때 산술연산 ( + / - x )

                 - SELECT Condition1 (+ / - X ) Condition2 from table where ..;

Condition1

Condition2

Evaluation

A Is NULL

B Is NULL

NULL

A Is NOT NULL

B IS NULL

ERROR

A IS NULL

B IS NOT NULL

NULL

A IS NOT NULL

B IS NOT NULL

ERROR


*  NULL + C1 + C2 +.....Cn = NULL

연산시 NULL이 존재한다면 뒤에 연산이 NOT NULL 이라도 뒤의 연산은
하지 않고 바로 NULL 을 리턴한다. ( 다시 말해 연산시 앞에 NULL 이 있는
경우에는 뒤에 암호화된 데이터가 있더라도 연산을 하지 않기 때문에 에러가
발생하지 않는다. )

*  C1 + C2 +.....Cn + NULL = ERROR

하지만 연산하는 첫 상수의 값이 NOT NULL 일경우는 값을 복호화할수 없으므로
에러를 리턴한다.

sum(),avg(),abs(),max(),min(),count()... 함수연산

                 T1

             C1            C2           C3          C4

              1                            3

                              1            2

              1              2



1. select sum(c1) from t1;
- ORA-28365: wallet is not open

2. select sum(c2) from t1;
- ORA-28365: wallet is not open

3. select sum(c3) from t1;
- ORA-28365: wallet is not open

4. select sum(c4) from t1;
- 정상 출력

5. select count(c4) from t1;
     COUNT(C4)
      ----------
      0  

 6. select count(c2) from t1;
- ORA-28365: wallet is not open


 sum(),avg(),abs(),max(),min(),count()등 내부적으로 수학적인 연산이 필요한 경우에는 에러를
 리턴한다. 또한 NULL 집합에서의 연산은 NULL 을 리턴하지만 일반연산과의 다른점은 함수를
 이용한 연산은 NOT NULL이 하나라도 있으면 에러를 리턴한다는 점이다.
 (일반적으로 함수를 이용한 연산은 NULL 을 고려하지 않기 때문이다.)

2009년 2월 9일 월요일

ALTIBASE SYSTEM TABLE (Data Dictionary)

SYSTEM_                                  STO_COLUMNS_                          
SYSTEM_                                  STO_DATUMS_                            
SYSTEM_                                  STO_ELLIPSOIDS_                        
SYSTEM_                                  STO_GEOCCS_                            
SYSTEM_                                  STO_GEOGCS_                           
SYSTEM_                                  STO_PRIMEMS_                           
SYSTEM_                                  STO_PROJCS_                           
SYSTEM_                                  STO_PROJECTIONS_                   
SYSTEM_                                  STO_SRS_                                
SYSTEM_                                  STO_USER_COLUMNS_                      
SYSTEM_                                  SYS_COLUMNS_                           
SYSTEM_                                  SYS_CONSTRAINTS_                   
SYSTEM_                                  SYS_CONSTRAINT_COLUMNS_            
SYSTEM_                                  SYS_DATABASE_                          
SYSTEM_                                  SYS_DATABASE_LINKS_                 
SYSTEM_                                  SYS_DIRECTORIES_                       
SYSTEM_                                  SYS_DN_USERS_                          
SYSTEM_                                  SYS_DUMMY_                              
SYSTEM_                                  SYS_GRANT_OBJECT_                   
SYSTEM_                                  SYS_GRANT_SYSTEM_                       
SYSTEM_                                  SYS_INDEX_COLUMNS_                      
SYSTEM_                                  SYS_INDEX_PARTITIONS_                  
SYSTEM_                                  SYS_INDICES_                           
SYSTEM_                                  SYS_LOBS_                               
SYSTEM_                                  SYS_PART_INDICES_                      
SYSTEM_                                  SYS_PART_KEY_COLUMNS_                  
SYSTEM_                                  SYS_PART_LOBS_                        
SYSTEM_                                  SYS_PART_TABLES_                       
SYSTEM_                                  SYS_PRIVILEGES_                      
SYSTEM_                                  SYS_PROCEDURES_                        
SYSTEM_                                  SYS_PROC_PARAS_                         
SYSTEM_                                  SYS_PROC_PARSE_                         
SYSTEM_                                  SYS_PROC_RELATED_                      
SYSTEM_                                  SYS_REPLICATIONS_                       
SYSTEM_                                  SYS_REPL_HOSTS_                         
SYSTEM_                                  SYS_REPL_ITEMS_                         
SYSTEM_                                  SYS_REPL_OLD_COLUMNS_                   
SYSTEM_                                  SYS_REPL_OLD_INDEX_COLUMNS_          
SYSTEM_                                  SYS_REPL_OLD_INDICES_                   
SYSTEM_                                  SYS_REPL_OLD_ITEMS_                     
SYSTEM_                                  SYS_REPL_RECOVERY_INFOS_                
SYSTEM_                                  SYS_SYNONYMS_                           
SYSTEM_                                  SYS_TABLES_                             
SYSTEM_                                  SYS_TABLE_PARTITIONS_                 
SYSTEM_                                  SYS_TBS_USERS_                          
SYSTEM_                                  SYS_TRIGGERS_                           
SYSTEM_                                  SYS_TRIGGER_DML_TABLES_           
SYSTEM_                                  SYS_TRIGGER_STRINGS_                  
SYSTEM_                                  SYS_TRIGGER_UPDATE_COLUMNS_    
SYSTEM_                                  SYS_USERS_                                  
SYSTEM_                                  SYS_VIEWS_                                  
SYSTEM_                                  SYS_VIEW_PARSE_                         
SYSTEM_                                  SYS_VIEW_RELATED_                      
SYSTEM_                                  SYS_XA_HEURISTIC_TRANS_             

2009년 2월 7일 토요일

Oracle Database Background Processes


Process Name Description

Database writer (DBWn)

The database writer writes modified blocks from the database buffer cache to the datafiles. Oracle Database allows a maximum of 20 database writer processes (DBW0-DBW9 and DBWa-DBWj). The DB_WRITER_PROCESSES initialization parameter specifies the number of DBWn processes. The database selects an appropriate default setting for this initialization parameter or adjusts a user-specified setting based on the number of CPUs and the number of processor groups.

For more information about setting the DB_WRITER_PROCESSES initialization parameter, see the Oracle Database Performance Tuning Guide.

Log writer (LGWR)

The log writer process writes redo log entries to disk. Redo log entries are generated in the redo log buffer of the system global area (SGA). LGWR writes the redo log entries sequentially into a redo log file. If the database has a multiplexed redo log, then LGWR writes the redo log entries to a group of redo log files. See Chapter 10, "Managing the Redo Log" for information about the log writer process.

Checkpoint (CKPT)

At specific times, all modified database buffers in the system global area are written to the datafiles by DBWn. This event is called a checkpoint. The checkpoint process is responsible for signalling DBWn at checkpoints and updating all the datafiles and control files of the database to indicate the most recent checkpoint.

System monitor (SMON)

The system monitor performs recovery when a failed instance starts up again. In an Oracle Real Application Clusters database, the SMON process of one instance can perform instance recovery for other instances that have failed. SMON also cleans up temporary segments that are no longer in use and recovers dead transactions skipped during system failure and instance recovery because of file-read or offline errors. These transactions are eventually recovered by SMON when the tablespace or file is brought back online.

Process monitor (PMON)

The process monitor performs process recovery when a user process fails. PMON is responsible for cleaning up the cache and freeing resources that the process was using. PMON also checks on the dispatcher processes (described later in this table) and server processes and restarts them if they have failed.

Archiver (ARCn)

One or more archiver processes copy the redo log files to archival storage when they are full or a log switch occurs. Archiver processes are the subject of Chapter 11, "Managing Archived Redo Logs".

Recoverer (RECO)

The recoverer process is used to resolve distributed transactions that are pending because of a network or system failure in a distributed database. At timed intervals, the local RECO attempts to connect to remote databases and automatically complete the commit or rollback of the local portion of any pending distributed transactions. For information about this process and how to start it, see Chapter 33, "Managing Distributed Transactions".

Dispatcher (Dnnn)

Dispatchers are optional background processes, present only when the shared server configuration is used. Shared server was discussed previously in "Configuring Oracle Database for Shared Server".

Global Cache Service (LMS)

In an Oracle Real Application Clusters environment, this process manages resources and provides inter-instance resource control.


알티베이스 DDL / DML / DCL



SQL(Strucutred Query Language)은 데이터베이스로 저장되는 데이터를 조작하고,
관리하며 검색하기 위한 언어로 간단히 말해서 알티베이스와 통신, 즉 의사소통 하기
위한 명령언어 입니다. SQL은 조금씩 차이가 있지만 알티베이스는 SQL/92의 표준
사양을 지원하며 사용자가 유용하게 사용할 수 있는 다양한 시스템 함수를 지원하고
 있습니다.

SQL은 크게 3가지로 분류할 수 있습니다.

★SQL 분류(3가지)
    - DDL(데이터정의어) : 데이터의 구조를 정의
      * 새로운 테이블을 만들고, 기존의 테이블을 변경 / 삭제하는 등의 데이터를 정의하
        는 역할을 합니다.
      * CREATE       : 새로운 테이블을 생성한다.
         ALTER          : 기존의 테이블을 변경한다.
         DROP           : 기존의 테이블을 삭제한다.
         RENAME      : 테이블의 이름을 변경한다.
         TURNCATE : 테이블을 잘라낸다.

    - DML(데이터조작어) : 데이터를 조회하거나 변경
      * 새로운 데이터를 삽입 / 변경 / 삭제 하는 등의 데이터를 조작하는 역할을 합니다.
      * INSERT        : 새로운 데이터를 삽입한다.
         UPDATE       : 기존의 데이터를 변경한다.
         DELETE       : 기존의 데이터를 삭제한다.

     - DCL(데이터제어어) : 데이터베이스 사용자에게 부여된 권한을 정의
      * 데이터 접근 권한을 다루는 역할을 합니다.
   
  * GRANT : 권한을 준다
         REVOKE : 권한을 제거한다.

그럼 알티베이스에서 DDL, DML, DCL에 대한 SQL 정의어 목록표를 살펴 볼까요?

데이터정의어(DDL)
    

SQL

   

ALTER DATABASE

데이터베이스 정의 변경

ALTER INDEX

PERSISTENT 인덱스 변경

ALTER REPLICATION

이중화의 시작, 종료

ALTER SEQUENCE

시퀀스의 정의 변경

ALTER TABLE

테이블의 정의 변경

ALTER TABLESPACE

테이블스페이스 정의 변경

ALTER TRIGGER

트리거 정의 변경

ALTER USER

사용자의 암호 변경

ALTER VIEW

뷰 재 컴파일

CREATE DATABASE

데이터베이스 생성

CREATE DIRECTORY

디렉토리 생성

CREATE INDEX

인덱스 생성

CREATE QUEUE

큐 생성

CREATE REPLICATION

이중화 생성

CREATE SEQUENCE

시퀀스 생성

CREATE SYNONYM

시노님 생성

CREATE TABLE

테이블 생성

CREATE TABLESPACE

테이블스페이스 생성

CREATE TRIGGER

트리거 생성

CREATE USER

사용자 생성

CREATE VIEW

뷰 생성

DROP DIRECTORY

디렉토리 삭제

DROP INDEX

인덱스 삭제

DROP REPLICATION

이중화 삭제

DROP SEQUENCE

시퀀스 삭제

DROP SYNONYM

시노님 삭제

DROP TABLE

테이블 삭제

DROP TABLESPACE

테이블스페이스 삭제

DROP TRIGGER

트리거 삭제

DROP USER

사용자 삭제

DROP VIEW

뷰 삭제

GRANT

권한 부여

RENAME

테이블, 시퀀스, 뷰 이름 변경

REVOKE

권한 삭제

TRUNCATE TABLE

테이블의 모든 레코드 삭제



데이터  조작어(DML)

SQL

설명

DELETE

데이터의 삭제

INSERT

데이터의 삽입

LOCK TABLE

특정한 모드에서 테이블 잠금

SELECT

데이터의 검색

UPDATE

데이터의 변경

MOVE

데이터의 이동



데이터  제어어(DCL)
  <시스템 제어문>
 -  디스크에 반영(checkpoint) 또는 현재 데이터베이스 상태저장을 할 때 사용됩니다.

SQL

설명

ALTER SYSTEM

checkpoint, backup 수행

  <작업 제어문>
 - 한 개의 작업 설정 사항을 변경하는 것으로 현재 작업에만 적용됩니다.

SQL

설명

ALTER SESSION

작업의 설정 사항 변경

   <트랜잭션 제어문>
 - 트랜잭션 설정 사항을 변경하고 종료와 철회를 사용자가 명시적으로 할 때 사용됩니다.

SQL

설명

COMMIT

트랜잭션 정상 종료

ROLLBACK

or

ROLLBACK TO SAVEPOINT savepoint_name

트랜잭션 철회

SAVEPOINT savepoint_name

지금까지의 트랜잭션을 임시저장

SET TRANSACTION

현재 트랜잭션의 설정 사항 변경


-------------------------------------------------------------------------------------------------------

출처 : 알티스토리 http://altibase.tistory.com/132