Oracle 11g新特性之--只读表(read only table)
admin
2023-05-11 17:42:00
0次

Oracle 11g新特性之--只读表(read only table)

      Oracle11g推出了一个新的特性,可以将table置于read only状态,处于该状态的table的不能执行DML操作和某些DDL操作。在Oracle11g之前的版本,只能将整个tablespace或者database置于read only状态。对于table的控制则只能通过权限来设定。

案例分析:

11:44:46 SCOTT@ test1 >select * from tab;
TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
BONUS                          TABLE
CREDIT_CLUSTER                 CLUSTER
CREDIT_ORDERS                  TABLE            1
DEPT                           TABLE
EMP                            TABLE
EMP1                           TABLE

11:44:56 SCOTT@ test1 >select count(*) from emp1;
  COUNT(*)
----------
        18
Elapsed: 00:00:00.04
11:45:12 SCOTT@ test1 >alter table emp1 read only;
Table altered.

11:51:46 SCOTT@ test1 >select read_only from user_tables where table_name='EMP1';
REA
---
YES

对只读表做DML:
11:45:20 SCOTT@ test1 >insert into emp1 select * from emp where rownum=1;
insert into emp1 select * from emp where rownum=1
            *
ERROR at line 1:

ORA-12081: update operation not allowed on table "SCOTT"."EMP1"
Elapsed: 00:00:00.04
11:45:38 SCOTT@ test1 >delete from emp1;
delete from emp1
            *
ERROR at line 1:
ORA-12081: update operation not allowed on table "SCOTT"."EMP1"
Elapsed: 00:00:00.00
11:45:47 SCOTT@ test1 >update emp1 set sal=6000 where empno=7788;
update emp1 set sal=6000 where empno=7788
       *
ERROR at line 1:
ORA-12081: update operation not allowed on table "SCOTT"."EMP1"

TRUNCATE TABLE:
11:46:03 SCOTT@ test1 >truncate table emp1;
truncate table emp1
               *
ERROR at line 1:
ORA-12081: update operation not allowed on table "SCOTT"."EMP1"
Elapsed: 00:00:00.09

DROP TABLE:
11:46:45 SCOTT@ test1 >drop table emp1;
Table dropped.
Elapsed: 00:00:00.70
11:47:05 SCOTT@ test1 >show recycle;
ORIGINAL NAME    RECYCLEBIN NAME                OBJECT TYPE  DROP TIME
---------------- ------------------------------ ------------ -------------------
EMP1             BIN$ComP5WftmQ7gUKjA+QgIyQ==$0 TABLE        2014-12-19:11:47:04
11:47:52 SCOTT@ test1 >flashback table emp1 to before drop;
Flashback complete.
11:49:56 SCOTT@ test1 >select count(*) from emp1;
  COUNT(*)
----------
        18
        
MOVE TABLE:        
11:50:06 SCOTT@ test1 >alter table emp1 move;
Table altered.
Elapsed: 00:00:00.54

压缩表:
11:51:27 SCOTT@ test1 >alter table emp1 compress;
Table altered.
Elapsed: 00:00:00.09
11:51:39 SCOTT@ test1 >alter table emp1 nocompress;
Table altered.
Elapsed: 00:00:00.16

约束管理:
11:52:53 SCOTT@ test1 >alter table emp1 add constraint fk_emp1 foreign key(deptno) references dept(deptno);
Table altered.

11:54:29 SCOTT@ test1 >alter table emp1 drop constraint fk_emp1;
Table altered.

11:54:47 SCOTT@ test1 >create index emp1_empno_ind on emp1(empno) tablespace indx;
Index created.

索引管理:
11:55:17 SCOTT@ test1 >drop index emp1_empno_ind;
Index dropped.

配置read write:
11:55:27 SCOTT@ test1 >alter table emp1 read write;
Table altered.

11:55:37 SCOTT@ test1 >select read_only from user_tables where table_name='EMP1';
REA
---
NO

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...