oracle创建新用户以及用户权限配置、查询语句

 更新时间:2024年03月02日 09:35:51   作者:poemslearning  
在Oracle数据库中要创建一个用户并仅赋予查询权限,你可以按照以下步骤进行操作,这篇文章主要给大家介绍了关于oracle创建新用户以及用户权限配置、查询语句的相关资料,需要的朋友可以参考下

1.1 创建用户语句:

create user [用户名] identified by [密码];

创建后一定要给用户授权

--更改用户密码:
alter user [用户名] identified by [密码];

1.2 删除用户

Oracle数据库中默认情况下只有SYSDBA和SYSOPER用户才能执行删除用户命令。

drop user [用户名] [CASCADE|FORCE];

--当用户拥有对象时不能直接删除。CASCADE选项表示级联删除,即删除用户后,这个用户创建的对象也一并删除;FORCE参数表示强制删除用户,即无论该用户是否有创建的对象,都会被删除。

1.3 用户授权

系统默认的普通用户scott默认未解锁,不能使用,新建的用户也没有任何权限,必须授予权限。

--授予用户创建session的权限,即登陆权限,允许用户登录数据库
grant create session to [用户名];
--授予用户使用表空间的权限
grant unlimited tablespace to [用户名];
--授予创建表的权限
grant create table to [用户名];
--授予删除表的权限
grante drop table to [用户名];
--插入表的权限
grant insert table to [用户名];
--修改表的权限
grant update table to [用户名];
--创建视图的权限
grant create view to [用户名];
--!!!授予所有权限给所有用户!!!
grant all to public;

1.4 撤销用户权限

revoke connect from user [用户名];

1.5 查看用户权限

--查看指定用户的系统权限
select * from dba_role_privs where grantee=upper('[用户名]');
--查看指定用户的对象权限
select * from dba_tab_privs where grantee=upper('[用户名]');

1.6 角色

1.6.1 三种标准角色

  • CONNECT角色: 是授予最终用户的,最基本的权力,能够连接到ORACLE数据库中,并在对其他用户的表有访问权限时,做SELECT、UPDATE、INSERTT等操作。
  • RESOURCE角色: 是授予开发人员的,能在自己的用户下创建表、序列、视图等。    
  • DBA角色: 是授予系统管理员的,拥有所有的系统权限
--将标准角色授权给用户语法:
grant connect,resource to [用户名];
--撤销授权:
revoke connect,resource from [用户名];    

1.6.2 创建/授权/删除角色

--创建角色
create role [角色名];
--授权给角色
--将创建session的权限授予角色
grant create session to [角色名];
--将创建的角色授权给用户
grant [角色名] to [用户名];
--删除角色
drop role [角色名];

1.7 权限查询 

--查看指定用户有哪些系统权限
select * from dba_role_privs where grantee=upper('[用户名]');
--查看指定用户有哪些对象权限
select * from dba_tab_privs where grantee=upper('[用户名]');

补充:oracle怎么用SQL将一个用户的表完整复制到另一个用户下呢

可以通过以下步骤将一个用户的表完整复制到另一个用户下:

  • 在目标用户下创建一个新的表空间(如果需要)。

  • 在源用户下使用CREATE TABLE AS SELECT语句来创建一个新表,该语句可以将源表的所有数据和结构复制到新表中:

    CREATE TABLE target_user.new_table 
    AS 
    SELECT * 
    FROM source_user.source_table;
    
  • 在目标用户下使用ALTER TABLE语句更改新表的所有者:

    ALTER TABLE target_user.new_table 
    OWNER TO target_user;
    
  • 如果需要,可以在目标用户下使用GRANT语句授予新表的权限:

    GRANT SELECT, INSERT, UPDATE, DELETE ON target_user.new_table TO other_user;
    

注意:在上述示例中,“source_user”是源表所在的用户,“source_table”是要复制的表,“target_user”是目标用户,“new_table”是新表的名称,“other_user”是要授予权限的其他用户。

总结 

到此这篇关于oracle创建新用户以及用户权限配置、查询语句的文章就介绍到这了,更多相关oracle用户权限配置、查询内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Oracle 中 table 函数的应用浅析

    Oracle 中 table 函数的应用浅析

    表函数可接受查询语句或游标作为输入参数,并可输出多行数据。这篇文章主要介绍了Oracle 中 table 函数的应用浅析,需要的朋友可以参考下
    2016-12-12
  • Oracle组件实现动态Web数据库

    Oracle组件实现动态Web数据库

    Oracle组件实现动态Web数据库...
    2007-03-03
  • Oracle相关组件版本信息的介绍

    Oracle相关组件版本信息的介绍

    今天小编就为大家分享一篇关于Oracle相关组件版本信息的介绍,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • oracle select执行顺序的详解

    oracle select执行顺序的详解

    本篇文章是对oracle select执行顺序进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • Oracle索引质量介绍和分析脚本分享

    Oracle索引质量介绍和分析脚本分享

    这篇文章主要介绍了Oracle索引质量介绍和分析脚本分享,索引质量的高低对数据库整体性能有着直接的影响,本文给出了演示以及索引创建的基本指导原则,最后给出了索引质量分析脚本,需要的朋友可以参考下
    2014-09-09
  • oracle中merge into用法及实例解析

    oracle中merge into用法及实例解析

    这篇文章主要介绍了oracle中merge into用法及实例解析,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • Oracle Index索引无效的原因与解决方法

    Oracle Index索引无效的原因与解决方法

    这篇文章主要给大家介绍了关于Oracle Index索引无效的原因与解决方法,文中通过示例代码以及图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • Oracle数据安全面面观

    Oracle数据安全面面观

    Oracle数据安全面面观...
    2007-03-03
  • Oracle取整函数用法案例

    Oracle取整函数用法案例

    四舍五入是我们最早接触的数学概念之一,我们日常开发系统中,数字取整也是我们最常接触的一种需求样式,下面这篇文章主要给大家介绍了关于Oracle取整函数用法的相关资料,需要的朋友可以参考下
    2023-06-06
  • Oracle随机函数之dbms_random使用详解

    Oracle随机函数之dbms_random使用详解

    dbms_random是oracle提供的一个随机函数包,本文将详细介绍函数的使用,需要的朋友可以参考下
    2012-12-12

最新评论