索引

1 单列索引
create index 索引名 on 表名(列名);

2复合索引
在同一张表上可以有多个索引,但是要求列的组合必须不同。
create index 索引名 on 表名(列名1, 列名2.....)

3 建立索引的原则
--大表上建立索引才有意义
--在where子句或是连接条件上经常引用的列上建立索引
--索引的层次不要超过四层

4 索引的缺点
--建立索引,系统要占用大约为表的1.2倍的硬盘和内存空间来保存索引
--更新数据时,系统必须要有额外的时间来同时对索引进行更新,以维持数据和索引的一致性。

不经常引用的列不需要建立索引;逻辑型字段不需要建立索引。
oracle对unique字段自动添加索引

管理权限和角色

1 系统权限:针对数据库的权限,能不能建表能不能登录等。可以通过dba用户查询。
2 对象权限:针对用户的权限,访问别的用户的方案的权限。
3 方案:当创建用户后,oracle会自动给新用户一个方案,方案与系统权限和对象权限没有任何关系,方案的名字和用户的名字是一样的,方案中包含各种各样的数据对象。
4 角色:多个系统权限或者对象权限的集合。

系统权限: 刚刚建立用户时,用户没有任何权限,也不能执行任何操作,授予系统权限时要求该用户有grant any privilege的系统权限,当带有with admin option选项时,被授予权限的用户或是角色还可以将该系统权限授予其它的用户或是角色,例子如下:

--创建用户:create user www identified by www;
create user ccc identified by ccc;
--授予权限:grant create session, create table to www with admin option;
grant create view to www;
--在www用户下将create session授权给ccc是可以成功的。
--回收系统权限:回收系统权限是dba来完成的,revoke create session from www; 将www的登陆权限回收了,这时ccc的登陆权限依然能够登陆。这种级联授权回收时并不是级联
回收。

对象权限:增(insert)删(delete)改(update)查(select)修改(alter)引用(references)执行(excute)索引(index)
授权对象权限需要是由对象所有者(优先使用)和dba用户完成。在后面带上with grant option代表可以将权限传递,当授予角色时不可带with grant option。

grant 权限 on 表名 to 用户或者角色;

--ccc用户下:grant select on 表名 to www;
--www用户下:select * from ccc.表名;
--只希望www可以修改ccc中表的一行或多列:grant update on 表名(列名......) to www;

--回收对象权限: revoke select on 表名 from 用户名或者角色;
这个是级联回收的。

oracle索引、 管理权限和角色的更多相关文章

  1. oracle管理权限和角色

    介绍 这一部分主要看看oracle中如何管理权限和角色,权限和角色的区别在哪里. 当刚刚建立用户时,用户没有任何权限,也不能执行任何操作.如果要执行某种特定的数据库操作,则必需为其授予系统的权限:如果 ...

  2. Oracle用户,权限,角色以及登录管理 scoot 授权

    Oracle用户,权限,角色以及登录管理 1. sys和system用户的区别 system用户只能用normal身份登陆em.除非你对它授予了sysdba的系统权限或者syspoer系统权限. sy ...

  3. Oracle用户、权限、角色管理学习(文字很系统)

     Oracle用户.权限.角色管理 2009-03-16 13:20:50 标签:oracle 数据库  休闲 职场 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明 ...

  4. Oracle 用户管理权限

    Oracle 用户管理权限 一.创建用户的Profile文件 SQL> create profile student limit // student为资源文件名 FAILED_LOGIN_AT ...

  5. Oracle用户、权限、角色管理(转)

    http://blog.csdn.net/junmail/article/details/4381287 Oracle 权限设置一.权限分类:系统权限:系统规定用户使用数据库的权限.(系统权限是对用户 ...

  6. Oracle用户、权限、角色管理

    Oracle 权限设置一.权限分类:系统权限:系统规定用户使用数据库的权限.(系统权限是对用户而言). 实体权限:某种权限用户对其它用户的表或视图的存取权限.(是针对表或视图而言的).   二.系统权 ...

  7. Oracle的用户权限和角色

    用户和权限 LOCK|UNLOCK创建用户时是否锁定,默认为锁定状态.锁定的用户无法正常的登录进行数据库操作. --给普通用户SCOTT解锁,同时把SCOTT用户的密码进行修改 --语法结构:ALTE ...

  8. 8.windows-oracle实战第八课 --管理权限和角色

    权限:      如果要执行某种特定的数据库操作,就要赋予系统的权限:      如果要执行访问其他方案的对象,就要赋予对象的权限. 1.创建ken和tom用户 create user ken ide ...

  9. oracle查询用户权限及角色(摘)

    1.查看所有用户: select * from dba_users; select * from all_users; select * from user_users; 2.查看用户或角色系统权限( ...

随机推荐

  1. 通用表表达式(Common Table Expression)

    问题:编写由基本的 SELECT/FROM/WHERE 类型的语句派生而来的复杂 SQL 语句. 方案1:编写在From子句内使用派生表(内联视图)的T-SQL查询语句. 方案2:使用视图 方案3:使 ...

  2. 设置mysql 在mac中的环境变量

    在mac os的用户目录下有一个隐藏文件.bash_profile,编辑它就可以完成环境变量的创建. 比如要将mysql的运行目录加到环境变量中,可以在.bash_profile中新增如下一行: ex ...

  3. 解决oracle启动的错误: ORA-00119 ORA-00132

    $ sqlplus / as sysdbaSQL>create pfile fromspfile修改$ORACLE_HOME/dbs下的文件initDEV.ora中的*.local_listen ...

  4. 值栈与ognl

    ValueStack (值栈): 1.贯穿整个Action的生命周期(每个Action类的对象实例都拥有一个ValueStack对象).相当于一个数据的中转站.在其中保存当前Action对象和其他相关 ...

  5. Myeclipse 快捷键设置和自动提示设置

    1.快捷键设置和调整 2.自动提示信息设置与调整

  6. 注意 sizeof 中不要有复杂运算操作

    http://github.tiankonguse.com/blog/2014/12/05/c-base/ 一个比较有意思的问题 #include<stdio.h> ; int f() { ...

  7. UI进阶 CocoaPods的安装使用步骤

    一. CocoaPods简介 CocoaPods是一个用来帮助我们管理第三方依赖库的工具.在开发iOS应用时,会经常使用第三方类库,比如SDWebImage.AFNetworking等等,手动的下载与 ...

  8. vc 获取当前时间 (zhuan)

    vc 获取当前时间(2010-02-10 11:34:32) http://wenku.baidu.com/view/6ade96d049649b6648d7475e.html 1.使用CTime类 ...

  9. 简谈java的split

    最近都在处理视频音频,今天在合成音频视频时为了给合成的新文件换个新名字,我打算获取了之前的视频名称,用split来分割出不带后缀的名字,再自己加上后缀. 众所周知split可以分割由某种字符分段的St ...

  10. Unix-Linux编程实践 学习点滴

    1.结构体最后定义一个char p[0]有什么作用 2. 3. 4. 1.结构体最后定义一个char p[0] 有什么作用 这是个广泛使用的常见技巧,常用来构成缓冲区.比起指针,用空数组有这样的优势: ...