Oracle设置某张表为只读

Oracle 11g开始支持设置某张表为只读,这样可以防范对某些表的修改,起到一定的安全性。

设置如下:

--设置表为只读权限(加锁)
ALTER TABLE tab_name READ ONLY ;

--设置表的读写权限(解锁)
ALTER TABLE tab_name READ WRITE ;

当表需要进行更新、增删记录时,可以重新设置读写权限,对表进行修改操作后,再次设置为只读属性。

拓展:在某些特定情况下,可能需要某张表的记录只能增加,不能删除,这怎样实现呢?

一种可供参考的方法是对这张表加上触发器,当对表进行更新、删除等操作时,触发抛出异常,进行insert时,不触发异常。

原文地址:https://www.cnblogs.com/chinas/p/8440460.html

时间: 2024-11-07 23:01:43

Oracle设置某张表为只读的相关文章

MySQL设置数据库表为只读

1.设置命令 mysql> use test; Database changed mysql> lock table t_depart_info read; Query OK, 0 rows affected (0.00 sec) 2.插入数据 3.指令分析 由于设置了t_depart_info为只读,不能向其插入数据,故截图中一直在加载请求中... 版权声明:本文为博主原创文章,未经博主允许不得转载.

[数据库] Navicat for Oracle设置唯一性和递增序列实验

这篇文章主要讲述Navicat for Oracle设置唯一性约束和设置某字段为递增序列.文章主要以图文为主,虽然都是非常简单基础的文章,但还是希望对你有所帮助. 推荐前一篇文章:[数据库] Navicat for Oracle基本用法图文介绍 一. 设置唯一性 参考文章:Oracle之唯一性约束(UNIQUE Constraint)用法详解 唯一性约束英文是Unique Constraint,它是指表中一个字段或者多个字段联合起来能够唯一标识一条记录的约束.联合字段中,可以包含空值. 那唯一性

设置input文本框只读效果

设置input文本框只读效果:在实际应用中可能需要将input文本框设置为只读状态,代码实际非常简单,只要添加一个属性即可.代码如下: <input type="text" value="蚂蚁部落" readonly/> 使用readonly属性即可将文本框设置为只读状态,具体可以参阅<input>标签的readonly属性一章节. 原文地址:http://www.51texiao.cn/HTML5jiaocheng/2015/0521/21

Oracle设置默认数据库,ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist

Oracle 设置默认数据库 如果我们的服务器上或者电脑上安装了多个数据库,当我们使用sqlplus时如果为指定数据库时登录到的是哪一个数据库呢?今天遇到了一个老问题: ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist 以前也遇到过:根据网上的博文一步一步操作下就OK了,可是今天试了下不行,经过分析发现原来是我登录进入是另一个数据库,可如果每次都指定登录到那个数据库太麻烦了,就去查询了些资料

oracle 设置标识列自增

设置reg_user表 userid为自增列 1.设置键 2.创建序列 3.创建触发器 oracle 设置标识列自增

Oracle中用一张表的字段更新另一张表的字段

今天在做项目的过程中,发现开发库中某张表的某字段有许多值是空的,而测试库中该字段的值则是有的. 那么,有什么办法能将测试库中该字段的值更新到开发库中呢? SQL Server中这是比较容易解决的,而Oracle中就不知道方法了. SQL Server中类似问题的解决方法 后来只好用最笨的方法: 首先,将数据复制到Excel:(假设称测试库的表为A--含有数据) 然后,在开发库中建立和表A同结构的表B:(这里为了导入数据的简单,我对表B的结构进行了改造,只有两个字段) 图 表B的数据 再利用PL

Oracle设置Shared Pool的大小

在oracle 10G或者11G版本中,如何合理设置shared pool大小,对oracle数据库的性能影响很大. Shared Pool的大小设置规则如下: 1.查到shared pool设置的合理值,语句如下: select 'Shared Pool' component, shared_pool_size_for_estimate estd_sp_size, estd_lc_time_saved_factor parse_time_factor, case when current_pa

JPQL设置自增长、只读、文本类型等的注解

JAVA中使用JPQL 一种设置id自动生成,自增长的方法 private long id; @Id @GeneratedValue(generator="_native") @GenericGenerator(name="_native",strategy="native") public long getId() { return id; } 也有一种这样的 @Id @GeneratedValue(strategy = GenerationT

Linux开机自动启动ORACLE设置

1.安装好Oracle数据库后: 执行 dbstart和dbshut会提示: [[email protected] ~]$ dbstart ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener Usage: /u01/app/oracle/oracle/product/10.2.0/db_1/bin/dbstart ORACLE_HOME 错误原因是:dbstart和dbshut脚本文件中ORACLE_H