2014년 8월 24일 일요일

[오라클강좌 : 오라클읽기전용테이블, 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; 테이블이 잘렸습니다. [출처] 오라클자바커뮤니티 - http://www.oraclejavacommunity.co.kr/bbs/board.php?bo_table=LecOracle&wr_id=219 오프라인진행강좌(개인환급80%) 목록 [평일주간]100%환급6건,안드로이드,자바,C#,스프링3.2,SQL,힌트/튜닝 [주말주간]C#, ASP.NET마스터 [평일,기업100%환급]SQL기초에서 Schema Object까지 [평일야간]HTML5, CSS3,Ajax, jQuery마스터과정 [평일주간,평일야간,주말]Spring,MyBatis,Hibernate개발자과정 [평일주간,평일야간,주말]안드로이드개발자과정 [평일야간,주말주간]JAVA,Network&WEB&Framework 기업100%환급/오라클/자바/스프링/안드로이드/닷넷C#/jQUERY개발자과정(개인80%환급) [평일야간,주말]자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지 웹퍼블리싱 마스터(HTML5,CSS3,jQUERY,AJAX,JavaScript) [채용예정교육]오라클자바개발잘하는신입뽑기2개월과정,교육전취업확정 [평일,기업100%환급]자바기초에서 JDBC, Servlet/JSP까지 [평일야간]닷넷(C#,Network,ADO.NET,ASP.NET)마스터 [기업100%환급]C#4.0,WinForm,ADO.NET프로그래밍(평일주간(단기)) [평일야간,주말,주말야간]SQL기초에서실무까지(SQL기초,PLSQL,힌트,튜닝)

[오라클강좌 : 오라클읽기전용테이블, 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;
 
테이블이 잘렸습니다.


댓글 없음:

댓글 쓰기