본문 바로가기

IT/Oralce work shop 112

[오라클] PCT_USED, PCT_FREE segments는 저장공간이 존재하게 되는데 그것을 블록단위로 관리할 수 있다. segment를 만들거나 수정할 때 PCT_USED, PCT_FREE 파라미터를 조정해 어느 시점에서 이 블록에 다시 저장시킬 것인가 등을 결정한다. 아무런 설정없이 segment를 만들게 되면 default로 PCT_FREE는 10, PCT_USED는 40으로 설정 되어있다. 데이터가 가득차게되면 PCT_FREE로 설정된 부분은 차지 않는다. 이는 해당 블록의 데이터가 update되어 더 많은 공간을 차지하게 되었을 때 row migration을 미연에 방지하기 위함이다. 블록은 가득차 있고 해당블록의 내용 중 하나가 update되어 더 많은 공간이 필요할 때 비로서 PCT_FREE를 사용하게 되는 것이다. 점차 데이터가 .. 2011. 11. 1.
[오라클] shrink 블록에 데이터들이 저장되고 빠져나가는 과정에서 fragment가 형성되기 마련이다. 그렇게 형성된 저장공간들은 각 segment들의 PCT_USED 파라미터에 의해 사용이 될 수도 되지 않을 수도 있다. 참고 - [Oracle/work shop 1] - [oracle] PCT_USED, PCT_FREE 따라서 저장공간을 낭비하게 되는데 이것을 해결하는 것이 shrink명령어 이다. shrink 명령어 사용시 주의사항으로 1. 해당 segment의 row movement 가 활성화 되어있어야한다. (row movement가 활성되야 각 row들의 데이터들을 이동시킬 수 있다.) 2. 이동되는 row에 대해서 index의 정보도 같이 변경된다. 3. index의 정보도 같이 변경시키기 위해 많은 시간이 소요.. 2011. 11. 1.
[오라클] 클러스터링 팩터 쉽게 이야기하면 인덱스가 저장된 블록과 실제 데이터가 존재하는 블록이 잘 매칭 되어있는가에 대한 척도라고 할 수 있다. 예를 들면 사용자가 인덱스가 있는 컬럼에서 범위검색을 해 인덱스를 탔다고 가정하자. 찾고자 하는 값은 1~4까지 이다. 위의 그림과 같이 인덱스 블록 것과 데이터 블록의 것이 한 블록에 있는 경우이다. (물론 rowid로 찾아가겠지만..) 이 경우는 이상적인 클러스터링 팩터를 가지고 있다라고 말할 수 있다. 하지만 위의 그림과 같이 찾고자 하는 데이터들이 각각의 블록에 분산되어 있다고 가정하면 아주 좋지 않은 클러스터링 팩터를 가지고 있다라고 말할 수 있다. 이 경우 저 4데이터를 찾기 위해 블록 I/O를 무려 4번이나 수행할 수도 있는데 비효율적이라고 말할 수 밖에 없을 것이다. 2011. 10. 26.
[오라클] network 설정 네트워크 설정에 필요한 파일들을 보면 1. listener.ora 2. tnsnames.ora 3. sqlnet.ora 크게 위의 3가지 파일이 있다. 파일의 위치는 $ORACLE_HOME/network/admin 에 위치한다. 오라클 설치를 막 끝냈다면 아무런 네트워크 설정이 되어있지 않을 것임으로 파일이 존재하지 않을 수도 있다. 그렇다면 vim 편집기로 만들어 주면된다. ** 주의할 것은 파일이름이나 파일의 내용에 절대로 오타가 있어서는 안된다. 서버측 : listener.ora, sqlnet.ora 클라이언트측 : tnsnames.ora, sqlnet.ora 서버측에는 listener.ora 파일이 필수적이고 어떤 프로토콜, 포트번호를 사용할 것인지 등을 명시한다. 클라이언트측은 tnsnames... 2011. 10. 24.
[오라클] 수동 database 생성 수동 database 생성 test 환경 : vmware 7.1.4 oracle 버전 - oracle 10g R2 OS - oracle enterprise linux database를 생성은 크게 2가지 방법으로 한다. 하나는 수동, 또 다른 하나는 수동. 자동으로 한다는 의미는 오라클에서 지원하는 dbca를 통해서 그래피컬하게 진행한다는 의미이고 수동으로 한다는 것은 역시 text base로 하는 것이다. 수동으로 진행하는 방법을 알아보겠다. ① 먼저 진행하기에 앞서 DB가 설치될 장소를 물색해야한다. 그 장소는 폴더를 의미하며 datafile, controlfile, redologfile이 저장될 폴더이다. 폴더는 oracle의 소유여야 한다. ② 그리고 초기화 파라미터를 설정한다. ** 오라클(여기.. 2011. 10. 24.
오라클 기본 구조 오라클은 위와 같은 기본 구조를 가지고 있다. SGA밑에 있는 초록색 타원은 backgroud process로 필요시에 움직이게 된다. 그 밑에 있는 분홍색 원통의 것은 물리적인 파일을 의미하는 것으로 datafile을 의미한다. ◇ oracle instance DB엑세스 속도향상을 위한 구조이다. 대용량이든 아니든 데이터베이스의 궁극적인 목표는 데이터의 안정성과 엑세스 속도의 향상이다. 엑세스 속도의 향상을 위해서 위의 구조를 사용하게 되는데 밑에 있는 원통형 모양의 datafile들은 물리적인 파일들이다.(오라클을 설치한 곳 어디엔가 분명히 존재하고 있는 파일들이다.) 하지만 위의 오라클 인스턴스는 메모리상에서 상주하기 때문에 찾아보기 힘들 것이다. 이해를 돕기 위해서 하드디스크와 램을 생각해보면 된.. 2011. 6. 25.