Skip Headers

오라클 10g 함수
10g Release 1 (10.1)
Go to Documentation Home
HOME
Go to Book List
ORA_home
Go to Table of Contents
연구회
Go to Index
자료실
Go to Master Index
ORA_10G
Go to Feedback page
MAIL

Go to previous page
Previous
Go to next page
Next

TIMESTAMP_TO_SCN

문법

MAIN

timestamp_to_scn::=
Description of timestamp_to_scn.gif follows

그림 설명
 

목적

MAIN

TIMESTAMP_TO_SCN함수는 인수로써 timestamp 값을 취하고, timestamp와 관련된 시스템 변경 번호(system change number,SCN)을 반환한다. 반환된 값의 데이터 형은 NUMBER이다. 이 함수는 특정한 timestamp와 연관된 SCN을 아는데 유용하다.

SCN (System Change Number)
트랜잭션이 커밋될 때마다 오라클 서버는 트랜잭션에 커밋 SCN(System Change Number)을 지정합니다. SCN은 데이터베이스 내에서 유일한 값이며 증가합니다. SCN은 데이터가 데이터 파일로부터 읽혀질 때 데이터를 동기화하고 읽기 일관성(read consistency)을 제공할 수 있도록 오라클 서버가 내부 "time stamp"로 사용합니다. SCN을 사용함으로써 오라클 서버는 운영 체제의 날짜나 시간에 의존하지 않고 일관성 검사를 수행할 수 있습니다.

오라클은 트랙잭션이 커밋될 때, 특정 시점의 데이터베이스 상태를 정의하기 위해 고유번호인 SCN을 할당한다. SCN은 내부적으로 타임스탬프의 역할을 맡으며, 일련 번호로서 고유한 값을 가지고 계속해서 증가한다. 데이터베이스는 언제나 SCN을 기초로 하여 복구되기 때문에 SCN을 통하여 데이터베이스의 읽기 일관성을 제공하게 된다. SCN은 또한 데이터 자체의 읽기 일관성 유지에도 사용된다. 어떤 쿼리가 실행 단계에 이르게 되면 현재의 SCN이 확정되고, 오직 이보다 작거나 같은 SCN을 가진 블록들만이 읽혀지게 된다. 변경된 블록(더 높은 SCN을 가진)에 대해서는 데이터가 롤백 세그먼트로부터 읽혀진다.


참 조 :

SCN_TO_TIMESTAMP for information on converting SCNs to timestamp

예제

MAIN

다음 예제는 oe.orders 테이블에 행을 삽입하고, 삽입 연산의 시스템 변경 번호를 판단하기 위하여 TIMESTAMP_TO_SCN을 이용한다. (실제로 SCN은 각 시스템 마다 다른 값을 반환)

INSERT INTO orders (order_id, order_date, customer_id, order_total)
   VALUES (5000, SYSTIMESTAMP, 188, 2345);
1 row created.

COMMIT;
Commit complete.

SELECT TIMESTAMP_TO_SCN(order_date) FROM orders
   WHERE order_id = 5000;

TIMESTAMP_TO_SCN(ORDER_DATE)
----------------------------
                      574100