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

Oracle 11g开始支持设置某张表为只读,这样可以防范对某些表的修改,起到一定的安全性. 设置如下: --设置表为只读权限(加锁) ALTER TABLE tab_name READ ONLY ; --设置表的读写权限(解锁) ALTER TABLE tab_name READ WRITE ; 当表需要进行更新.增删记录时,可以重新设置读写权限,对表进行修改操作后,再次设置为只读属性. 拓展:在某些特定情况下,可能需要某张表的记录只能增加,不能删除,这怎样实现呢? 一种可供参考的方法是对这张…
11g以前,当需要设置一个表只读时,我们通过赋予某些用户select权限.但对于表的owner来说,还是可以读写的. 从Oracle 11g开始,我们可以通过一下命令设置表只读或可读可写: alter table tab1 read only; alter table tab1 read write; SQL> create table t1 (t number); Table created --设置表为只读 SQL> alter table t1 read only; Table alte…
原文:设置SQLServer数据库中某些表为只读的多种方法 翻译自:http://www.mssqltips.com/sqlservertip/2711/different-ways-to-make-a-table-read-only-in-a-sql-server-database/?utm_source=dailynewsletter&utm_medium=email&utm_content=headline&utm_campaign=2012614 在某些情况下需要把SQLS…
注:本文来源于<oracle查询某张表的外键(最终解决办法)> 一:几个查询表外键的脚本 select b.table_name, b.column_name from user_constraints a inner join user_cons_columns b on a.constraint_name = b.constraint_name where a.r_constraint_name in ( select e.constraint_name from user_constra…
这篇文章来自于看博客园一个园友的分享经历,原文:http://www.cnblogs.com/qqloving/p/3427138.html 他不清楚mysql一个库里面分多少张表合适,他一个库分了8000张表.于是我看了,忍不住作答. 于是以个人随笔的形式给自己做知识备忘吧. 1.单表体积多大的时候需要分表 曾经看过一个博客,分析到什么情况下需要分表. 单表形式访问(也就是对这个表的访问不涉及到join联合查询):单个表的体积大于2g的时候.或者说,单个表的行数达到一千万的时候. 两表jion…
Oracle设置为自启动 学习了:http://blog.itpub.net/31015730/viewspace-2148412/ oracle自带dbstart命令,主要进行系统启动设置: 在/etc/rc.d/init.d中创建oracle文件,这个文件拷贝过来,注意不需要修改$1为$ORACLE_HOME: 注意使用chkconfig oracle on命令进行oracle启动的添加: #!/bin/bash # oracle: Start/Stop Oracle Database 11…
数据库 假设现在我们在SQL Server数据库中有下面两张表: Person表,代表的是一个人: CREATE TABLE [dbo].[Person]( ,) NOT NULL, ) NULL, ) NULL, [Age] [int] NULL, CONSTRAINT [PK_Person] PRIMARY KEY CLUSTERED ( [ID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY…
转自:https://yq.aliyun.com/ziliao/258074 如果想在Oracle数据库里实现数据表主键自增,我们似乎没有办法像MySql般直接定义列的属性来实现.不过对于这个数据库的常用功能,我们还是有办法实现的.这里将展示使用触发器来实现主键自增. 1.准备 创建UserInfo表,结构如下: CREATE TABLE UserInfo ( id NUMBER(10) NOT NULL, username VARCHAR2(15) NOT NULL, password VAR…
Oracle 设置NLS_CHARACTERSET字符集 sqlplus "/ as sysdba"SQL> SHUTDOWN IMMEDIATE;SQL> STARTUP MOUNT;SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;SQL> A…
今天在做项目的过程中,发现开发库中某张表的某字段有许多值是空的,而测试库中该字段的值则是有的. 那么,有什么办法能将测试库中该字段的值更新到开发库中呢? SQL Server中这是比较容易解决的,而Oracle中就不知道方法了. SQL Server中类似问题的解决方法 后来只好用最笨的方法: 首先,将数据复制到Excel:(假设称测试库的表为A--含有数据) 然后,在开发库中建立和表A同结构的表B:(这里为了导入数据的简单,我对表B的结构进行了改造,只有两个字段) 图 表B的数据 再利用PL…
关于orcale设置主键自增的问题 关于主键Oracle中并没有提供一个直接的语句设置,对于这个oralce一般都是用序列和触发器来实现 一下又两种方法来实现 一 ,不使用触发器 创建序列: create sequence se_auto_increment increment --序列递增值 start --开始值 maxvalue ;--最大值 创建一张表 create table tab (no number(10) primary key ,name varchar2(20)); 直接用…
[数据库] Navicat for Oracle基本用法图文介绍 一. 设置唯一性 参考文章:Oracle之唯一性约束(UNIQUE Constraint)用法详解唯一性约束英文是Unique Constraint,它是指表中一个字段或者多个字段联合起来能够唯一标识一条记录的约束.联合字段中,可以包含空值. 那唯一性约束与主键又有什么区别呢?你可能会疑惑主键(Primary Key)不是唯一标识一张表的吗?主键是所有组成主键的列都不能包含空值,而如果唯一性约束由多列组成,其中的部分列可以包含空值…
有时为了保护某些属性,让其无法被更改,我们会把他们设置为常量. 在某些语言里面,也许会用const来实现这样的功能.本文讲述如何在Javascript中实现这样的功能. 方法一: var myObject = { get readOnlyProperty() { return 1024; } }; alert(myObject.readOnlyProperty); myObject.readOnlyProperty = ; // 可以设置,但不管用 alert(myObject.readOnly…
Oracle修改表空间大小 使用Oracle10g建立数据库后,向数据库中导入了部分数据,第二天继续向数据库中导入数据表时发生错误: 查了很多资料发现原来是Oracle表空间限制,导致无法继续导入数据的原因.如果在建立数据库时没有设置, Oracle 默认的表空间大小为400M,当数据库中数据量达到这个值,再向数据库中导入数据就会报错.解决方法是 扩展表空间.可以选择将表容量扩大,比如扩展到5G,或者当表空间不够时每次自动增加一定的容量,如每次自增200M. 下面列出详细过程: 1.通过sql…
在NOARCHIVELOG模式下启动和运行一个数据库. 确定闪回恢复区的位置和归档日志目标目录的位置. 步骤一 为归档的重做日志配置FRA和单独的归档日志目标. 首先,设置FRA参数DB_RECOVERY_FILE_DEST_SIZE和DB_RECOVERY_FILE_DEST SQL> alter system set db_recovery_file_dest_size=2G; System altered. SQL> alter system set db_recovery_file_d…
在Oracle 数据库的实际应用中,开启archivelog模式是必不可少的,但是在设置archivelog的过程中,可能因为不小心出现错误,导致数据库无法启动,本案例就是一种情况. 误操作现象: 设置archivelog name格式时,将archivelog的命名格式设置为archive_%s_%t.arc,修改系统配置文件成功,重启数据库使设置生效.但是异常发生了,数据库无法启动. 出错原因: 设置archivelog name格式时,匹配符%s,%t,%r是必须的. %s 日志序列号.…
在root账户下修改/etc/oratab 文件: # vi /etc/oratab 找到orcl=/db/app/oracle/product/11.1.0/db_1 :N这一行 改为: orcl=/db/app/oracle/product/11.1.0/db_1 :Y 也就是将最后的N改为Y,意思是将不允许自动启动改为允许自动启动. 然后,是修改ORACLE自带的启动与关闭脚本,分别是dbstart和dbshut.执行这两个脚本就可以实现ORACLE脚本的启动与关闭. 在oracle账户下…
我们在用MS SQL Server时,可以为表的主键设置为自动加1的效果;但是在Oracle当中,我们是无法直接设置一个字段为自动加1,需要先建立一个Sequence,然后为这个表创建一个Trigger,具体步骤如下: 1.先建立一个Order表格,用如下SQL语句 create table SCOTT.ORDER(      ID          NUMBER(10) not null,      BUYER       CHAR(20) not null,      MERCHANDISE…
设置开机自启动1. 修改Oracle系统配置文件:/etc/oratab,只有这样,Oracle 自带的dbstart和dbshut才能够发挥作用.[root@hailiang ~]# vi /etc/oratabVDEDU:/u01/app/oracle/product/11.2.4/dbhome_1:Y 2. 在 /etc/init.d/ 下创建文件oracle,内容如下:[root@hailiang ~]# vi /etc/init.d/oracle#!/bin/sh# chkconfig…
oracle没有mysql那样可以有自增主键,需要自己通过创建序列才能实现自增 /*创建自增序列*/ CREATE SEQUENCE CMB_CHINA_CITYS_ID MINVALUE --最小值 NOMAXVALUE --不设置最大值 START --从1开始计数 INCREMENT --每次加1 NOCYCLE --一直累加,不循环 NOCACHE; --不建缓冲区 说明: CMB_CHINA_CITYS_ID:序列名称 插入语句的时候就可以使用CMB_CHINA_CITYS_ID.ne…
Ext.getCmp("processResult").setReadOnly(ture);   //processResult是属性的id,setReadOnly(ture)设置为只读…
设置命令: mysql> set global read_only=1;    #1是只读,0是读写 mysql> show global variables like "%read_only%"; 以下是相关说明: 1.对于数据库读写状态,主要靠 “read_only”全局参数来设定: 2.默认情况下,数据库是用于读写操作的,所以read_only参数也是0或faluse状态,这时候不论是本地用户还是远程访问数据库的用户,都可以进行读写操作: 3.如需设置为只读状态,将该…
JAVA中使用JPQL 一种设置id自动生成,自增长的方法 private long id; @Id @GeneratedValue(generator="_native") @GenericGenerator(name="_native",strategy="native") public long getId() { return id; } 也有一种这样的 @Id @GeneratedValue(strategy = GenerationT…
1.安装好Oracle数据库后: 执行 dbstart和dbshut会提示: [oracle@oracle11g ~]$ dbstartORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net ListenerUsage: /u01/app/oracle/oracle/product/10.2.0/db_1/bin/dbstart ORACLE_HOME 错误原因是:dbstart和dbshut脚本文件中ORACLE_HOME…
闲来无事,更一片博客,前几天有一个项目中有一个需求,用户通过excel导入数据,由于是通用的导入,所以导入的列的类型都为varchar,所以需要建一张中间表,使其列都为varchar类型,然后通过存储过程增量向结果表插入数据,问题的核心就是增量更新数据,怎么找出中间表的数据和结果表不一样的数据呢,这就需要用到Oracle的 minus 取差集,它的作用就是取两个查询到的结果集不一样的数据集,请看下面的例子: 1.中间表数据如下 2.结果表数据如下 3.也就是我要中间表不存在结果表的数据查询出来…
设置定时自动清理归档日志脚本 root用户下 [root@localhost ~]# mkdir /nstg [root@localhost ~]# cd /nstg/ [root@localhost nstg]# mkdir bin log tmp [root@localhost nstg]# chown -R oracle:oinstall /nstg [root@localhost nstg]# su - oracle [oracle@localhost ~]$ cd /nstg/bin…
对比实验:https://www.cnblogs.com/xiandedanteng/p/11960320.html 注:setQueryTimeout语句还是好用的,但有些环境不支持,下文是在单位虚拟机上的Oracle发生的事情,而setQueryTimeout语句在我家机器上的Oracle是支持的,详情请见. 本以为,遇到其它session导致行锁发生的情况,设置Statement.setQueryTimeout(seconds)就好了,至少不会让程序等待太长时间,但是事与愿违,我发现无论是…
Oracle还原数据库 ,在最高权限账户上,先将安装好的数据上创建一个账户 -- Create the user create user newsafe identified by newsafe default tablespace USERS temporary tablespace TEMP profile DEFAULT; -- Grant/Revoke role privileges 这样我们创建了一个新用户 GRANT CREATE SESSION TO newsafe GRANT…
一次做农行的项目,在向一个表插入数据时我们要求插入字符类型的操作日期和时间,我们这边当时采取的是给日期和时间字段设置默认值的方法:下面我简单还原一下当时的表结构 -- Create table create table TEST_DATE_TIME ( id INTEGER, operdate ) default "TO_CHAR"(SYSDATE,'yyyy-MM-dd'), operdatetime ) default "TO_CHAR"(SYSDATE,'yy…
如果想在Oracle数据库里实现数据表主键自增,我们似乎没有办法像MySql般直接定义列的属性来实现.不过对于这个数据库的常用功能,我们还是有办法实现的.这里将展示使用触发器来实现主键自增. 1.准备 创建UserInfo表,结构如下: CREATE TABLE UserInfo ( id NUMBER(10) NOT NULL, username VARCHAR2(15) NOT NULL, password VARCHAR2(15) NOT NULL, CONSTRAINTS PF_User…