[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 关系型数据库 数据安全/隐私保护
|
22天前
|
存储 Oracle 关系型数据库
Oracle数据库的应用场景有哪些?
【10月更文挑战第15天】Oracle数据库的应用场景有哪些?
140 64
|
12天前
|
SQL Oracle 关系型数据库
Oracle数据库优化方法
【10月更文挑战第25天】Oracle数据库优化方法
23 7
|
12天前
|
Oracle 关系型数据库 数据库
oracle数据库技巧
【10月更文挑战第25天】oracle数据库技巧
16 6
|
12天前
|
存储 Oracle 关系型数据库
Oracle数据库优化策略
【10月更文挑战第25天】Oracle数据库优化策略
16 5
|
19天前
|
存储 Oracle 关系型数据库
数据库数据恢复—Oracle ASM磁盘组故障数据恢复案例
Oracle数据库数据恢复环境&故障: Oracle ASM磁盘组由4块磁盘组成。Oracle ASM磁盘组掉线 ,ASM实例不能mount。 Oracle数据库故障分析&恢复方案: 数据库数据恢复工程师对组成ASM磁盘组的磁盘进行分析。对ASM元数据进行分析发现ASM存储元数据损坏,导致磁盘组无法挂载。
|
21天前
|
监控 Oracle 关系型数据库
Oracle数据库性能优化
【10月更文挑战第16天】Oracle数据库性能优化是
21 1
|
2月前
|
Oracle 关系型数据库 数据库
数据库数据恢复—Oracle数据库文件出现坏块的数据恢复案例
打开oracle数据库报错“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。 数据库没有备份,无法通过备份去恢复数据库。用户方联系北亚企安数据恢复中心并提供Oracle_Home目录中的所有文件,急需恢复zxfg用户下的数据。 出现“system01.dbf需要更多的恢复来保持一致性”这个报错的原因可能是控制文件损坏、数据文件损坏,数据文件与控制文件的SCN不一致等。数据库恢复工程师对数据库文件进一步检测、分析后,发现sysaux01.dbf文件损坏,有坏块。 修复并启动数据库后仍然有许多查询报错,export和data pump工具使用报错。从数据库层面无法修复数据库。
数据库数据恢复—Oracle数据库文件出现坏块的数据恢复案例