用户在会话的权利上,应该有其他操作的权利;Oracle的用户和口令不区分大小写,真是让人大跌眼镜;Oralce中,所有用户必须明确被

create or replace type address as object(province varchar

(20),city varchar(20));

alter TRIGGER SYS.JIS$ROLE_TRIGGER$ compile;

create table test(id number primary key,name char(50));

表空间授权

alter user 用户 quota unlimited on 表空间;

alter user test quota unlimited on test;

创建用户

create user 用户名 identified by 口令;

create user icwallet identified by icwallet;

删除用户

drop user cascade

修改密码

alter user 用户名 identified by 口令;

alter user icwallet identified by icwallet;

锁定:

alter user 用户名 account lock;

授权

revoke

grant create session to the_username;

grant system_privilege to username [with admin option];

创建数据库角色

create role role_name;

create role role_name identified by role_password

第一:用户管理*******************************************

用户至少需要会话的权利,否则连接也不成功;

用户在会话的权利上,应该有其他操作的权利;

Oracle的用户和口令不区分大小写,真是让人大跌眼镜;

Oralce中,所有用户必须明确被授权,才可以操作;

SQL Server中,创建的用户自动就拥有了一些权限;

Oracle不依赖操作系统;SQL Server依赖Windows;

MicroSoft假定大多数用户都是合法用户,采取乐观态度;

Oracle首先假定用户都是不安全的,采取悲观态度;

Oracle中的用户是互相隔离的,称为用户模式;

内置用户:

sys,网络管理员,最高权限;

当你试图输入了用户名:sys

密码:通用

之后,你发现连接不上;

而输入 用户名:system

密码:通用

或者 用户名:scott

密码:tiger

的时候都可以连接,所以你认为

sys的权限没有system高;

其实正是因为sys的权限高,所以你必须以

dba的身份来登陆:sys/通用 as sysdba

//可以使用数据字典user_users来查看当前用户管理的用户:

select * from user_users;

而dba_users可以查看dba管理的用户;

system,只管理本机上的数据库;

而all_users查看所有用户,只能由dba来查看;

******创建用户:

create user 用户名 identified by 口令 [externally]

[default tablesapce 表空间名]

[temporary tablespace 临时表空间名]

[quota 整数 K|M|unlimited on 表空间名]

//注意:创建用户必须有dba的权限;

******查询用户:

其实就是对表user_users/dba_users/all_users进行查询,

只不过这里不把他们叫表,叫数据字典;而且数据字典是系统

维护的;

*******修改用户:

alter user.....//后面和创建一样;

Oracle中一个实例就是一个数据库,这个数据库相当与SQL Server的全

部数据库;

Oracle的一个数据库被分为很多个表空间,每个表空间相当于SQL

Server中的一个数据库;

实例演示:

create user student_user

identified by student

default tablespace users

temporary tablespace temp

quota 5m on users

quota 3m on temp

/其中,users,temp都是内置的表空间,student_user在users里有5m空

间,在temp里有3m;

新创建的用户是没有权利的:

SQL> conn student_user/student;

ERROR:

ORA-01045: user STUDENT_USER lacks CREATE SESSION privilege;

logon denied

警告: 您不再连接到 ORACLE。

*****限制用户

锁定:alter user 用户名 account lock;

效果:

SQL> alter user student_user account lock;

用户已更改。

SQL> conn student_user/student;

ERROR:

ORA-28000: the account is locked

警告: 您不再连接到 ORACLE。

解锁:alter user 用户名 account unlock;

口令无效:alter 用户名 password expire; 当用户创建了很多表,

如果直接删除用户,它下面的表都将被删除,所以我们可以

只使得它的口令无效;

//可见,表是用户的手下,,用户没了,用户创立的表,占用的空间都就

没了;

//所以,一般情况下,我们不要删除用户;

****删除用户:

drop user 用户名[cascade]

//cascade是强制删除,即使有别人正在用这个用户的表;

//数据库管理语句是自动结束事务的,没有rollback的机会;

第二:权限管理***********************************************

授权:grant [系统特权名] [角色] [on 被授权操作表名] to [用户名

列表]

[public][with admin option]

如果是dcl语句,就不用on 被授权操作表名

grant all on student to public:把对student的所有权限授予所有

用户;

数据字典:user_sys_privs

select * from user_sys_privs

权限收回:

revoke 权限列表 on 表 from 用户;

SQL> revoke create table from iam;

撤销成功。

撤消只是撤消本次授权的权限,所以如果某个用户原来就有某个权利,

而你又给它授了同样的一个权利,然后你收回这个权限的时候,它原来

就具有的这个权利还是有的;

第三:角色管理*****************************************

因为一个用户可能需要某些权限的集合,当我们得到一新的用户的时候

,我们需要给一个

用户依次授权每个它需要的权限;角色正是一个权限的集合,用户可以

直接被授予这个

角色,用户自然就拥有了它的角色所拥有的权利;

创建角色:

create role 角色名 [no identified|identified by 口令

|externally]

not identified:指出授予该角色的用户在使用时不需要检验;

