当前位置: 首页 > news >正文

Oracle权限管理

一)用户
Oracle中的用户分为二大类
1)Oracle数据库服务器创建时,由系统自动创建的用户,叫系统用户,如sys。
2)利用系统用户创建的用户,叫普通用户,如scott,hr,c##tiger,zhaojun,...

》用sys登录,查询当前Oracle数据库服务器中已有用户的名字和状态
username表示登录名
expired&locked表示帐号过期和锁定
open表示帐号现在可用
sqlplus / as sysdba;
col username for a10;
col account_status for a10;
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;

 

转载于:https://www.cnblogs.com/webyyq/p/7636203.html

相关文章:

  • TCP/IP编程实现远程文件传输
  • xshell中复制快捷键的设置
  • MySQL之内联接、左联接、右联接、交叉联接
  • Android自定义Toast
  • [C#]获取指定文件夹下的所有文件名(递归)
  • .Net下的签名与混淆
  • PHP $_SERVER详解
  • 人工智能+医疗 未来医生真的会失业吗
  • 企业如何实施物联网解决方案
  • Learning JQuery(一)
  • [转载]项目风险管理七种武器之结语
  • 构建Xamarin.Forms NuGet
  • 基于Android客户端的人人网开放平台开发系列教程 (有源码哦)
  • UGUI精灵图片实现图片裁剪
  • 26、C#里面标签的属性和事件
  • Docker入门(二) - Dockerfile
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • FastReport在线报表设计器工作原理
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • hadoop集群管理系统搭建规划说明
  • js如何打印object对象
  • Nacos系列:Nacos的Java SDK使用
  • NSTimer学习笔记
  • Python 基础起步 (十) 什么叫函数?
  • SpiderData 2019年2月16日 DApp数据排行榜
  • 判断客户端类型,Android,iOS,PC
  • 通信类
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • 一个项目push到多个远程Git仓库
  • 交换综合实验一
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • ​ssh免密码登录设置及问题总结
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • #我与Java虚拟机的故事#连载02:“小蓝”陪伴的日日夜夜
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (转)iOS字体
  • .describe() python_Python-Win32com-Excel
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .net mvc部分视图
  • .NET企业级应用架构设计系列之结尾篇
  • // an array of int
  • @SentinelResource详解
  • [ vulhub漏洞复现篇 ] JBOSS AS 5.x/6.x反序列化远程代码执行漏洞CVE-2017-12149
  • []我的函数库
  • [bbk5179]第66集 第7章 - 数据库的维护 03
  • [BZOJ4566][HAOI2016]找相同字符(SAM)
  • [C++]AVL树怎么转
  • [C++]——带你学习类和对象