[oracle]用户与权限管理

简介: [oracle]用户与权限管理

创建用户

CREATE USER 用户名 IDENTIFIED BY 密码
DEFAULT TABLESPACE 表空间
TEMPORARY TABLESPACE 临时表空间
QUOTA 空间配额大小 ON 表空间
PASSWORD EXPIRE
ACCOUNT LOCK | UNLOCK
  • 除了用户名和密码,其它可选
  • 建议一个用户对应一个单独的表空间

修改用户

-- DBA指定用户名和密码
ALTER USER 用户名 IDENTIFIED BY 新密码;
-- 当前用户修改自己的密码
PASSWORD 用户名;
-- 锁定用户
ALTER USER 用户名 ACCOUNT LOCK;
-- 修改用户默认表空间、临时表空间、配额无限制
ALTER USER 用户名 DEFAULT TABLESPACE 新表空间名 TEMPORARY TABLESPACE 新临时表空间名 QUOTA UNLIMITED ON 新表空间名;

删除用户

DROP USER 用户名;
-- 级联删除相关数据对象
DROP USER 用户名 CASCADE;

查询用户

-- 查看有哪些用户及其默认表空间
select username,default_tablespace from dba_users;
-- 查看表空间有哪些用户
select distinct owner,tablespace_name from dba_segments;
-- 查询表空间对应的数据文件,用户和表空间对应关系
select tablespace_name,file_id,bytes/1024/1024,file_name from dba_data_files order by file_id;

授权

-- WITH ADMIN OPTION使用户可以再授权
grant 权限1,权限2, ... TO 用户1,用户2, ... [WITH ADMIN OPTION];
-- 指定对象
GRANT 对象权限1,对象权限2, ... ON 对象 TO 用户1,用户2, ... [WITH ADMIN OPTION];

撤销授权

REVOKE 权限1,权限2, ... FROM 用户1, 用户2, ...
-- 指定对象
REVOKE 对象权限1,对象权限2, ... ON 对象 FROM 用户1,用户2, ... [WITH ADMIN OPTION];
-- 收回所有权限
REVOKE ALL ON 对象 FROM 用户名;

查看授权

-- 查询用户的系统权限
select username,privilege,admin_option from user_sys_privs;
-- 查询用户具有的对象权限
select grantee,privilege,grantor,table_name,grantable from dba_tab_privs where grantee='user1';

角色

可以将角色简单理解为用户组。常用角色有connectresourcedba,这是系统自带的角色。

对于新创建的用户,可以授予connect和resource以基本权限。

创建角色

craete role role_name;

删除角色

drop role role_name;

为角色增删权限

grant 权限 to 角色名;
revoke 权限 from 角色名;

查看角色

-- 查看所有角色
select role from dba_roles;
-- 查看用户所拥有的角色和默认角色
select granted_role,default_role from dba_role_privs where grantee='user_name';
-- 查看指定角色拥有的系统权限
select privilege,admin_option from role_sys_privs where role='role_name';

常用权限

用户和角色相关

权限 说明
create user 创建用户的权限
create role 创建角色的权限
alter user 修改用户的权限
alter any role 修改任意角色的权限
drop user 删除用户的权限
drop any role 删除任意角色权限

概要文件相关

权限 说明
create profile 创建概要文件的权限
alter profile 修改概要文件
drop profile 删除概要文件

同义词相关

权限 说明
create any synonym 为任意用户创建同义词的权限
create synonym 为用户创建同义词
drop public synonym 删除公共同义词
drop any synonym 删除任意同义词

表空间相关

权限 说明
create tablespace 创建表空间
alter tablespace 修改xxx
drop tablespace 删除xxx
unlimited tablespace 对表空间大小不加限制的权限

表相关

权限 说明
select any table 查询任意表的权限
select table 查询用户表
update any table 修改任意表数据
update table 修改用户表数据
delete any table 删除任意表数据
delete table xxx
create any table 为任意用户创建表
create table xxx
drop any table 删除任意表
alter any table 修改任意表
alter table xxx

索引相关

权限 说明
create any index 为任意用户创建索引
drop any index xxx
alter any index xxx

会话相关

权限 说明
create session 创建会话
alter session xxx

视图相关

权限 说明
create any view 为任意用户创建视图
create view xxx
drop any view xxx
select view xxx
update view xxx
delete any view xxx
delete view xxx

序列相关

权限 说明
create any sequence 为任意用户创建序列
create sequence xxx
alter sequence xxx
drop any sequence xxx
drop sequence xxx
select any sequence xxx
select sequence xxx

子程序相关

权限 说明
create any procedure 为任意用户创建存储过程
create procedure xxx
create any trigger 为任意用户创建触发器
alter procedure xxx
alter any trigger xxx
execute any procedure 执行任意存储过程
execute procedure xxx
execute function 执行函数
execute package 执行包
drop any procedure xxx
drop trigger xxx

参考

  • 《Oracle数据库从入门到运维实战》。作者:甘长春、孟飞
相关文章
|
Oracle 关系型数据库 数据安全/隐私保护
|
2月前
|
存储 Oracle 关系型数据库
Oracle数据库的应用场景有哪些?
【10月更文挑战第15天】Oracle数据库的应用场景有哪些?
191 64
|
8天前
|
存储 Oracle 关系型数据库
数据库数据恢复—ORACLE常见故障的数据恢复方案
Oracle数据库常见故障表现: 1、ORACLE数据库无法启动或无法正常工作。 2、ORACLE ASM存储破坏。 3、ORACLE数据文件丢失。 4、ORACLE数据文件部分损坏。 5、ORACLE DUMP文件损坏。
41 11
|
21天前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—Oracle数据库文件有坏快损坏的数据恢复案例
一台Oracle数据库打开报错,报错信息: “system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。管理员联系我们数据恢复中心寻求帮助,并提供了Oracle_Home目录的所有文件。用户方要求恢复zxfg用户下的数据。 由于数据库没有备份,无法通过备份去恢复数据库。
|
27天前
|
存储 Oracle 关系型数据库
oracle数据恢复—Oracle数据库文件大小变为0kb的数据恢复案例
存储掉盘超过上限,lun无法识别。管理员重组存储的位图信息并导出lun,发现linux操作系统上部署的oracle数据库中有上百个数据文件的大小变为0kb。数据库的大小缩水了80%以上。 取出&并分析oracle数据库的控制文件。重组存储位图信息,重新导出控制文件中记录的数据文件,发现这些文件的大小依然为0kb。
|
14天前
|
存储 Oracle 关系型数据库
服务器数据恢复—华为S5300存储Oracle数据库恢复案例
服务器存储数据恢复环境: 华为S5300存储中有12块FC硬盘,其中11块硬盘作为数据盘组建了一组RAID5阵列,剩下的1块硬盘作为热备盘使用。基于RAID的LUN分配给linux操作系统使用,存放的数据主要是Oracle数据库。 服务器存储故障: RAID5阵列中1块硬盘出现故障离线,热备盘自动激活开始同步数据,在同步数据的过程中又一块硬盘离线,RAID5阵列瘫痪,上层LUN无法使用。
|
1月前
|
SQL Oracle 关系型数据库
Oracle数据库优化方法
【10月更文挑战第25天】Oracle数据库优化方法
47 7
|
1月前
|
Oracle 关系型数据库 数据库
oracle数据库技巧
【10月更文挑战第25天】oracle数据库技巧
30 6

推荐镜像

更多