페이지

2012년 4월 9일 월요일

admin ws1 넷째날

* 공간 관점에서의 table space
- t/s를 쪼개면 segment, extent, db block
- 공간을 관리한다는 이야기는 segment, extent, block을 어떻게 관리할 것인가의 이야기

* t/s 만들때 type
- permanent: 일반적인 data file
- temporary: 정렬할때만 사용
- undo

* extent allovcation: extent
- extent 사이즈를 지정하는 방식
- auto: 서버가 필요한만큼 지정. extent 사이즈가 다 상이할 수 있음. 단편화 현상이 많아짐.
- uniform: 모든 extent 사이즈를 dba가 지정. 기본은 1M. 사이즈가 동일하기에 성능상 이점 있음.

* segment space management
- LMT를 선택하면 선택할 수 있는 기능으로 segment 관리 방법 설정
- auto: bitmap 방식. ASSM(Automatic Segment Space Management)
- manual: freelist를 조사함. 이전버젼과 호환성 위해서만 존재, auto 권장

* enable logging: t/s를 만들며 생기는 작업에 대한 로그를 남김. 보통 no

* predefined tablespace
- system: data dictionary  저장됨. SYS 스킴가 사용. user가 여길 사용하게 하면 hang 걸릴수 있음. 절대 r/o로 변경하면 안됨.
- sysaux: 10g부터 도입. system t/s에 보관할 수 잇는 사이즈를 넘는 정보를 저장.
- temp: index 생성이나 정렬을 위해 사용
- undotbs1
- users: 10g부터 default table space.
- example: sample schema

* segment 종류
- table: data segment
- index segment
- undo segment
- temp segment
- cache(boot strap) segment: system t/s에 존재하며 permanent type이나 데이터는 아닌 data dictionary이기에 따로 이름을 부르기 위해 cache segment라고 부른다고 생각하면 됨.

* offline 옵션
- normal: 일반적인 offline. t/s의 모든 data file에 오류조건이 없을 경우 offline됨. checkpoint 발생하므로 모든 데이터가 디스크에 기록됨.
- temporary: 오류조건이 있어도 임시로 t/s를 오프라인함. checkpoint 발생.
- immediate: checkpoint를 발생시키지 않고 즉시 offline으로 변경함. 단 noarchivelog 모드인 경우 불가. online으로 돌리려면 media recovery 필요.
- for recover: 이전 버젼 호환성위해서만 사용.

* t/s 삭제
- t/s를 삭제하면 datafile과의 연결을 끊기만 한다고 생각하면 된다. 옵션을 추가해야 데이터파일도 삭제할 수 있다.
- 사용자가 DML작업중인 경우 drop할 수 없기에 offline 후 drop을 권장한다.

* t/s 확인
- tablespace: dba_tablespace, v$tablespace
- datafile: dba_datafile, v$datafile
- temp file: dba_temp_file, v$tempfile

* db사이즈가 커지는 케이스
- t/s 생성
-기존t/s에 data file을 추가
-기본 datafile을 resizing으로 추가
-자동 확장기능 사용
* 계정에 속한 정보들
- user이름
- 인증방식
- default t/s: 생성시 따로 명시 안했으면 system defined default t/s 지정됨(USERS)
 - 9i까지는 system t/s가 sys defined default t/s여서 저장해서 문제가 많았다.
 - 따로 지정방법: creater user kim identified by kim default tablespace A;
- temp t/s: 생성시 따로 명시안했으면 system defined temp t/s 지정됨
- user profile
- consumer group: 나중에 resource manager에서 나옴
- lock state

* temporary t/s
- 정렬을 위한 t/s
- 정렬을 일으키는 작업: index 생성, order by, group by, union, minus 등
※튜닝에서 정렬을 없애는 것도 하나의 이슈
- pga에서 sort area가 있는데 정렬을 할때 이 메모리가 부족하면 temp t/s를 쓰게 된다.

* 인증방법
- password 인증: dictionary 인증 or db인증이라고도 함
 - user가 os의 인증을 받았다고 해도 db에 접속할경우 db의 인증을 다시한번 해야함.
 - remote로 접속할때 pw인증을 위해 pw 파일이 필요함.
- external 인증(os인증): OS의 kim user를 db에 등록해두면 db에 접근할때 sqlplus / 만으로 로그인 가능.
 - local 인증시는 큰 이슈가 없으나 remote로 os인증하여 로그인하면 보안에 허점 발생
 - OS_AUTHENTT_PREFIX=OPS$ -> create user OPS$kim identified by externally 로 구현

※DBA는 반드시 OS 파일 생성이나 삭제 권한을 가져야 한다.=시스템 admin과 자주 이것때문에 싸움





댓글 없음:

댓글 쓰기