Oracle用户和权限管理

2025-11-07 18:55:34

1、查看实例中所有用户

Oracle用户和权限管理

2、创建用户

管理员创建用户

create user 用户名  identified by 密码

新建用户无法登录到 oracle

锁定/解锁账户

alter user username account lock/unlock

设定用户密码过期

alter user username password expire

修改密码

给自己修改

password 用户名

给别人修改  需要dba权限

alter user 用户名 identified by 新密码

删除用户

drop user username cascade

note:cascade:当用户下有表的时候,必须使用cascade级联删除。

3、 新建用户如果想登录需要以下步骤

1.建立表空间

create tablespace  gongshangju datafile '/home/oracle/app/oracle/oradata/gongshangju' size 512M autoextend on next 256M;

2.建立用户并指定默认表空间

CREATE USER gongshangju  IDENTIFIED BY gongshangju DEFAULT TABLESPACE gongshangju;

3.为建立用户授权(分配权限)

GRANT RESOURCE,DBA,CONNECT TO gongshangju;

在没有表空间的情况下想让用户登录

grant create session to gongshangju;

4、 权限

权限允许用户访问属于其它用户的对象或执行程序侨慎, 

ORACLE系统提供权限:Object 对象级、System 系统级

1.系统权限    系统权限是和数据库管理相关的权限(系统权限是 对诸盯段用户而言)

主要 是指 create user  create SESSION权限  cteate table  crate view   create sequence   create trigger  USER权限 等操作

一个用户应该具有的基本权限包含:

   CREATE SESSION    CREATE TABLE    CREATE SEQUENCE    CREATE VIEW    CREATE PROCEDURE  

分配系统权限

grant  权限/角色  to 用户

回收系统权限

revoke  权限/角色  from  用户

2.对象权限   对象权限是和用户操作数据对象相关的权限

主要 是指  update  insert delete select  alter 表 对象   序列  触发器等操作权限

分配对象权限

grant  delete  on  表名  to  用户名/角色

回收对象权限

revoke delete  on  表名  from  用户名/角色

5、 跨实例赋予权限

1.想让其躲劣它用户拥有curd  scott的emp表的权限

1. conn scott/m123;

2. grant curd on emp to xiaohong;

conn xiaohong/xiaohong;

select * from scott.emp;

设置的权限具体到列上 

grant update(id) on s_emp to jd1613; 

给jd1613赋予能够更新s_emp表上id列的权限。

注意要点:1.查询的时候要加上xx.表名

                    2.不能给列赋予查询权限,可通过创建视图来解决

Oracle用户和权限管理

Oracle用户和权限管理

Oracle用户和权限管理

6、回收权限:同系统权限。    

语法:revoke xxx on obj from user;    note:   通过with grant option赋予额权限也会被回收。    

例如:         revoke select , update  on ceshi from choy;

权限转移

表示得到权限的用户,可以把权限继续分派给其它人

系统权限转给其它人   with admin option

grant resource to user with admin option;

对象权限转给其它人   with grant option

grant select on scott.emp to stu with grant option;

7、 角色

如果有多个用户他们都具有相同的权限(create session,create table,create sequence),赋予权限的动作过于麻烦,要给每个用户分别制定这些权限,因此oracle提出角色的概念,可以    将权限赋值给角色,然后再将角色赋值给用户。

1.预定义角色

(把常用的权限集中起来,形成角色  dba   connect resource(curd))

2.自定义角色

创建角色  testrole

create role testrole not identified;

授权角色权限

grant create seeeion to testrole;

授权用户角色

grant testrole to username;

删除角色

drop.role testrole;

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