当前位置:  数据库>oracle

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

    来源: 互联网  发布时间:2017-05-13

    本文导语: 一.Read only table说明 在Oracle 11g之前,如果我们想要对一个表设置为只读的,可以通过授予某些用户select 权限。 但是对于表的所有者来说,还是读写的。 在Oracle 11g中,我们可以直接对表的读写权限进行设置: ALTER TABLE table_name ...

一.Read only table说明

在Oracle 11g之前,如果我们想要对一个表设置为只读的,可以通过授予某些用户select 权限。 但是对于表的所有者来说,还是读写的。

在Oracle 11g中,我们可以直接对表的读写权限进行设置:

ALTER TABLE table_name READ ONLY;

ALTER TABLE table_name READ WRITE;

二.示例
 

--创建表

SQL> create table dave as select * fromdba_objects;

 

Table created.

 

--设置为只读:

SQL> alter table dave read only;

Table altered.

 

--查看表状态:

SQL> select table_name,status,read_onlyfrom dba_tables where table_name='DAVE';

 

TABLE_NAME                    STATUS  REA

------------------------------ -------- ---

DAVE                          VALID    YES

--这里显示是只读的。

 

--对Dave表进行DML操作:

SQL> insert into dave select * fromdave;

insert into dave select * from dave

          *

ERROR at line 1:

ORA-12081: update operation not allowed ontable "SYS"."DAVE"

 

SQL> update dave set object_id=88;

update dave set object_id=88

      *

ERROR at line 1:

ORA-12081: update operation not allowed ontable "SYS"."DAVE"

 

 

SQL> delete from dave;

delete from dave

          *

ERROR at line 1:

ORA-12081: update operation not allowed ontable "SYS"."DAVE"

 

SQL> truncate table dave;

truncate table dave

              *

ERROR at line 1:

ORA-12081: update operation not allowed ontable "SYS"."DAVE"

 

 

SQL> alter table dave add(namevarchar(20));

alter table dave add(name varchar(20))

*

ERROR at line 1:

ORA-12081: update operation not allowed ontable "SYS"."DAVE"

 

 

--虽然表示只读的,但是我们对表进行与索引相关的操作,因为索引修改的是数据字典,和表不相关。

SQL> create index idx_id on dave(object_id);

 

Index created.

 

SQL> drop index idx_id;

 

Index dropped.

 

--将表改成读写:

SQL> altertable dave read write;

 

Table altered.

 

SQL> droptable dave;

 

Table dropped.

相关阅读:Oracle 11g 的新特性 —— 只读表


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle新手教程 手工创建数据库的全部脚本及说明
  • 求详细linux(redhed9)上安装oracle9i的说明书?
  • ORACLE 中几个难以理解的概念说明
  • Oracle数据库异构服务原理及实例说明
  • ORACLE实现字段自增示例说明
  • Oracle中手工创建数据库的全部脚本与说明
  • Oracle 高速批量数据加载工具sql*loader使用说明
  • Oracle 数据库导出(exp)导入(imp)说明
  • 关于Oracle 数据库的配置方案说明
  • Oracle 启动例程 STARTUP参数说明
  • Oracle 语句优化分析说明第1/2页
  • oracle iSQL*PLUS配置设置图文说明
  • oracle常用数据类型说明
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • ORACLE日期相关操作
  • Linux系统下Oracle的启动与Oracle监听的启动


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,