Oracle用户及用户权限

lsnrctl status
alter user michael identified by gzk_2019;
sqlplus michael/michael@59.1.12.43:11521/orcl as sysdba

select name from v$database;


sqlplus /nolog
conn /as sysdba;
select username from dba_users;
alter user system identified by lcf_2000;

Oracle 默认数据库用户:

accountpassword
syschange_on_install as sysdba
systemmanager
scotttiger

创建一个名称为 michael 的用户,其密码为 michelle:

CREATE USER michael IDENTIFIED BY michelle;

->当创建用户时候,如果没有指定profile,那么Oracle把名字叫default的profile赋予给用户。

->创建profile文件连续密码错误3次锁定账户2天:

create profile myprofile 
limit 
failed_login_attempts 3 
password_lock_time 2;

note:
     failed_login_attempts : 用于指定连续登陆的最大失败次数.
     password_lock_time : 用于指定帐户被锁定的天数.

create user michelle identified by michael profile myprofile;
alter user michael profile myprofile;

解除锁定:

alter user michael account unlock;

终止口令:需要每隔10天修改密码,最多宽限2天:

alter profile "myprofile" 
limit 
password_life_time 10 
password_grace_time 2;

删除profile:

drop profile myprofile cascade; 

使得michael的profile重新变成了default.


权限指的是执行特定命令或访问数据库对象的权利;
权限有两种类型,系统权限和对象权限:
       系统权限允许用户执行某些数据库操作,如创建表就是一个系统权限;
       对象权限允许用户对数据库对象(如表、视图、序列等)执行特定操作;

授予用户权限,可以是系统权限或者对象权限:

GRANT privilege [,privilege…] 
TO user [, user|role, PUBLIC] [WITH ADMIN OPTION];

说明:包含了WITH ADMIN OPTION,只能是系统权限。

  此系统权限允许michael连接到数据库上

GRANT CREATE SESSION TO michael; 

  赋给michael 创建表的系统权限

GRANT CREATE TABLE TO michael;

  此系统权限允许michael任意使用表空间

GRANT UNLIMITED TABLESPACE TO michael; 

收回系统权限REVOKE:

REVOKE create session FROM michael;

对象权限
赋予权限,访问某个用户的特定对象(如表、视图等)的对象权限(select on scott.student)

GRANT object_privilege [columns] 
ON object 
TO user [, user|role, PUBLIC] 
[WITH GRANT OPTION];

收回对象权限REVOKE:

REVOKE privilege ON object 
FROM {user|role|PUBLIC};

eg:
允许用户查询 EMP 表的记录:

GRANT SELECT ON SCOTT.EMP TO michael;

允许用户更新 EMP 表中的记录:

GRANT UPDATE ON SCOTT.EMP TO michael;

允许用户插入、删除、更新和查询 EMP 表中的记录:

GRANT ALL ON SCOTT.EMP TO michael;

收回用户查询 EMP 表中的记录:

REVOKE SELECT ON SCOTT.EMP FROM michael;

允许用户更新 emp 表中的ename、sal列

grant update(ename,sal) on scott.emp to michael;

角色管理 : 角色是一组相关权限的组合,可以将权限授予角色,再把角色授予用户,以简化权限管理。
GRANT 命令可用于为用户分配权限或角色 :
(1)创建角色CREATE ROLE,应该具有CREATE ROLE系统权限。

CREATE ROLE role_name;

(2) 授予角色权限,可以是系统权限或者对象权限。

-- GRANT privilege TO ROLE;
grant create session ,create any table, drop any table to role1;

(3) 将角色授予用户

-- GRANT role TO user;
grant role1 to michael;

(4) 从用户收回角色

REVOKE role FROM michael;

CONNECT角色允许用户连接至数据库,并创建数据库对象:

GRANT CONNECT TO michael; 

RESOURCE角色允许用户使用数据库中的存储空间:

GRANT RESOURCE TO michael; 

此系统权限允许用户连接到数据库上:

GRANT CREATE SESSION TO michael; 

修改 michael 用户的密码:(用户名大写,小写问题一定要注意

ALTER USER michael IDENTIFIED BY michelle;

删除 michael 用户模式:

DROP USER michael [CASCADE]; 

每个用户都有一个默认表空间和一个临时表空间;

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle 数据库中,用户权限用于控制对数据库对象的访问和操作。每个用户都有一组特定的权限,这些权限决定了用户可以执行哪些操作。 Oracle 数据库中的权限分为两种类型:系统权限和对象权限。 1. 系统权限:系统权限控制对数据库系统级别的操作。这些权限包括: - CREATE USER:允许创建新用户。 - ALTER USER:允许修改用户的属性。 - DROP USER:允许删除用户。 - CREATE SESSION:允许用户登录到数据库。 - GRANT ANY PRIVILEGE:允许用户授予任何权限给其他用户。 - CREATE TABLESPACE:允许创建表空间。 - 等等。 2. 对象权限:对象权限控制对数据库中具体对象的操作。这些权限包括: - SELECT:允许查询表中的数据。 - INSERT:允许向表中插入数据。 - UPDATE:允许更新表中的数据。 - DELETE:允许删除表中的数据。 - ALTER:允许修改表的结构。 - DROP:允许删除表或其他对象。 - 等等。 要授予或撤销用户的权限,可以使用 GRANT 和 REVOKE 命令。例如,要授予用户 SELECT 权限: ``` GRANT SELECT ON table_name TO user_name; ``` 要撤销用户的 SELECT 权限: ``` REVOKE SELECT ON table_name FROM user_name; ``` 需要注意的是,权限的授予和撤销必须由有相应权限的用户或角色执行。此外,还可以通过角色的方式管理用户权限,将权限授予角色,然后将角色授予用户。 这只是 Oracle 用户权限的简介,实际上还有更多细节和复杂性可以探索。如有需要,请在具体场景中查阅 Oracle 文档或咨询专业人士以获取更详细的信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值