其实,对于目前我使用的Oracle的水平来看,还达不到使用安全管理的高度,只是作为一个学习来看一下。

关于Oracle的安全管理,一般使用OEM来操作完成好了,入口是:OEM的“服务器”属性页中,选择“安全性”栏

这里贴出一张服务器的所有栏目的导航页,图中红线框就是我们今天学习的主角了。

对于这中界面性的东西,没有多少可以记载的,而且从我从业经历来看,界面这种东西是最不稳定的,今天你全部刻印记住了,也许下个版本,哪怕一个hotfix版也可能就改成了另一个样子了,所以,我不打算截更多的OEM操作的图了,操作过了就操作过了,没记住以后操作时再说吧。

不过,对于PL/SQL的还是要记一下:

CREATE USER user_name                              /*将要创建的用户名*/
[IDENTIFIED BY {password | EXTERNALLLY |
GLOBALLY AS 'external_name' }] /*表明Oracle如何验证用户*/
[DEFAULT TABLESPACE tablespace_name] /*标识用户所创建对象的默认表空间*/
[TEMPORARY TABLESPACE tablespace_name] /*标识用户的临时段的表空间*/
/*用户规定的表空间存储对象,最多可达到这个定额规定的总尺寸*/
[QUOTA integer K | integer M | UNLIMTED ON tablespace_name]
[PROFILE profile_name] /*将指定的概要文件分配给用户*/
[PASSWORD EXPIRE]
[ACCOUNT {LOCK | NULOCK}] /*账户是否锁定*/

比方说,我现在创建一个叫Ljl的用户口令为Ljl,默认表空间为USERS,临时表空间为TEMP。没有定额,使用默认概要文件,那么我首先以sys的用户登进去。然后执行

create user Ljl
identified by Ljl
default tablespace users
temporary tablespace temp
account unlock;

结果显示:

退出SQL*PLUS,以Ljl登录上去,发现错误说:ORA-01045: user LJL lacks CREATE SESSION privilege; logon denied

需要以sysdba的身份给Ljl授create session的权限,看下图

然后就可以以Ljl/Ljl登录了,至于修改删除这些,都遵循可爱的alter,drop动词原则来的。Oracle好就好在这一点上,减少了一些学习曲线。要不然也流行不起来不是!

创建了用户之后,就应该为用户设置权限,废话,没有权限的僵尸有何用,占空间吗?反过来说,权限就是针对用户来讲的,同样的废话哈。

权限可以分成两类:系统权限对象权限。对于oracle11gR2来说,使用select count(*) from system_privilege_map;查询发现系统权限有208个之多

记似乎是记不过来了。而且Oracle还将其分为了不同的类型了。有针对于数据库管理员的维护权限,有针对于开发人员的数据库模式对象权限,有ANY权限类别,要查询一个用户拥有哪些权限,属于何种角色,可以如下所示(为了看得方便,我这里截的是SQLDeveloper的截图了):

至于对象权限,就是我们常说的select, update, insert之类了,Oracle共包括9类

(1)SELECT:读取表、视图、序列中的行。
(2)UPDATE:更新表、视图和序列中的行。
(3)DELETE:删除表、视图中的数据。
(4)INSERT:向表和视图中插入数据。
(5)EXECUTE:执行类型、函数、包和过程。
(6)READ:读取数据字典中的数据。
(7)INDEX:生成索引。
(8)PEFERENCES:生成外键。
(9)ALTER:修改表、序列、同义词中的结构

操作讲完了用户,权限,据我所了解的RBCA解决方案,最后自然还要讲到一个角色,而Oracle的安全管理就是一个不折不扣的基于RBCA的安全解决方案。

ALTER ROLE role_name
[ NOT IDENTIFIED ]
[ IDENTIFIED {BY password∣EXTERNALLY∣GLOBALLY} ];

Grant设置, Remove收回。这两个动词谓语是关键,在所有的安全管理里面,都是这两个。

另外Oracle里面有一个叫Profile的文件管理,来定义一些常用的权限。如密码可使用多少次等。语法如下:

CREATE PROFILE LIMIT profile_name
resource_parameters∣password_parameters

