服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Oracle - Oracle创建用户并授权及不同用户访问表的设置

Oracle创建用户并授权及不同用户访问表的设置

2023-10-13 13:27小黄debug Oracle

由于Oracle和其他数据库有些不同,当用户创建表后,其他用户无法直接访问,需要进行授权或进行同意词设置,oracle数据库的权限分为系统权限与对象权限

由于Oracle和其他数据库有些不同,当用户创建表后,其他用户无法直接访问,需要进行授权或进行同意词设置

oracle数据库的权限分为系统权限与对象权限

系统权限(database system privilege)

可以让用户执行特定的命令集。例如,create table权限允许用户创建表,grant any privilege权限允许用户授予任何系统权限。

对象权限(database object privilege)

可以让用户能够对各个对象进行某些操作。例如delete权限允许用户删除表或视图的行,select权限允许用户通过select从表、视图序列(sequences)或快照中查询信息

 

一、创建、删除用户

登录到system以创建其他用户

sqlplus /nolog

connect / as sysdba

创建用户以及设置密码

create user username identified by password;

修改用户

alter user username identified by password;

撤销用户

drop user username;

二、为用户授予角色\撤销授权

oracle提供三种标准角色(role):connect/resource和dba

connect(连接角色)

临时用户,特指不需要建表的用户,通常只赋予他们connect role.

connect是使用oracle简单权限,这种权限只对其他用户的表有访问权限,包括select、insert、update和delete等

拥有connect role的用户还能够创建表、视图序列(sequence)、簇(cluster)、同义词(synonym)、会话(session)和其他数据的链(link)

resourcerole(资源角色)

resource提供给用户另外的权限以创建他们的表、序列、存储过程(procedure)、触发器(trigger)、索引(index)和簇(cluster)

dba(数据库管理员角色)

dba role拥有所有的系统权限

包括不限制 的空间限额和给其他用户授予各种权限的能力

为用户授权

grant connect,resource,dba to username;

撤销对用户赋予的权限

revoke connect,resource,dba from username;

 

访问其他用户创建的表,无法直接访问

有两种方式

1、授权

2、同义词

授权方式

登录创建该表的用户

grant select,insert,update,delete on tablename to username

权限名 需要授权的表 需要授权的用户

同义词

登录需要使用的用户

create synonym tablename for username.tablename

同义词表名 表所属用户名.表名

说明:同义词的设置不依赖第一种方式的授权,但仍然建议给予授权(在部分场景下进行存储过程的编写中,不给予授权会出现报错)

到此这篇关于Oracle创建用户并授权及不同用户访问表的设置的文章就介绍到这了,更多相关内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文地址:https://blog.csdn.net/sun1995sun/article/details/128616740

延伸 · 阅读

精彩推荐