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

简介:

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

案例分析:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
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








本文转自 客居天涯 51CTO博客,原文链接:http://blog.51cto.com/tiany/1591685,如需转载请自行联系原作者
目录
相关文章
|
8月前
|
Oracle 关系型数据库 数据库
使用docker安装配置oracle 11g
使用docker安装配置oracle 11g
|
8月前
|
Oracle 关系型数据库 数据库
Oracle查询优化-复制表的定义及数据
【1月更文挑战第5天】【1月更文挑战第14篇】在Oracle数据库中,复制表定义和复制表数据是两个常见的操作。
117 1
|
6月前
|
SQL 机器学习/深度学习 Oracle
关系型数据库Oracle关键特性
【7月更文挑战第5天】
96 3
|
4月前
|
存储 Oracle 关系型数据库
Oracle和MySQL有哪些区别?从基本特性、技术选型、字段类型、事务、语句等角度详细对比Oracle和MySQL
从基本特性、技术选型、字段类型、事务提交方式、SQL语句、分页方法等方面对比Oracle和MySQL的区别。
770 18
|
8月前
|
消息中间件 关系型数据库 Kafka
实时计算 Flink版产品使用合集之oracle cdc 抽取新增一张表 可以从savepoint恢复吗
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
6月前
|
SQL Oracle 关系型数据库
Oracle 12c有哪些新特性?
【7月更文挑战第20天】Oracle 12c有哪些新特性?
90 2
|
6月前
|
存储 Oracle 关系型数据库
Oracle数据库ACID特性
【7月更文挑战第6天】
130 6
|
7月前
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用问题之oracle无主键的表支持同步吗如何实现
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
7月前
|
运维 DataWorks Oracle
DataWorks产品使用合集之在标准模式下,当同步Oracle的表或视图时,是否需要在源端的测试和生产环境中都存在要同步的表或视图
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
56 3
|
8月前
|
资源调度 Oracle 关系型数据库
实时计算 Flink版产品使用合集之同步Oracle数据时,一张表产生了大量的连接数,如何处理
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。

推荐镜像

更多