Oracle11g R2学习系列 之七安全性的更多相关文章

  1. Oracle11g R2学习系列 之二基本概念和环境介绍

    昨天安装好了之后,发现用Chrome打开OEM发现是英文的,搞得我好奇怪:安装时明明自动显示的是中文的,为何会是英文的呢.后来想想会不会是Oracle用的是浏览器的语言呢,果断打开Chrome的设置, ...

  2. Oracle11g R2学习系列 之一安装篇

    前言 最近想去前同事推荐的一个Oracle相关的岗位竞争一下,由于之前没有使用Oracle的相关经验,所以决定学习一下,就算最终岗位应聘不成,至少也有了一些Oracle经验了,说不定哪天就用上了.再说 ...

  3. Oracle11g R2学习系列 之十 解决EM不能用

    不知道是什么原因https://localhost:1158/em,今天突然就不能用了.做了好多搜索也没有解决.现象是在services.msc中,不能重启OracleDBConsole服务,提示: ...

  4. Oracle11g R2学习系列 之九 PL/SQL语言

    这是个重头戏,如果精通了PL/SQL,毫不夸张的说明精通了Oracle了.PL/SQL由以下三个部分组成(Definition,Manipulation,Control): DDL:数据定义语言,Cr ...

  5. Oracle11g R2学习系列 之八高级数据类型

    所谓的高级数据类型,就是大数据类型,即BCNB(助记词:BC牛逼)+XML数据类型. B:blob,用来存储可变长度的二进制数据. C:clob,主要用来存储可变长度的字符型数据,也就是其他数据库中提 ...

  6. Oracle11g R2学习系列 之六数据库链接,快照及序列

    Create public database link link_name Connect to user identified by password using 'DBName' 为'DBName ...

  7. Oracle11g R2学习系列 之五回闪

    Oracle里面有一个回闪的操作,这个貌似sql server是没有的.要使用这个功能,需要用到两个时间内部函数 TIMESTAMP和TO_TIMESTAMP.其中,函数TO_TIMESTAMP的语法 ...

  8. Oracle11g R2学习系列 之四Maven+Struts+Spring实验

    今天试一下Java调用Oracle来看一下.会不会也如昨天实验的一样坑呢?由于我对于Java也接触的不多,所以不打算直接使用该收提供的实验文档,而是自己利用Maven+Struts+Spring来自己 ...

  9. Oracle11g R2学习系列 之三教程选择

    工欲善其事必先利其器,选择一本入门教程也是很重要的,本人使用的也是这位同事推荐的电子工业出版社的<<Oracle 实用教程(第3版)>>郑阿奇主编,可以至这里购买到,我个人还是 ...

随机推荐

  1. IIS中启用gzip压缩(网站优化)

    HTTP协议上的GZIP编码是一种用来改进WEB应用程序性能的技术.大流量的WEB站点常常使用GZIP压缩技术来让用户感受更快的速度.这一般是指WWW服务器中安装的一个功能,当有人来访问这个服务器中的 ...

  2. 关于 HRESULT:0x80070

    异常来自 HRESULT:0x80070057 (E_INVALIDARG) 网上看的普遍办法是: 解决方法 是 删除 C:/WINDOWS/Microsoft.NET/Framework/v2.0. ...

  3. matlab 对图像操作的函数概览

    转自博客:http://blog.163.com/fei_lai_feng/blog/static/9289962200991713415422/ 一. 读写图像文件 1. imread imread ...

  4. chinaunix:腾讯面试题

    腾讯电商面试回来,发现我太菜了,缺乏技术深度. 笔试题感觉不难,但是做了之后总是发觉少点什么东西,深度!这是这场面试总结出来的. 凭记忆分享下笔试,面试题.大家一起解决,然后分享下该看什么书,可以解决 ...

  5. Ubuntu12.04 下svn服务搭建及Windows客户端tortoisesvn的使用

    在Ubuntu服务端搭建apache+svn 在客户端使用Tortoisesvn工具. 第一步 安装SVN $sudo apt-get install subversion 安装成功后系统会自动建立一 ...

  6. Linux企业级项目实践之网络爬虫(3)——设计自己的网络爬虫

    网络抓取系统分为核心和扩展组件两部分.核心部分是一个精简的.模块化的爬虫实现,而扩展部分则包括一些便利的.实用性的功能.目标是尽量的模块化,并体现爬虫的功能特点.这部分提供简单.灵活的API,在基本不 ...

  7. 【转】Java如何克隆集合——深度拷贝ArrayList和HashSet

    原文网址:http://blog.csdn.net/cool_sti/article/details/21658521 原英文链接:http://javarevisited.blogspot.hk/2 ...

  8. c语言结构体4之结构体引用

    struct mystruct{ char str[23];}; 1结构体变量不能整体引用 struct data m: printf("%s",m);//m是结构体变量 2 st ...

  9. javascript 如何继承父类

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  10. 获取文本区域(textarea)行数【换行获取输入用户名个数】

    需求:输入会员名,一行一个,最多可输入1000个 效果: