设为首页 加入收藏

TOP

Oracle基础(二):用户及权限管理(一)
2015-07-24 09:38:05 来源: 作者: 【 】 浏览:0
Tags:Oracle 基础 用户 权限 管理


一、创建用户 (一)简单创建 1、权限:只有DBA用户才有权限,或有create user 的系统权限 2、语法:

create user 用户名 identified by 密码;
oracle密码不能以数字打头 3、实例:用户名-sam_sho、密码-sam123
create user sam_sho identified by sam123; 4、注意: 1)刚创建的用户没有任何权限, 需要管理员分配权限。如登录权限:
grant create session to sam_sho ; --分配登录权限
create session:登录权限。 2)oracle的权限较为复杂,下面单独处理。

(二)复杂创建 1、实例
create usersam_sho identified by sam123
default tablespace users --默认表空间。users是oracle自己创建的表空间
temporary tablespace temp --临时表空间
quota 3m on users ; --分配表空间大小,3m。unlimited-不限制大小
grant create session to sam_sho ; --分配登录权限
grant dba to sam_sho ; --分配DBA 角色
grant select on V_table to sam_sho ; --分配查询表的权限 2、表空间理解 1)表存在的空间,即在逻辑上表(Table)都是存放在表空间中(Tablespace ) 2)一个表空间指向具体的数据文件
\

3)resourse 角色的用户,创建的表没有表空间限制。
grant resourse to sam_sho ; --分配resourse 角色 (三)Oracle的用户管理机制 1、一些概念:
oracle dbms: 数据库管理系统
db 实例:
表空间
数据对象

用户
权限:系统权限与数据库权限。
角色:把常用的权限集中起来。 2、权限、角色、用户的关系

\


二、登录及修改密码 (一)用户登录 1、切换用户,用户登录。 1)语法:
conn 用户名/密码 【as sysdba/sysoper】 2)实例:
conn sam_sho/sam123;
conn sam_sho/sam123 as sysdba;
实际登录的不是sam_sho,可以show user看看
和验证机制有关,见下面。 2、显示当前登录用户的名称 1)语法:
show user;
(二)修改密码 1、给用户修改密码 1)语法:
passw【ord】 用户名 2)实例:
passw sam_sho;
passw 3)注意:
给自己修改,不需要带用户名,给别人修改需要带上。 2、给别人修改密码 1)权限:需要DBA的权限,或者拥有alter user 的系统权限 2)语法:
alter user 用户名 identified by 新密码; 3)实例:
alter user sam_sho identified by sam456; (三)删除用户 1、权限:一般需要DBA的权限,或者需要具有drop user的权限 2、语法:
语法:drop user 用户名 (cascade)
cascade 参数:级联删除该用户创建的表等数据对象。数据库会提醒的。 3、实例:
drop user sam_sho ;
drop user sam_sho cascade;--级联删除用户创建的表等数据 4、删除某个用户,但保留其数据对象
方案:锁定该用户
alter user 用户 account lock;
alter user 用户 account unlock;--解锁
三、用户口令
1、概述:
需要DBA身份
profile 是口令限制,资源限制的命令集合,当建立数据库时,oracle会自动建立名称为default 的profile。
当建立用户没有指定 profile 选项,那么oracle 就会将default 分配给用户。 2、账户锁定
概述:指定该账户登录时最多可以输入密码的次数,也可以指定用户锁定的时间(天),一般用dba 的身份去执行该命令。
实例:指定 这个用户最多只能尝试3次登录,锁定时间为2天。
create profile lock_account limit failed_login_attempts 3 password_lock_time 2;
alter user sam123 profile lock_account ;--分配 \

3、账户解锁:
语法:
alter user 用户名 account unlock;
实例:
alter user sam123 account unlock; \

4、终止口令
概述:为了让用户定期修改密码可以使用终止口令来完成
实例:建立新的profile ,要求该用户每隔10天要修改自家的登录密码,宽限期为2天。
create profile myProfile limit password_life_time 10 password_grace_time 2;
alter user sam123 profile myProfile; 5、历史口令:新旧密码不能重复
create profile myProfile2 limit password_life_time 10 password_grace_time 2 password_reuse_time 1
alter user sam123 profile myProfile2; 6、删除口令
drop profile myProfile2 ;
四、权限与角色 (一)、概述:
1、刚创建的用户没有任何权限(不能登录),需要赋予各种权限。oracle对于权限的管理,需要引用角色的概念。 2、权限 1)系统权限:用户对数据库管理的操作以及对数据对象本身的操作的权限。
包括建库、建表、建索引、登录数据库、修改密码等等 2)对象权限:用户对其他用户的数据对象数据操作的权限。
权限主要分为:select、insert、update、delete、all、create index 等等 3、角色:简化对权限的管理。 1)预定义角色
connect :连接的角色
DBA:管理员角色
resource:这个角色可以在任何表空间中建表。 2)自定义角色
4、查看权限、角色
通过PL/SQL DEV工具查看
通过各种指令 5、权限分配的方式
直接分配权限
系统权限(与数据库管理相关):
grant create sessionto sam_sho ;--分配登录权限
对象权限(增删改查):
grantselectonV_table to sam_sho ;--分配查询表的权限
分配角色,批量分配权限
grantdbato sam_sho ;--分配DBA 角色 6、撤销权限
语法:revoke 权限 from 用户
实例:
revoke select on emp from sam_sho; 从sam_sho收回emp表的查询权限
revoke connect from sam_sho;
(二)权限 1、系统权限:是指执行特定类型sql命令的权限,它用于控制用户可以执行的一个或是一组数据库操作。比如当用户具有 create table 权限时,可以在其方案中建表。当用户具有 create any table 权限时,可以再任何方案中建表。 1)内容
create session 连接数据库
create table 建表
create view 建视图
create public synonym 建同义词
create procedure 建
首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Oracle10G启动时SGA大小 下一篇Hive最新数据操作详解(超级详细)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·如何从内核协议栈到 (2025-12-27 03:19:09)
·什么是网络协议?有哪 (2025-12-27 03:19:06)
·TCP/ IP协议有哪些 (2025-12-27 03:19:03)
·怎样用 Python 写一 (2025-12-27 02:49:19)
·如何学习python数据 (2025-12-27 02:49:16)