[ Oracle - Table Foreign Key Stop/Start ]
|
'(DB) Oracle > Table' 카테고리의 다른 글
Oracle - Table foreign key (0) | 2017.01.21 |
---|---|
Oracle - Tablespace (0) | 2017.01.21 |
Oracle - Table_및_Index_Size계산 (0) | 2017.01.21 |
Oracle - Table (0) | 2017.01.21 |
[ Oracle - Table Foreign Key Stop/Start ]
|
Oracle - Table foreign key (0) | 2017.01.21 |
---|---|
Oracle - Tablespace (0) | 2017.01.21 |
Oracle - Table_및_Index_Size계산 (0) | 2017.01.21 |
Oracle - Table (0) | 2017.01.21 |
[ Oracle - Table foreign key ]
☞ 1. foreign key 삭제 | |
- ALTER TABLE 테이블이름 DROP CONSTRAINT 외부키이름; | |
☞ 2. foreign 잠시 pause(disable) 시키기 | |
- alter table TABLE_NAME disable constraint FOREIGN_KEY_NAME cascade; | |
☞ 3. foreign 잠시 start(enable) 시키기 | |
- alter table TABLE_NAME enable constraint FOREIGN_KEY_NAME ; | |
☞ 4. 테이블에 대한 foreign key 리스트 | |
--하나의 테이블에 대한 constraint list 조회 |
Oracle - Table Foreign Key Stop/Start (0) | 2017.01.21 |
---|---|
Oracle - Tablespace (0) | 2017.01.21 |
Oracle - Table_및_Index_Size계산 (0) | 2017.01.21 |
Oracle - Table (0) | 2017.01.21 |
[ Oracle - Tablespace ]
☞ 테이블스페이스 총 크기, 사용량, 남은 공간 조회 | |
SELECT a.tablespace_name, ROUND(SUM(a.total) / 1024/1024, 2) "Totab(M)" |
Oracle - Table Foreign Key Stop/Start (0) | 2017.01.21 |
---|---|
Oracle - Table foreign key (0) | 2017.01.21 |
Oracle - Table_및_Index_Size계산 (0) | 2017.01.21 |
Oracle - Table (0) | 2017.01.21 |
[Oracle TABLE SIZE 및 INDEX SIZE(크기) 계산]
1. TABLE SIZE 계산 공식(ORACLE BLOCK SIZE : 2K 로 가정)
------------------------------------------------------
$ sqlplus scott/tiger
SQL> SELECT GREATEST(4, ceil(ROW_COUNT /
((round(((1958 - (initrans * 23)) *
((100 - PCTFREE) /100)) / ADJ_ROW_SIZE)))) * BLOCK_SIZE)
TableSize_Kbytes
FROM dual;
*. 한 개의 BLOCK에 Available 한 Bytes - 1958
*. 각 initrans 는 23 Bytes
*. PCT_FREE : Table 의 pctfree 값(default 10)
*. ADJ_ROW_SIZE : 각 row 의 평균 SIZE 추정치
*. ROW_COUNT : table 의 row 의 갯수
*. BLOCK_SIZE : 1 block의 크기 (단위: K)
예) table 이름이 EMP 일 경우
ROW_COUNT : select count(*) from emp;
ADJ_ROW_SIZE :
analyze table emp compute statistics;
(또는 건수가 매우 많을 때에는 compute 대신 estimate 사용)
select avg_row_len
from user_tables
where table_name='EMP';
2. INDEX SIZE 계산 공식
-----------------------
SQL> SELECT GREATEST(4, (1.01) * ((ROW_COUNT /
((floor(((2048 - 113 - (initrans * 23)) *
(1 - (PCTFREE/100))) /
((10 + uniqueness) + number_col_index +
(total_col_length)))))) * DB_BLOCK_SIZE))
IndexSize_Kbytes
FROM dual;
*. 한 개의 block에 available 한 bytes ( 1935 or 2048 - 113 )
*. 각 initrans 는 23 Bytes
*. ROW_COUNT : table 의 row 의 갯수
*. PCTFREE : Index 의 pctfree 값(default 10)
*. number_col_index : Index 에서 column 의 수
*. total_col_length : Index 의 길이 추정치
*. uniqueness : 만일 unique index 이면 1, non-unique index 이면 0.
*. DB_BLOCK_SIZE : 1 block의 크기 (단위: K)
Oracle - Table Foreign Key Stop/Start (0) | 2017.01.21 |
---|---|
Oracle - Table foreign key (0) | 2017.01.21 |
Oracle - Tablespace (0) | 2017.01.21 |
Oracle - Table (0) | 2017.01.21 |
[ 테이블 DROP시 휴지통 기능 ]
1. 정의 : 테이블을 삭제 하면 오라클도 휴지통을 만들어 놓았다.
2. oracle 10g부터 존재
3. table을 drop 하면 : [ BIN$H+0On1PSLBbgRACAFyioeA==$0 ] 와 같은 형식의 테이블이 생성된다.
4. 휴지통 비우기
SQL> purge recyclebin; 사용자의 휴지통 비우기
SQL> purge dba_recyclebin; 휴지통내의 모든 놈들 비우기
SQL> purge tablespace users; users테이블스페이스의 휴지통 비우기
SQL> purge table "휴지통내의 이름" ; 휴지통의 하나의 객체만 제거시
6. 휴지통 기능을 enable/disable 상태 확인 및 처리 방법
상태확인 : SQL> SELECT a.ksppinm, b.ksppstvl, b.ksppstdf
FROM x$ksppi a, x$ksppcv b WHERE a.indx = b.indx AND a.ksppinm like '%recycle%'
ORDER BY a.ksppinm;
처리방법 : * 10g Release1 의 경우
SQL> ALTER SYSTEM SET "_recyclebin"=FALSE SCOPE = BOTH;
* 10g Release2 의 경우 (R2는 default 값이 ON 이므로 OFF 로 만들어 버린다.)
SQL> ALTER SESSION SET recyclebin = OFF;
SQL> ALTER SYSTEM SET recyclebin = OFF;
7. 휴지통: drop된 DB객체들을 아래의 상황이전까지 보유한다.
- purge명령으로 영구히 삭제
- undrop명령으로 drop된 객체를 복구
- 테이블스페이스내 (휴지통의) 공간이 부족할때
- 테이블스페이스가 extend될 때
8. 휴지통에 들어있는 객체들 보기
user_recyclebin
dba_recyclebin
9. 휴지통의 객체 복구
SQL> flashback table "휴지통내의 이름" to before drop;
예) SQL>flashback table "BIN$VPaE9OG4Qwa+KC0MesYKqw==$0" to before drop;
10. 휴지통에 넣지 않고 drop
SQL> drop table 테이블명 purge;
11.
Oracle - Table Foreign Key Stop/Start (0) | 2017.01.21 |
---|---|
Oracle - Table foreign key (0) | 2017.01.21 |
Oracle - Tablespace (0) | 2017.01.21 |
Oracle - Table_및_Index_Size계산 (0) | 2017.01.21 |