본문 바로가기

DBMS/ORACLE

[ORACLE] UNDO, Temporary Undo UNDO Undo Data란 사용자가 DML을 수행할 경우 발생하는 원본 데이터를 말한다 이런 Undo Data만을 저장하는 Segment를 Undo Segment라고 한다 Undo Segment 를 저장하고 있는 특별한 Tablespace 가 Undo Tablespace 이다. Undo Tablespace 는 관리자가 생성할 수 있고, 관리할 수 있지만 이 곳에는 Undo Data 외의 다른 데이터는 저장될 수 없으며 Undo Data 라고 하더라도 사용자가 관여할 수 없고 Oracle Server Process 가 직접 관리한다. Undo Tablespace의 특징 Oracle Server Process는 이 Tablespace에 undo segment를 생성한다 기본적으로 각 사용자 별로 undo .. 더보기
[ORACLE] Source routing (소스 경로 지정 방식) 소스라우팅은 Oracle Connection Manager와 함께 사용되어야한다 Oracle Net traffice에 대하여 프록시 서버로서 동작한다 Oracle Net traffice를 활성화하여 모든 연결이 방화벽을 경유하여 안전하게 라우팅 될 수 있도록 할 수 있다. Oracle Net은 주소들의 목록을 중계기처럼 사용한다 1. 첫 번째 주소에 접속한다 2. 목적지에 도달할 때까지 첫 번째 주소에서 그 다음 주소로 전달한다. 연결할 때마다 모든 주소가 사용된다는 점에서 failover와 loadbalance 와는 차이가 있다. 솔직히 접속 요청을 전달하는 것과 모든 주소가 사용된다는 점이 이해되지 않는다. 아시는분 있으면 댓글좀 달아주시면 감사하겠습니다. 더보기
[ORACLE] FAILOVER 하나의 노드에 장애가 발생했을 떄 다른 살아있는 노드에서 이 Application의 서비스를 대신해 주는것 사용자는 서비스의 장애를 감지하지 못하고 정상적으로 서비스를 이용할 수 있는 기능을 의미한다 CTF(connection Time Failover) : 해당 데이터베이스로 접속을 시도했지만 해당 서버에 장애가 발생하여 접속하지 못할 경우 살아있는 다른 서버로 접속할 수 있게 해줌 TAF(Transparent Apllication Failover): RAC에서 어느 한 노드에 접속하여 작업하던 도중 장애가 발생했을 경우 살아있는 다른 노드에서 수행중이던 작업을 계속할 수 있게 해주는 기능 더보기
[ORACLE] BIGFILE TABLESPACE BigFile Tablespace(BFT)는 아주 큰 크기의 datafile을 가질 수 있는 tablespace이다. Oracle Database 10g의 새로운 addressing 기법에 의해, 하나의 datafile이 40억개의 block을 가질 수 있게 되었다. 그래서, 최대 datafile 크기는 block의 크기에 따라 8TB ~ 128TB까지 이뤄질 수 있다. 이와 구분하기 위하여 상대적으로 작은 여러 개의 datafile을 갖고 있는 기존의 tablespace는 Smallfile tablespace라고 한다. Oracle Database 10g는 이 두 종류의 tablespace를 모두 가질 수 있다. BFT는 오직 Locally-managed tablespace를 지원한다. 이를 사용하면,.. 더보기
[ORACLE] SET UNUSED 컬럼 사용을 제한하는 방법 중 하나이다. 흔히 생각하는 컬럼 사용을 제한하는 방법은 삭제하는 것이다. 하지만 안쓰는 컬럼이라고 해서 delete해버리기엔 리스크가 너무 크고, 데이터가 많은 테이블 같은 경우에는 delete에 대한 시간도 상당히 소요될 것이다. 추가적으로 해당 테이블의 컬럼을 삭제하는 동안 LOCK이 발생하기 때문에 테이블 사용에 제한이 걸릴 수 있다. 따라서 안쓰게만 바꿔주는 것은 좋은 방법일 수 있다. ALTER TABLE에 SET UNUSED 옵션을 지정하면 컬럼을 삭제하는 것은 아니지만 삭제된 것 처럼 사용을 제한할 수 있다. 하지만 실제로 삭제를 진행하는 것이 아니기 떄문에 LOCK을 피할 수 있다. 하지만 실질적으로 UNUSED가 되면 drop 한것과 같은 상태이다. 따라서 U.. 더보기
[ORACLE] ROWID 정의 정의: ORACLE에서 INDEX를 생성하기 위하여 내부적으로 사용하는 PSEUDOCOLUMN으로 사용자가 임의로 변경하거나 삭제할 수 없다. 테이블의 한 컬럼처럼 참조만 가능하며 데이터베이스에 값이 저장되지 않는다 물리적인 ADDRESS를 가지고 있어 SINGLE BLOCK ACCESS로 찾고자 하는 ROW를 찾을 수 있어 물리적인 ROWID는 주어진 테이블에 가장 빠른 ACCESS 방법을 제공한다. ROWID AAAArs AAD AAAAUa AAA ------ --- ------ --- 1 2 3 4 1) 데이터 오브젝트 번호 - 오브젝트의 고유번호를 나타낸다 2) 상대적 파일 번호 - 각각의 데이터 파일에 할당되는 번호 3) 블록 번호 - 데이터 블록의 위치를 알려주는 번호 4) 블록내의 행 번호 .. 더보기
[오라클 문법] INTERVAL DAY TO SECOND INTERVAL DAY TO SECOND 일, 시, 분, 초를 사용하여 두 날짜간의 기간을 저장하기 위한 자료형이다. INTERVAL DAY(일수에 대한 자릿수) TO SECOND(초에 대한 자릿수) DEFAULT: 2자리 함수를 사용해서 만들 수 있겠지만 오라클에서 만들어놓은 함수이니 사용하는 방법도 좋아보인다. 더보기