2014년 7월 15일 화요일

논리적 저장영역(Data Block,Extents,Segment)[오라클개발자교육/오라클/ORACLE강좌/오라클교육잘하는곳/오라클교육추천/ORACLE실무교육/ORACLE/ORACLE교육/ORACLE학원/오라클실무교육]

논리적 저장영역 
1. Data Block 
- Oracle에서 Data를 저장하는 가장 작은 단위, 블록단위로 DataBase의 DataFile에 있는 저장영역 
을 관리한다. 
- Data Block의 크기는 최대한계내에는 운영체제 블록크기의 배수여야 한다. 
- 구성 
  Head : 블록주소와 Segment유형(Data,Index,RollBack…)등의 일반적인 블록정보를 포함 
Table Directory : 해당블록에 행을 가지는 Table에대한 정보를 가진다. 
Row Directory : 블록내의 실제 행에 대한 정보를 가진다. 
Row Data : Table Data Or Index Data를 포함한다. 
빈영역 
  트랜잭션 입력항목에 사용되는 영역 :  블록내의 하나이상의 행을 Access하는 
                                      Insert/Update/Delete/Select등의 명령문은 
                                      블록에 하나의 트랜잭션 입력항목을 필요로 한다. 
                                      대부분의 운영체제에서는 약23 Byte정도를 필 
                                      요로함 


2. Extents 
- 저장영역할당을 위한 논리적인 단위로 연속적인 몇 개의 Data Block으로 구성된다. 
- 각 Segment는 적어도 하나이상의 Extents(RollBack Segment는 2개이상)를 자지고 생성됩니다. 
이러한 확장을 initial extents라고 한다. 
- 일반적으로 한 Segment의 확장영역은 drop table또는 drop cluster명령으로 개체를 삭제하여 
TableSpace에 반환한다. 
(예외)truncate … drop storage를 이용하여 Table이나 Cluster를 Truncate시킬수 있슴 
    Oracle은 주기적으로 RollBack Segment에 있는 하나이상의 Extents를 해제할수 
    있다. 
    DBA는 alter table table_name deallocate unused명령을 이용하여 확장영역을 해제할 
    수 있다. 


3. Segment 
- Extents(확장영역)의 집합 
A. Data Segment 
- DataBase의 SnapShot과SnapShot Log를 포함한 모든 Cluster화 되지 않은 Table은 자신의 
Data를 저장하기위해 단일데이터세그먼트(Single Data Segment)를 가진다. Create 
Table/SnapShot/SnapShot Log명령을 사용하여 Object를 생성할때 Data Segment를 
생성하며 Create Cluster명령이 실행될때 Cluster 에 대한 Data Segment를 생성한다. 

B. Index Segment 
- Index생성시 Segment할당된다.(Create Index…) 

C. RollBack Segment 
- Transaction이 RollBack되어야할 경우 트랜잭션 작동을 기록 
- 각 DataBase에는 하나이상의 RollBack Segment가 있슴 
- Transaction별로 변경되기전의  Data를 기록 
- Transaction을 Commit할때 RollBack Segment의 정보를 해체하지만 바로 없애지는 않는다. 
Transaction을 Commit 하기전에 시작된 Query에 관련된 Data의 read-consistent  view(읽기 
일관성 뷰)를 생성하지위해 data가 RollBack Segment에 남아 있다. 
그러한 View를 생성할 가능성이 있는한 RollBack Data를 사용할 수 있도록 Oracle은 
RollBack Segment의 확장영역을 순차적으로 사용한다. 
RollBack Segment의 마지막 영역이 꽉차면 첫번째 Extents로 돌아가서 RollBack Data를 기록함. 
또한 장기적으로 실행되는 Transaction은 RollBack Segment에 새로운 Extents(확장영역)를 
요구할수도 있슴. 

D. Temp Segment 
- Create Index, Select Order By, Select Distinct, Select Group By, Select Union, 
Select,Minus,Select ,Intersect등의 명령은 Temp Sefment를 필요로 한다. 
예를들어 Query에 Distint,Group By,Order by등이 있으면 Oralce은 두개의 Temp 
Segment를 요구할수도 있다. 명령이 완료되면 Oracle은 Temp Segment를 삭제한다. 

- Oracle은 사용자 Session기간 동안 필요한만큼의 Temp Segment를 생성한다. 
Create User나 Alter User등의 명령에 Temporary TableSpace다음의 TableSpace에 Temp 
Segment를 생성한다. 사용자가 Temp Segment를 생성하지 않으면 Default System TableSpace임 

예)create user scott identified by tiger default tablespace users temporary 
tablespace temp; 

오라클자바커뮤니티교육센터, 개발자전문교육, 개인80%환급 
www.oraclejavacommunity.com


평일주간(9:30~18:10) 개강
(7/21)[기업100%환급]자바기초에서 JDBC, Servlet/JSP까지 
(7/21)[기업100%환급]Spring ,MyBatis,Hibernate실무과정
(7/21)[기업100%환급]PL/SQL,ORACLE HINT,TUNING
(7/21)[채용예정교육]오라클자바개발잘하는신입뽑기프로젝트,교육전취업확정
(7/28)[기업100%환급]C#4.0,WinForm,ADO.NET프로그래밍
(7/28)[기업100%환급]안드로이드개발자과정
(7/28)[기업100%환급]SQL기초에서 Schema Object까지

평일야간(19:00~21:50) 개강
(7/16)Spring3.X, MyBatis, Hibernate실무과정
(7/21)웹퍼블리싱 마스터
(7/22)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(7/22)닷넷(C#,Network,ADO.NET,ASP.NET)마스터과정
(7/24)SQL기초에서실무까지
(7/29)안드로이드개발자과정
(8/05)MyBatis3.X, Hibernate4.X ORM실무과정

주말(10:00~17:50) 개강
(7/19)JSP,Ajax,jQUERY,Spring,MyBatis,Hibernate속성과정
(7/19)SQL초보에서 Schema Object까지
(7/19)C#,ASP.NET마스터
(7/19)Spring3.X, MyBatis, Hibernate실무과정
(7/19)웹퍼블리싱 마스터
(7/19)안드로이드개발자과정
(7/26)개발자를위한PLSQL,SQL튜닝,힌트
(8/02)MyBatis3.X, Hibernate4.X ORM실무과정
(8/09)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(8/23)JAVA,Network&WEB&Framework(자바기초에서웹스프링까지)

주말저녁(18:30~22:20) 개강
(8/02)JAVA,Network&WEB&Framework
(8/09)SQL기초에서실무까지

댓글 없음:

댓글 쓰기