2014년 8월 23일 토요일

[오라클강좌 : 오라클읽기전용테이블, read only table]Oracle 11g : 읽기 전용 테이블, 오라클자바커뮤니티 오라클교육강좌

[오라클강좌 : 오라클읽기전용테이블, read only table]Oracle 11g : 읽기 전용 테이블, 오라클자바커뮤니티 오라클교육강좌

 
이전 버전의 오라클에서는 테이블은 다른 사용자에게 SELECT 오브젝트 권한을 주는 경우에만 읽기전용이 가능했고 해당 Owner는 테이블에 Read/Write 둘 다 가능했으며 읽기전용으로 만드는 것은 불가능 했다.
 
오라클 11g에서부터 alter table 테이블명 read only 명령으로 읽기전용으로 변경이 가능하다,
 
[형식]
ALTER TABLE table_name READ ONLY;
ALTER TABLE table_name READ WRITE;
 
 
SQL>reate table readtest 
as
select rownum id, '홍길동'||rownum name from dual;
 
SQL>select * from readtest;
 
SQL> alter table readtest read only;
 
테이블이 변경되었습니다.
 
SQL> insert into readtest values (2, '김길동');
insert into readtest values (2, '김길동')
            *
1행에 오류:
ORA-12081: "SCOTT"."READTEST" 테이블에 작업을 갱신하는 것이 허용되지 않습니다
 
 
SQL> delete from readtest;
delete from readtest
            *
1행에 오류:
ORA-12081: "SCOTT"."READTEST" 테이블에 작업을 갱신하는 것이 허용되지 않습니다
 
 
SQL> truncate table readtest;
truncate table readtest
               *
1행에 오류:
ORA-12081: "SCOTT"."READTEST" 테이블에 작업을 갱신하는 것이 허용되지 않습니다
 
 
SQL> alter table readtest read write;
 
테이블이 변경되었습니다.
 
SQL> truncate table readtest;
 
테이블이 잘렸습니다.



댓글 없음:

댓글 쓰기