-- 20130311
-- 오라클 데이터 딕션어리 뷰
select *
from dict ;
dba_ : (dba권한) DB 모든 정보 조회 가능
-> grant select_catalog_role to DB계정명 (딕션어리정보만 볼수 있는 권한)
all_ : DB 내가 만든 것 + DB 내가 권한 받은 것
user_ : DB 내가 만든 것
x$ : DB 성능 및 통계정보
v$ : DB 성능 및 통계정보
EX)
select *
from dba_tables ; all_table ; user_tables ;
--PK
1. not null + 중복제거
2. pk컬럼은 자동으로 인덱스 생성
3. 1개 테이블에 pk는 존재 o (pk 1개만 생성), 존재 x
4. 1개 테이블에 1개 또는 여러개의 컬럼으로 pk는 1개 만들 수 있다.
--FK
1. 데이터는 부모없는 자식은 없다.
2. 데이터는 자식없는 부모는 있다.
3. 데이터의 변경 및 삭제는 자식부터 한다.
-- 테이블 생성 스크립트
CREATE TABLE 테이블명 (
FILE_ID VARCHAR2(25) NOT NULL,
FILE_ID_FORM VARCHAR2(6),
RECP_DT VARCHAR2(8),
WRK_TYPE_SEQ VARCHAR2(6),
RECV_DT VARCHAR2(8),
CONSTRAINT PK_테이블명 PRIMARY KEY (FILE_ID)
using index
tablespace 테이블스페이스명
storage( initial 1M next 1M maxextents unlimited pctincrease 0
freelists 10 freelist groups 2 )
)
tablespace 테이블스페이스명
storage( initial 1M next 1M maxextents unlimited pctincrease 0
freelists 10 freelist groups 2 )
/
-- NOT NULL을 NULL로 바꾸기
ALTER TABLE 테이블명 MODIFY (컬럼명 데이터타입 NULL ) ;
-- NULL을 NOT NULL로 바꾸기
ALTER TABLE 테이블명 MODIFY (컬럼명 데이터타입 NOT NULL ) ;
-- 컬럼 변경
ALTER TABLE 테이블명 MODIFY (컬럼명 VARCHAR2( 20 ) ) ;
-- 컬럼 추가
alter table 테이블명
add (컬럼명 데이터타입);
-- 컬럼 삭제
alter table 테이블명
drop column 컬럼명 ;
-- 테이블명 변경
alter table 변경전 테이블명 rename to 변경 후 테이블명 ;
-- 컬럼명 변경
alter table 테이블명 rename column 기존컬럼명 to 새로사용할컬럼명 ;
-- 테이블 삭제
drop table 테이블명 ;
-- 스퀸스 삭제
drop sequence 유저명.시퀀스명 ;
-- 스퀸스 생성
create sequence 유저명.시퀀스명
increment by 1 -- 증가값
start with 701 -- 시작값
MINVALUE 701 -- 최소값
MAXVALUE 799 -- 최대값
cache 20 -- 메모리
cycle ;
-- 스퀸스 MAX값 변경
ALTER SEQUENCE 유저명.시퀀스명 MAXVALUE 99999;
-- FK 생성시 enable validate 로 변경할때
alter table 테이블명 enable validate constraint FK명 ;
--FK 생성
ALTER TABLE 자식테이블명 ADD (
CONSTRAINT FK명 FOREIGN KEY (컬럼명)
REFERENCES 부모테이블명 (컬럼명));
--FK 삭제
alter table 자식테이블명 DROP CONSTRAINTS FK명 ;
--인덱스 추가
CREATE INDEX 인덱스명 ON 테이블명
(컬럼명)
tablespace 테이블스페이스명
storage(initial 1M next 1M pctincrease 0 maxextents unlimited freelists 10 freelist groups 2);
-- 인덱스 삭제
drop index 인덱스명 ;
-- 인덱스명 변경
alter index 변경전인덱스명 rename TO 변경후인덱스명 ;
-- pk 리빌드
alter index PK명 rebuild ;
-- PK 변경
select * from dba_segments where segment_name like '%PK명%';
alter table 테이블명 drop primary key;
drop index PK명 ;
alter table 테이블명 add
CONSTRAINT PK명 PRIMARY KEY (컬럼명)
using index
tablespace 테이블스페이스명
storage( initial 1M next 1M maxextents unlimited pctincrease 0 freelists 10 freelist groups 2 );
-- PK 생성
ALTER TABLE 테이블명 add
CONSTRAINT PK명 PRIMARY KEY (컬럼명)
using index
tablespace 테이블스페이스명
storage( initial 1M next 1M maxextents unlimited pctincrease 0 freelists 10 freelist groups 2 )
;
-- 주석 보기
-- 테이블 주석
dba_tab_comments
-- 컬럼 주석
dba_col_comments
'ORACLE' 카테고리의 다른 글
오라클 falshback (0) | 2013.03.16 |
---|---|
오라클 awr 리포트 뽑기 (0) | 2013.03.13 |
오라클 분석함수 rank(), max(), sum() (0) | 2012.09.17 |
뷰생성 후 다른계정에서 조회가 안될경우 (0) | 2012.09.03 |
Oracle lock 확인 및 kill 방법 (0) | 2012.08.08 |