千家信息网

Oracle如何实现用户权限控制

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要为大家展示了"Oracle如何实现用户权限控制",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Oracle如何实现用户权限控制"这篇文章吧。1、
千家信息网最后更新 2025年11月07日Oracle如何实现用户权限控制

这篇文章主要为大家展示了"Oracle如何实现用户权限控制",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Oracle如何实现用户权限控制"这篇文章吧。

1、用户

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;

2、创建与删除普通用户

可以在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;

3、了解系统用户

sys是Oracle中一个重要的系统用户,sys是Oracle中最高权限用户,其角色为SYSDBA(系统管理员)

sqlplus / as sysdba

4、权限

权限的最终作用于用户。即所有用户在数据库内的操作对象和可执行的动作都是受到限制的。

Oracle中权限分为二大类:

1)系统权限

2)对象权限

4.1、系统权限

针对数据库中特定操作的许可,例如:让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;

4.2、对象权限

用户对已有对象的操作权限,包括:

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;

以上是"Oracle如何实现用户权限控制"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

用户 权限 登录 数据 数据库 系统 普通 空间 对象 分配 查询 文件 控制 内容 篇文章 能进 存储 大类 序列 服务器 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 神魔之塔 服务器 临沂中高端直销软件开发公司 ucloud数据库价格表 搭建ntp服务器 数据库技术与应用论述题 河南农业职业学院网络安全 易软件开发 移动服务器未响应 河南艾因斯互联网科技有限公司 甘肃警察学院计算机网络技术 邯郸办公系统软件开发靠谱吗 zencart 服务器 提供服务好的云数据库 魔兽世界正在登录服务器卡死 国家教育信息化和网络安全 网络安全手抄报图片头像情侣 苏州营销网络技术推荐咨询 计算机网络技术河南中职课件 单片机上位机学什么软件开发 当前无法连接服务器正在恢复连接 上报金融数据库多久上征信 互联网软件开发学什么编程语言好 网络安全知识考试小结 阿里巴巴网络技术公司招聘条件 SQL数据库标志 数据库如何删除表的数据 通过搜索查关键字 网络安全 类似货拉拉软件开发 成都网络安全培训会议 树立网络安全观的手抄报字很少
0