본문 바로가기

전체 글43

[오라클] catalog database - oracle 10g 10.2.0.1.0 - enterprise linux target database : 백업을 진행하고자 하는 database catalog database : target database의 controlfile정보를 저장하는 별도의 DB RMAN으로 백업할 경우 controlfile에 백업, 리커버리 정보를 저장하게 되는데 이 정보는 덮어쓰여질 수 있다. 따라서 리커버리를 수행하지 못할 경우가 생긴다. 이 controlfile의 정보를 다른 DB 즉 catalog Database에 저장시켜 보존시키는 전략이다. catalog database를 구축하기 위해 별도의 Database(원격으로 접근)안에 전용 tablespace, user가 필요하다. user의 경우 전용 tablesp.. 2011. 11. 2.
[오라클] backup 오라클의 백업에는 툴을써서 하는경우와 command line에서 하는 백업으로 나뉜다. 그 중 command line에서 진행하는 User managed backup에 대해서 알아보고자 한다. 백업에 필요한 뷰 dba_data_files v$controlfile v$logfile User managed backup -cold backup 쉽게 말해서 open상태의 DB를 shutdown 시켜놓고 백업하는 것을 말한다. 1. DATABASE shutdown 2. os상에서 컨트롤파일, 데이터파일, 리두로그파일, 파라미터파일 등 모든 것을 복사 3. DATABASE open -hot backup cold backup과는 반대로 DB가 open상태일 때 백업하는 방법이다. tablespace의 경우 archi.. 2011. 11. 2.
[오라클] 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.