
1、System在登录em的时候只能用normal的身份登录;
2、Sys在登录em的时候只能以sysdba(数据库管理员)和sysoper(数据库 *** 作员)的身份登录。
3、“sysoper”的权限包括:开关数据库,备份、恢复数据库,以及日志归档 ,会话限制
Sysdba比sysoper多了管理和创建数据库的功能。
4、 Normal sysdba sysoperq的区别:
Normal是普通用户 需要sys授权后才能对数据库进行 *** 作。
Sysdba拥有数据库的最高权限。登陆后是sys而且sysdba只能是由SYS登录。
Sysoper主要用来启动、关闭数据库,sysoper登录后用户无论是谁登录上都是public。
角色是一个强大的工具,使您得以将用户集中到一个单元中,然后对该单元应用权限。对一个角色授予、拒绝或废除的权限也适用于该角色的任何成员。可以建立一个角色来代表单位中一类工作人员所执行的工作,然后给这个角色授予适当的权限。当工作人员开始工作时,只须将他们添加为该角色成员,当他们离开工作时,将他们从该角色中删除。而不必在每个人接受或离开工作时,反复授予、拒绝和废除其权限。权限在用户成为角色成员时自动生效。
Microsoft®WindowsNT®和Windows®2000组的使用方式与角色很相似。有关更多信息,请参见组。
如果根据工作职能定义了一系列角色,并给每个角色指派了适合这项工作的权限,则很容易在数据库中管理这些权限。之后,不用管理各个用户的权限,而只须在角色之间移动用户即可。如果工作职能发生改变,则只须更改一次角色的权限,并使更改自动应用于角色的所有成员, *** 作比较容易。
在Microsoft®SQLServer™2000和SQLServer70版中,用户可属于多个角色。
以下脚本说明登录、用户和角色的添加,并为角色授予权限。
USEmaster
GO
sp_grantlogin'NETDOMAIN\John'
GO
sp_defaultdb'NETDOMAIN\John','courses'
GO
sp_grantlogin'NETDOMAIN\Sarah'
GO
sp_defaultdb'NETDOMAIN\Sarah','courses'
GO
sp_grantlogin'NETDOMAIN\Betty'
GO
sp_defaultdb'NETDOMAIN\Betty','courses'
GO
sp_grantlogin'NETDOMAIN\Ralph'
GO
sp_defaultdb'NETDOMAIN\Ralph','courses'
GO
sp_grantlogin'NETDOMAIN\Diane'
GO
sp_defaultdb'NETDOMAIN\Diane','courses'
GO
USEcourses
GO
sp_grantdbaess'NETDOMAIN\John'
GO
sp_grantdbaess'NETDOMAIN\Sarah'
GO
sp_grantdbaess'NETDOMAIN\Betty'
GO
sp_grantdbaess'NETDOMAIN\Ralph'
GO
sp_grantdbaess'NETDOMAIN\Diane'
GO
sp_addrole'Professor'
GO
sp_addrole'Student'
GO
sp_'Professor','NETDOMAIN\John'
GO
sp_'Professor','NETDOMAIN\Sarah'
GO
sp_'Professor','NETDOMAIN\Diane'
GO
sp_'Student','NETDOMAIN\Betty'
GO
sp_'Student','NETDOMAIN\Ralph'
GO
sp_'Student','NETDOMAIN\Diane'
GO
GRANTSELECTONTOStudent
GO
GRANTSELECT,UPDATEONTOProfessor
GO
该脚本给John和Sarah教授提供了更新学生成绩的权限,而学生Betty和Ralph只能选择他们自己的成绩。Diane因同时教两个班,所以添加到两个角色中。视图应将教授限制在自己班学生的行上,而应限制学生只能选择自己的成绩。
SQLServer2000和SQLServer70版在安装过程中定义几个固定角色。可以在这些角色中添加用户以获得相关的管理权限。下面是服务器范围内的角色。
固定服务器角色
描述
sysadmin
可以在SQLServer中执行任何活动。
serveradmin
可以设置服务器范围的配置选项,关闭服务器。
setupadmin
可以管理链接服务器和启动过程。
可以管理登录和CREATEDATABASE权限,还可以读取错误日志和更改密码。
可以管理在SQLServer中运行的进程。
dbcreator
可以创建、更改和除去数据库。
diskadmin
可以管理磁盘文件。
bulkadmin
可以执行BULKINSERT语句。
可以从sp_helpsrvrole获得固定服务器角色的列表,可以从sp_获得每个角色的特定权限。
每个数据库都有一系列固定数据库角色。虽然每个数据库中都存在名称相同的角色,但各个角色的作用域只是在特定的数据库内。例如,如果Database1和Database2中都有叫UserX的用户ID,将Database1中的UserX添加到Database1的db_owner固定数据库角色中,对Database2中的UserX是否是Database2的db_owner角色成员没有任何影响。
固定数据库角色
描述
db_owner
在数据库中有全部权限。
db_aessadmin
可以添加或删除用户ID。
db_
可以管理全部权限、对象所有权、角色和角色成员资格。
db_ddladmin
可以发出ALLDDL,但不能发出GRANT、REVOKE或DENY语句。
db_
可以发出DBCC、CHECKPOINT和BACKUP语句。
db_datareader
可以选择数据库内任何用户表中的所有数据。
db_datawriter
可以更改数据库内任何用户表中的所有数据。
db_
不能选择数据库内任何用户表中的任何数据。
db_denydatawriter
不能更改数据库内任何用户表中的任何数据。
可以从sp_helpdbfixedrole获得固定数据库角色的列表,可以从sp_dbfixedrolepermission获得每个角色的特定权限。
数据库中的每个用户都属于public数据库角色。如果想让数据库中的每个用户都能有某个特定的权限,则将该权限指派给public角色。如果没有给用户专门授予对某个对象的权限,他们就使用指派给public角色的权限。
数据库:就是咱安装的那个软件,这个不必多说
实例:安装数据库后第一步就是创建实例,就相等于一大块地的名,比如你用PL/SQL连接数据库时选择数据库名实际上就是实例名,它的说法欠缺严谨。在oracle安装路径中的tnsnamesora文件可以清楚的看到其配置,这个你应该知道,不知道再问我。
表空间:就相当于一块地皮,你所有的数据库对象都是在表空间中存的
用户:就是一个登陆的名,当然得有密码,它跟表空间是多对多的关系的,但我们在创建用户时一般都指定默认表空间的,若不指定用户默认表空间的话,则用户每次创建数据库对象的时候,都要指定表空间,太麻烦
角色:每个用户都有角色,它决定了该用户有什么权限,比如DBA,拥有最高权限
表:这个就不用说了吧,但要说明的是一个表只能属于一个表空间
……………………………………………………………………………………………………
累死我了,没有功劳也有点苦劳啊
根据数据库安全性和概要文件的定义,自己想要什么级别的安全就搞什么样的!
以下参考数据库安全性。
数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。
实现数据库安全性控制的常用方法和技术有:
(1)用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己咱勺名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。
(2)存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。例如C2级中的自主存取控制(I)AC),Bl级中的强制存取控制(M.AC)。
(3)视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。
(4)审计:建立审计日志,把用户对数据库的所有 *** 作自动记录下来放人审计日志中,DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。
(5)数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容。
以下参考 “概要文件”的概念
Oracle系统为了合理分配和使用系统的资源提出了概要文件的概念。所谓概要文件,就是一份描述如何使用系统的资源(主要是CPU资源)的配置文件。将概要文件赋予某个数据库用户,在用户连接并访问数据库服务器时,系统就按照概要文件给他分配资源。
在有的书中将其翻译为配置文件,其作用包括。
1、管理数据库系统资源。
利用Profile来分配资源限额,必须把初始化参数resource_limit设置为true
ALTER SYSTEM SET resource_limit=TRUE SCOPE=BOTH;
2、管理数据库口令及验证方式。
默认给用户分配的是DEFAULT概要文件,将该文件赋予了每个创建的用户。但该文件对资源没有任何限制,因此管理员常常需要根据自己数
据库系统的环境自行建立概要文件,下面介绍如何创建及管理概要文件。
示例:
CREATE PROFILE pro_test
LIMIT CPU_PER_SESSION 1000
--cpu每秒会话数
任意一个会话所消耗的CPU时间量(时间量为1/100秒)
CPU_PER_CALL 1000
--cpu每秒调用数
任意一个会话中的任意一个单独数据库调用所消耗的CPU时间量(时间量为1/100秒)
CONNECT_TIME 30
--允许连接时间
任意一个会话连接时间限定在指定的分钟数内
IDLE_TIME DEFAULT
--允许空闲时间
SESSIONS_PER_USER 10
--用户最大并行会话数(指定用户的会话数量)
LOGICAL_READS_PER_SESSION 1000 --读取数/会话(单位:块)
LOGICAL_READS_PER_CALL 1000 --读取数/调用(单位:块)
PRIVATE_SGA 16K --专用sga
COMPOSITE_LIMIT 1000000 --组合限制(单位:单元)
FAILED_LOGIN_ATTEMPTS 10 --登录几次后
PASSWORD_LOCK_TIME 10 --锁定时间(单位:天)
PASSWORD_GRACE_TIME 120 --多少天后锁定
PASSWORD_LIFE_TIME 60 --口令有效期(单位:天)
PASSWORD_REUSE_MAX UNLIMITED --保留口令历史记录:保留次数(单位:次)
PASSWORD_REUSE_TIME 120 --保留口令历史记录:保留时间(单位:天)
PASSWORD_VERIFY_FUNCTION DEFAULT --启用口令复杂
角色和用户是两个不同的概念。
创建一个角色,可以为角色分配权限。然后把角色赋给某个(某些)用户。
创建角色是为了简化给用户分配相同权限的过程。
当一组用户拥有相同的权限,并且要对他们的权限做统一的修改时,用角色会很省力。
如果很多用户拥有一样的权限,就要在创建用户时分别为每个用户分配一堆权限,这样会很麻烦。
而有了角色,因为角色拥有一组权限,当创建用户的时候,只需要用grant语句把角色授予用户就可以了。
当要修改这些用户的权限时,值需要修改授予他们的哪个角色的定义就可以了,而不需要去修改每个用户所分配的权限。
其实我理解角色就是一组权限的集合。
登录名
就是用户名,同一个数据库中含有多个用户;
用户与角色还有权限是“多对多”的关系,一个用户可以有多个角色,也可以被赋予多个权限;同一个角色可以赋给多个用户,也可以含有多个权限;同一个权限也可以赋给多个用户和角色;
说道区别:你可以把
登录名比作一个人的名字,而用户是这个人,角色就是这个在不同情况下所具有的职能的总和,而权限就是做各种事的能力。
以上就是关于Oracle中不同用户和角色的区别全部的内容,包括:Oracle中不同用户和角色的区别、数据库里什么叫角色分几种、ORACLE数据库中 方案,实例,数据库,用户,角色,表空间,表 这些概念都是什么意思,之间有什么关系等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)