0

0

Oracle用户、角色、权限管理

php中文网

php中文网

发布时间:2016-06-07 17:09:02

|

994人浏览过

|

来源于php中文网

原创

用户在会话的权利上,应该有其他操作的权利;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

eshop网上书店源码
eshop网上书店源码

适合初学的标准三层架构,采用ajax,页面布局div+css符合w3c,用vs自带的sqlserver,免配置sqlserver,使用方便,里面共有5个项目,点击最外层的.sln直接可运行。网站采用asp.net 用户角色配置(membership,UserRoles),用户角色、权限可在asp.net配置里修改,注册,登陆均采用asp.net登陆控件,网站根据用户角色自定义sitemap,基本上

下载

/其中,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

linux

相关专题

更多
Word 字间距调整方法汇总
Word 字间距调整方法汇总

本专题整合了Word字间距调整方法,阅读下面的文章了解更详细操作。

2

2025.12.24

任务管理器教程
任务管理器教程

本专题整合了任务管理器相关教程,阅读下面的文章了解更多详细操作。

2

2025.12.24

AppleID格式
AppleID格式

本专题整合了AppleID相关内容,阅读专题下面的文章了解更多详细教程。

0

2025.12.24

csgo视频观看入口合集
csgo视频观看入口合集

本专题整合了csgo观看入口合集,阅读下面的文章了知道更多入口地址。

29

2025.12.24

yandex外贸入口合集
yandex外贸入口合集

本专题汇总了yandex外贸入口地址,阅读下面的文章了解更多内容。

58

2025.12.24

添加脚注通用方法
添加脚注通用方法

本专题整合了添加脚注方法合集,阅读专题下面的文章了解更多内容。

1

2025.12.24

重启电脑教程汇总
重启电脑教程汇总

本专题整合了重启电脑操作教程,阅读下面的文章了解更多详细教程。

3

2025.12.24

纸张尺寸汇总
纸张尺寸汇总

本专题整合了纸张尺寸相关内容,阅读专题下面的文章了解更多内容。

5

2025.12.24

Java Spring Boot 微服务实战
Java Spring Boot 微服务实战

本专题深入讲解 Java Spring Boot 在微服务架构中的应用,内容涵盖服务注册与发现、REST API开发、配置中心、负载均衡、熔断与限流、日志与监控。通过实际项目案例(如电商订单系统),帮助开发者掌握 从单体应用迁移到高可用微服务系统的完整流程与实战能力。

1

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Rust 教程
Rust 教程

共28课时 | 3.8万人学习

JavaScript
JavaScript

共185课时 | 14.2万人学习

CSS教程
CSS教程

共754课时 | 16.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号