내맘대로긍정이 알려주는
Oracle 23ai 신기능
무료 세미나 발표자료
OS환경 : Oracle Linux7.2(64bit)
DB 환경 : Oracle Database 18.0.0.0
방법 : oracle dba_data_files의 maxsize 테스트
모든 테이블 스페이스 사이즈를 100mb로 할당하고 autoextends를 on으로 하고 maxsize를 주는경우, autoextends를 on으로 하고 maxsize를 안주는경우, autoextends를 off로 하는 경우를 테스트(maxsize 는 200m 지정)
1. autoextends를 on으로 하고 maxsize를 주고 테이블 스페이스 생성(test01)
1 | SQL> create tablespace test01 datafile '/oracle/data01.dbf' size 100m autoextend on next 10m maxsize 200m; |
2. autoextends를 on으로 하고 maxsize를 안주고 테이블 스페이스 생성(test02)
1 | SQL> create tablespace test02 datafile '/oracle/data02.dbf' size 100m autoextend on; |
3. autoextends를 off으로 하고 테이블 스페이스 생성(test03)
1 | SQL> create tablespace test03 datafile '/oracle/data03.dbf' size 100m autoextend off; |
4. 각 테이블 스페이스 정보 확인
1 2 3 4 5 6 7 8 9 | SQL> set lines 200 set pages 1000 col tablespace_name for a20 col file_name for a30 select tablespace_name, file_name, autoextensible, bytes/1048576 mb, maxbytes/1048576 max_mb, maxblocks from dba_data_files where tablespace_name like 'TEST%' order by 1,2; |
결과
1. autoextends를 on으로 하고 maxsize를 주고 테이블 스페이스 생성(test01)
=> maxsize가 지정해준 200MB로 할당됨
2. autoextends를 on으로 하고 maxsize를 안주고 테이블 스페이스 생성(test02)
=> maxsize가 32767.9844 로 할당됨
이는 데이터파일의 최대 용량
(최대 datafile size = db_block_size * maximum number of blocks)
3. autoextends를 off으로 하고 테이블 스페이스 생성(test03)
=> maxsize가 0, autoextends가 off이기때문에 자동으로 늘어나지 않아서 maxsize 0임
1 | SQL> alter database datafile '/oracle/data01.dbf' autoextend on maxsize 50m; |
1 2 3 4 5 6 7 8 9 | SQL> set lines 200 set pages 1000 col tablespace_name for a20 col file_name for a30 select tablespace_name, file_name, autoextensible, bytes/1048576 mb, maxbytes/1048576 max_mb, maxblocks from dba_data_files where tablespace_name like 'TEST%' order by 1,2; |
결과
autoextends를 on으로 하고 maxsize(maxbytes)를 bytes 보다 작게 설정
9i,10g => maxsize가 지정해준 50MB로 설정됨(maxbytes가 bytes 보다 적은 현상 발생)
11g 이상 => maxsize가 지정해준 50MB로 할당되지 않고 bytes size 인 100MB로 설정됨
추가 테스트2
0. 원복
1 | SQL> alter database datafile '/oracle/data01.dbf' autoextend on maxsize 200m; |
1 2 | SQL> drop tablespace test01 including contents and datafiles; SQL> create tablespace test01 datafile '/oracle/data01.dbf' size 100m autoextend on next 10m maxsize 200m; |
1 | SQL> alter database datafile '/oracle/data01.dbf' resize 300m; |
1 2 3 4 5 6 7 8 9 | SQL> set lines 200 set pages 1000 col tablespace_name for a20 col file_name for a30 select tablespace_name, file_name, autoextensible, bytes/1048576 mb, maxbytes/1048576 max_mb, maxblocks from dba_data_files where tablespace_name like 'TEST%' order by 1,2; |
결과
autoextends를 on으로 하고 bytes를 maxsize(maxbytes) 보다 크게 설정
9i,10g,11g 그이상 동일 => bytes가 지정해준 300MB로 설정됨(maxbytes가 bytes 보다 적은 현상 발생)
*maxsize 는 autoextend 자동확장 될때 최대치를 잡는 것이기 때문에
alter database datafile 00 resize 300m; 등 maxsize 보다 높은 값을 지정하면 autoextend는 무용지물이 된다.
참조 :
'ORACLE > Admin' 카테고리의 다른 글
failed login attempts 설정 후 실패한 세션 확인 (0) | 2018.10.24 |
---|---|
rman 으로 아카이브로그 정리하기 (0) | 2018.10.12 |
tnsnames 설정으로 다른서버 db 접속 (0) | 2018.09.06 |
dbms_redefinition 패키지 테스트 시나리오 (2) | 2018.08.31 |
오라클 db 클라이언트 간 버전 호환 문서 207303.1 데이터베이스 서버 업그레이드 / 다운 그레이드 호환성 매트릭스 (문서 ID 551141.1) (0) | 2018.08.20 |