identified by:指出授予该角色的用户在使用set role命令时需要检

验;

收回权限:revoke 权限 from 角色名;

//角色就是权限的集合;

实例:

create role student_role

/

grant create table,create session,create view to student_role

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:php中文网

oracle中角色和用户权限,Oracle用户、角色、权限管理相关推荐

  1. Oracle中scott数据库,浅析Oracle中sys、system和Scott用户下的数据库连接问题

    system默认:manager sys默认:change_on_install 使用sql Plus登录数据库时,system使用密码manager可直接登录. 由于为自己的密码时更改过的,所以我的 ...

  2. oracle中如何写函数【oracle技术】

    oracle中如何写函数[oracle技术] | 浏览:1377 | 更新:2014-04-29 23:14 | 标签:oracle 在oracle数据开发中函数是必不可少的.函数可以一般是可以完成某 ...

  3. 怎么查看oracle数据库表的主键,Oracle中查看所有的表,用户表,列名,主键,外键...

    在Oracle中查看所有的表: select * from tab/dba_tables/dba_objects/cat; 看用户建立的表 : select table_name from user_ ...

  4. oracle追踪触发器语句,Oracle中怎样通过触发器来追踪用户的活动?

    从Oracle8i开始,Oracle引入了特殊的触发器,这些触发器并不是和特殊的DML事件相关联的(DML事件,如,INSERT,UPDATE和DELETE).这些系统级别的触发器包括数据库启动触发器 ...

  5. oracle 其他用户表主键,Oracle中查看所有的表,用户表,列名,主键,外键

    在Oracle中查看所有的表: select * from tab/dba_tables/dba_objects/cat; 看用户建立的表 : select table_name from user_ ...

  6. oracle用户的追踪文件,Oracle中怎样通过触发器来追踪用户的活动?

    从Oracle8i开始,Oracle引入了特殊的触发器,这些触发器并不是和特殊的DML事件相关联的(DML事件,如,INSERT,UPDATE和DELETE).这些系统级别的触发器包括数据库启动触发器 ...

  7. 怎么查看oracle中sys的密码修改,oracle sys 密码修改

    如果忘记sys密码,可以用操作系统权限登录:dos下输入sqlplus / as sysdba; 授予普通用户(比如scott或者创建新用户) alter user权限或者dba角色,当授予dba角色 ...

  8. oracle中脚本是什么意思,ORACLE常用脚本命令

    用户的管理 一.ORACLE的安全域 1.TABLESPACE QUOTAS:表空间的使用定额 2.DEFAULT TABLESPACE:默认表空间 3.TEMPORARY TABLESPACE:指定 ...

  9. oracle中prot是什么意思,Oracle 10g及pro*c相关问题及解决方法

    最近一直在进行ORACLE 10g和PRO*C的学习,其中遇到了不少的问题,现记录下来,以供以后参考. 一.常见问题 [注:我的linux版本是rhel 5,Oracle版本是10g] 1.在ORAC ...

  10. oracle中spool命令的使用,Oracle中Spool命令的使用方法实例

    Oracle中Spool命令的使用方法实例 前言 对于Oracle中的Spool命令,其实还可以换一种问法为,如何将sqlplus中的结果输出到指定的文件夹中. 近期在进行Oracle数据库备份的时候 ...

最新文章

  1. 【spring】专项配置文件的使用
  2. SQL SERVER定时备份数据库
  3. wxWidgets:wxMenuEvent类用法
  4. VS Code 黑宝书背后的故事
  5. 某测试仪控制系统的设计方案--ARM+FPGA+NIOS
  6. 日志 中文乱码、nacos 中文乱码、saltstack 中文乱码、docker中文乱码
  7. python编写hadoop代码
  8. eclipse 自定义文档注释的作者
  9. 《白帽子讲web安全》读书笔记
  10. 汽车常识全面介绍 - 刹车系统
  11. 『提醒自己』-自身遗忘掉的知识1
  12. 清理FLASH_RECOVERY_AREA
  13. VueSSR的一些理解和详细配置
  14. Maple中solve和dsolve的区别:solve方程解,dsolve常微分方程解
  15. python简单实现排列和组合的计算
  16. 深入剖析NVMe Over Fabrics
  17. 学业水平考试b能上985吗_会考c能上985吗 985211对会考的要求
  18. JavaScript 加减乘除运算
  19. 2020年全球及中国显示驱动芯片行业产业链、出货量及竞争格局分析「图」
  20. 路灯远程无线监控系统

热门文章

  1. Angular 如何使用 InjectionToken 的方式得到当前 location 信息
  2. SAP Spartacus 启动时 Chrome 里观察到的 product.js
  3. Angular ng-content元素的学习笔记
  4. Hybris产品主数据的价格折扣维护
  5. SAP UI5 sap.ui.localResources函数调用的作用
  6. SAP OData etag flag setting in metadata MPC_EXT
  7. SAP Fiori问题排查:Why expand does not work for complex note
  8. SAP UI5 attachment绑相对url
  9. Uncaught SyntaxError - unexpected end of input
  10. Daimler CRM中间件 inbound 调试