28、Oracle(四)用户权限控制
一)用户
Oracle中的用户分为二大类
1)Oracle数据库服务器创建时,由系统自动创建的用户,叫系统用户,如sys。
2)利用系统用户创建的用户,叫普通用户,如scott,hr,c##tiger,zhaojun,...
》用sys登录,查询当前Oracle数据库服务器中已有用户的名字和状态
username表示登录名
expired&locked表示帐号过期和锁定
open表示帐号现在可用
sqlplus / as sysdba;
col username for a30;
col account_status for a30;
set pagesize 100;
select username,account_status from dba_users;
查询Oracle中有哪些用户
select * from all_users;
二)创建与删除普通用户
可以在Oracle中创建新的普通用户,创建普通用户命令是:create user,在创建普通用户的同时,应该为其分配一个具体的表空间,通常叫users。
》用sys登录,查询Oracle中有哪些可用存储空间,所有普通用户默认为users存储空间
select * from v$tablespace;
》用sys登录,创建普通用户c##tiger,密码为abc,默认使用users存储空间,即对应硬盘上的一个DBF二进制文件
sqlplus / as sysdba;
create user c##tiger identified by abc default tablespace users;
》用sys登录,为c##tiger分配users空间无限制使用,即数据库中DBF文件可以无限增加,一个DBF文件不够,会创建第二个DBF文件
sqlplus / as sysdba;
alter user c##tiger quota unlimited on users;
》用c##tiger登录,能进orcl数据库吗?
sqlplus c##tiger/abc
进不去orcl数据库
》用sys登录,删除普通用户c##tiger
sqlplus / as sysdba;
drop user c##tiger cascade;
三)了解系统用户
sys是Oracle中一个重要的系统用户,sys是Oracle中最高权限用户,其角色为SYSDBA(系统管理员)
sqlplus / as sysdba
四)权限
权限的最终作用于用户。即所有用户在数据库内的操作对象和可执行的动作都是受到限制的。
Oracle中权限分为二大类:
1)系统权限
2)对象权限
五)系统权限
针对数据库中特定操作的许可,例如:让c##tiger能登录到orcl数据库,能在orcl数据库中创建表
》用sys登录,获取系统权限的相关信息,例如:select any table表示针对所有表的select权限
sqlplus / as sysdba;
select distinct privilege from dba_sys_privs;
》用sys登录,为c##tiger分配create session与数据库建立会话的权限,即允许该用户登录
sqlplus / as sysdba;
grant create session to c##tiger;
》用c##tiger登录,能进orcl数据库吗?
sqlplus c##tiger/abc
能进去orcl数据库
》用c##tiger登录,创建一张tiger的表,能创建吗?
sqlplus c##tiger/abc
create table tiger(
name varchar2(20)
);
这时c##tiger没有权限创建表
》用sys登录,为c##tiger分配create table权限,即允许创建表
sqlplus / as sysdba;
grant create table to c##tiger;
》用c##tiger登录,创建一张tiger的表,能创建吗?
sqlplus c##tiger/abc
create table tiger(
name varchar2(20)
);
可以创建c##tiger表
》用sys登录,查询c##tiger所拥有的系统权限
sqlplus / as sysdba;
select grantee,privilege from dba_sys_privs where lower(grantee) = 'c##tiger';
grantee表示普通用户名
privilege权限名
》用sys登录,撤销c##tiger的create table权限
sqlplus / as sysdba;
revoke create table from c##tiger;
六)对象权限
用户对已有对象的操作权限,包括:
1)select可用于表,视图和序列
2)insert向表或视图中插入新的记录
3)update更新表中数据
4)delete删除表中数据
5)execute函数,过程的执行
6)index为表创建索引
7)references为表创建外健
8)alter修改表或者序列的属性
》用sys登录,查询c##tiger所拥有的对象权限
sqlplus / as sysdba;
col grantee for a10;
col table_name for a10;
col privilege for a20;
select grantee,table_name,privilege from dba_tab_privs where lower(grantee) = 'c##tiger';
》用sys登录,为c##tiger分配对tiger表的所有权限,即增删改查操作
sqlplus / as sysdba;
grant all on c##tiger.tiger to c##tiger;
注意:c##tiger表示空间名
tiger表示该空间下的表名
C##TIGER TIGER FLASHBACK
C##TIGER TIGER DEBUG
C##TIGER TIGER QUERY REWRITE
C##TIGER TIGER ON COMMIT REFRESH
C##TIGER TIGER REFERENCES
C##TIGER TIGER UPDATE
C##TIGER TIGER SELECT
C##TIGER TIGER INSERT
C##TIGER TIGER INDEX
C##TIGER TIGER DELETE
C##TIGER TIGER ALTER
》用c##tiger登录,对tiger表进行增删改查操作
sqlplus c##tiger/abc;
insert into tiger(name) values('AA');
update tiger set name = 'BB';
delete from tiger where rownum = 1;
select * from tiger;
28、Oracle(四)用户权限控制的更多相关文章
- Vue-Access-Control:前端用户权限控制解决方案
原文地址:http://refined-x.com/2017/11/28/Vue2.0用户权限控制解决方案/ Vue-Access-Control是一套基于Vue/Vue-Router/axios 实 ...
- 如何实现Oracle修改用户权限 .
这里将介绍Oracle修改用户权限的实现过程,包括一些权限管理方面的东西.希望通过本文能对大家了解Oracle修改用户权限有所帮助. ORACLE数据库用户与权限管理 ORACLE是多用户系统,它允许 ...
- 转 oracle 学习- 用户权限角色
创建和删除用户是Oracle用户管理中的常见操作,但这其中隐含了Oracle数据库系统的系统权限与对象权限方面的知识.掌握还Oracle用户的授权操作和原理,可以有效提升我们的工作效率. Oracle ...
- Navicat连接Oracle数据库用户权限问题
解决Navicat连接Oracle数据库用户权限问题: 第一步:在cmd窗口运行[sqlplus], 第二步:输入Oracle的用户名和口令连接Oracle数据库, 第三步:执行授权代码,给用户授予D ...
- linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制)
linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制) 发表于2012//07由feng linux 本身的ugo rwx的权限,对于精确的权限控制很是力不从心的,ac ...
- 详解Oracle创建用户权限全过程
本文将介绍的是通过创建一张表,进而实现Oracle创建用户权限的过程.以下这些代码主要也就是为实现Oracle创建用户权限而编写,希望能对大家有所帮助. 注意:每条语语分开执行,结尾必须用分号; // ...
- Oracle查询用户权限
Oracle查询用户权限 -- 确定角色的权限select * from role_tab_privs ; 包含了授予角色的对象权限select * from role_ro ...
- asp.net core根据用户权限控制页面元素的显示
asp.net core根据用户权限控制页面元素的显示 Intro 在 web 应用中我们经常需要根据用户的不同允许用户访问不同的资源,显示不同的内容,之前做了一个 AccessControlHelp ...
- 基于RESTful API 怎么设计用户权限控制?
前言 有人说,每个人都是平等的:也有人说,人生来就是不平等的:在人类社会中,并没有绝对的公平,一件事,并不是所有人都能去做:一样物,并不是所有人都能够拥有.每个人都有自己的角色,每种角色都有对某种资源 ...
随机推荐
- jiffies和HZ
全局变量jiffies用来记录自系统启动以来产生的节拍的总数.启动时,内核将该变量初始化为0,此后,每次时钟中断处理程序都会增加该变量的值.一秒内时钟中断的次数等于Hz,所以jiffies一秒内增加的 ...
- boost 1.57.0安装
一. PC编译安装boost boost是C++的准标准库,其有两种安装方法. 1. ubuntu下,通过sudo apt-get install libboost-all-dev. 2. 通过源码包 ...
- CAD出图
今天帮着客户输出图纸,用打印命令,设置打印参数,选择dwg到pdf打印机.设置图纸大小等参数 CAD满图纸输出 按照比例尺输出 plot,一般图纸绘制是已经有一个比例尺,所以按照1:1输出,如果图纸是 ...
- 前端实战——照片墙gallery的实现
对应的html代码 <!doctype html> <html lang="zh-hans"> <head> <meta charset= ...
- Android的LinearLayout中的权重android:layout_weight
当前EditText和Button部件只是适应了他们各自内容的大小,如下图所示: 这样设置对按钮来说很合适,但是对于文本框来说就不太好了,因为用户可能输入更长的文本内容.因此如果能够占满整个屏幕宽度会 ...
- 《30天自制操作系统》06_day_学习笔记
harib03a: 内容没有变化 :P109 从这里开始,代码开始工程化了. 将原本300多行的bootpack.c分割成了三部分: graphic.c : 用来处理界面图像 dsctbl. ...
- HTML语言的一些元素(一)
1)标题的六个等级:<h1>,<h2>,<h3>,<h4>,<h5>,<h6>.如果写了诸如:<h7>等,则作为正文 ...
- G面经prepare: BuyGoods
给你一部分钱和一些不同价钱的商品,如何在最多买K件商品的情况下尽可能多的花掉手里的钱. 举例:口袋里的钱数: 10; K=2 产品价格: [3, 6, 8, 7, 9] 输出 3, 7 Backtra ...
- javascript语法详解
javascript语法:运算符 条件语句if...else... 条件语句switch 循环语句for 循环语句while 跳转语句 js运算符 1.算数运算符:+ - * % / ++ ...
- java中的断言
断言:也就是所谓的assertion,是jdk1.4后加入的新功能. 它主要使用在代码开发和测试时期,用于对某些关键数据的判断,如果这个关键数据不是你程序所预期的数据,程序就提出警告或退出. 当软件 ...