oracle创建用户并赋权_oracle 删除用户

oracle创建用户并赋权_oracle 删除用户首发微信公众号:SQL数据库运维 原文链接:https://mp.weixin.qq.com/s?__biz=MzI1NTQyNzg3MQ==&mid=2247485212&idx=1

Oracle用户创建、赋权、查询及删除操作

首发微信公众号:SQL数据库运维

原文链接:https://mp.weixin.qq.com/s?__biz=MzI1NTQyNzg3MQ==&mid=2247485212&idx=1&sn=450e9e94fa709b5eeff0de371c62072b&chksm=ea37536cdd40da7a94e165ce4b4c6e70fb1360d51bed4b3566eee438b587fa231315d0a5a5b3&token=1491694448&lang=zh_CN#rd

 

Oracle用户的概念对于Oracle数据库至关重要,通俗的讲就是访问Oracle数据库的“人”。

Oracle 成功安装后默认拥有下面几个系统用户:

sys:sys用户是数据库的超级用户,具有DBA权限,并具有sysdba权限(管理实例,启停Oracle),是Oracle数据库中权限最高的帐号,只能以sysdba或sysoper登陆,不能用normal。

system:system用户是数据库内置的一个普通管理员,拥有普通DBA角色权限,但是没有sysdba权限,该帐号用于管管理数据库,只能以Normal登陆,你手工创建的任何用户在被授予DBA角色后都跟这个用户差不多。相当于sys是qq群主,system是qq群管理员

sysman也是管理员级别的用户,用于操作企业管理器。

Scott默认是被锁定的,需要去解锁它,才可以被登陆 。
注意:前三个用户使用统一在安装Oracle时设置的密码,而Scott用户的默认密码为tiger,如果不解锁使用PL/SQL登录时会提示“账号被锁定”,如下图:

oracle创建用户并赋权_oracle 删除用户

用户权限

Oracle数据库用户权限分为:系统权限和对象权限两种。

系统权限:比如:Create Session可以和数据库进行连接权限、Create Table、Create View 等具有创建数据库对象权限。

对象权限:比如:对表中数据进行增删改查操作,拥有数据库对象权限的用户可以对所拥有的对象进行相应的操作。

数据库角色

Oracle数据库角色是若干系统权限的集合,给Oracle用户进行授权数据库角色,就是等于赋予该用户若干数据库系统权限。常用的数据库角色如下:

CONNECT角色:connect角色是Oracle用户的基本角色,connect权限代表着用户可以和Oracle服务器进行连接,建立session(会 话)。

RESOURCE角色:resouce角色是开发过程中常用的角色。RESOURCE给用户提供了可以创建自己的对象,包括:表、视图、序列、过程、触发器、索引、包、类型等。

DBA角色:DBA角色是管理数据库管理员该有的角色。它拥有系统的所有权限,和给其他用户授权的权限。SYSTEM用户就具有DBA权限。

  1. 对于普通用户:授予connect, resource角色权限。

  2. 对于DBA管理用户:授予connect,resource, dba角色权限

因此,在实际开发过程当中可以根据需求,把某个角色或系统权限赋予某个用户。授权语句如下:

注意:系统权限只能通过DBA用户授权,对象权限有拥有该对象权限的对象授权(不一定是本身对象)!用户不能自己给自己授权

概念部分也就那么多,大家清楚就行,下边直接上语法实例。

语法:创建Oracle用户JT_CS

-- Create the user 
  create user JT_CS--用户名
  identified by "123456"--密码
  default tablespace USERS--默认表空间名
  temporary tablespace temp --临时表空间名
  profile DEFAULT    --数据文件(默认数据文件)
  account unlock; -- 账户是否解锁(lock:锁定、unlock解锁)

语法:查看所有用户信息

select * from dba_users;

oracle创建用户并赋权_oracle 删除用户

通过上面语句,可以创建一个JT_CS用户,但是该用户现在还不能登录数据库,因为它没有登录数据库权限,最少他需要一个create session系统权限才能登录数据库。

oracle创建用户并赋权_oracle 删除用户

语法:赋予用户权限

--GRANT 对象权限 on 对象 TO 用户
--(表的增删改权限授权,授权JT_CS用户可以增删改查SYSTEM用户下的TB_STUDENT表)    
grant select, insert, update, delete on SYSTEM.TB_STUDENT to JT_CS;

--GRANT 系统权限 to 用户(授予JT_CS用户select any table的系统权限)
grant select any table to JT_CS;

--GRANT 角色 TO 用户
grant dba TO JT_CS;--授权dba角色权限(DBA权限) 
grant connect to JT_CS;--授权connect角色权限(普通权限)
grant resource to JT_CS;--授予resource角色权限(普通权限)

语法:取消用户权限

-- Revoke 对象权限 on 对象 from 用户 
revoke select, insert, update, delete on SYSTEM.TB_STUDENT from JT_CS;

-- Revoke 系统权限  from 用户
revoke SELECT ANY TABLE from JT_CS;

-- Revoke 角色(role) from 用户
revoke dba from JT_CS;--取消dba权限
revoke RESOURCE,CONNECT from JT_CS;--取消普通权限

语法:查询用户拥有哪些角色权限

--dba账号查看所有账号的权限
select * from dba_role_privs;
--普通账号查看自己的权限
select * from user_role_privs;
--查看当前用户所拥有的权限
select * from session_privs;
--dba账号查看角色所有的权限
select * from dba_sys_privs;
select * from dba_sys_privs where grantee=‘CONNECT‘;

语法:删除JT_CS用户

DROP USER JT_CS CASCADE;--加上CASCADE则将用户连同其创建的东西全部删除

语法:Oracle用户修改密码及锁定状态

--修改用户信息
alter user JT_CS 
  identified by ******  --修改密码
  account lock;--修改用户处于锁定状态或者解锁状态 (LOCK|UNLOCK )
  --或单独进行操作修改
  alter user JT_CS account unlock;
  alter user JT_CS identified by 12345678;

扩展知识

默认情况下Oracle只对sys,system,dbsnmp,sysman,mgmt_view五个帐户进行了解锁,如果希望其它用户也能登录需要手工进行解锁。

原文地址:https://www.cnblogs.com/since-1995/archive/2022/08/29/16634800.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/4841.html

(0)
上一篇 2023-06-02
下一篇 2023-06-02

相关推荐

  • 使用Python转换为小写字母

    使用Python转换为小写字母Python是一个强大的编程语言,具有很多优点。在数据处理和文本分析中,Python函数可以将给定字符串中的所有字母转换为小写字母。这个函数使用简单,并且能够快速将文本文档标准化,以便进行进一步的分析和处理。这个函数的使用在实战应用中非常广泛。

    2023-12-21
    109
  • sql快速生成连续整数的方法_vb随机生成1到100随机整数

    sql快速生成连续整数的方法_vb随机生成1到100随机整数 很多时候需要用到连续的id进行数据对比,如判断是否连续等问题。那么,生成连续整数的方式有多种,首先容易想到的是逐步循环,如果想生成2kw条记录,则需要循环2kw次进行插入,那么有没有其他方式…

    2023-03-28
    161
  • 5000字总结MySQL单表查询,新手看这一篇足够了!「终于解决」

    5000字总结MySQL单表查询,新手看这一篇足够了!「终于解决」通过写SQL查询,我们可以发现很多简单查询语句主要就是由一些算术操作、字段操作、函数还有各种子句构成的,今天我们从这个角度对MySQL单表查询的基础知识进行一个汇总。 __计算:__ 计算字段 算术操

    2023-02-19
    133
  • 关于python把数组写入csv的信息

    关于python把数组写入csv的信息有两种途径:

    2023-11-18
    144
  • 在JavaScript中查找指定字符

    在JavaScript中查找指定字符在前端开发中,我们经常需要在字符串中查找指定字符,来进行字符串处理,比如数据的格式化和校验等。JavaScript提供了多种方法来查找指定字符,本文将会详细介绍这些方法。

    2024-04-15
    70
  • 利用Python的Dictionary实现高效数据存储

    利用Python的Dictionary实现高效数据存储随着数据和计算需求的增加,如何高效地存储和查询数据变得越来越重要。Python中的Dictionary是一个强大的工具,它提供了高效的数据存储和查询功能,使数据处理变得更加便捷。本文将从多个方面来探讨如何利用Dictionary实现高效数据存储。

    2024-01-21
    104
  • Python多行字符串示例

    Python多行字符串示例Python是一种简单易学、功能强大的高级编程语言,其代码简洁易懂、可读性强等特点,使得Python成为了最受欢迎的编程语言之一。而Python多行字符串也是Python编程中常用的技巧之一,本篇文章旨在通过丰富的内容和示例,帮助读者更好地理解和使用Python多行字符串。

    2024-08-11
    32
  • Python Bytes函数:将字符串转换为字节类型

    Python Bytes函数:将字符串转换为字节类型在Python中,Bytes类型是一种不可变的序列类型,表示字节序列。它与字符串类型很相似,支持索引、切片操作等,但是字符串是Unicode字符的序列类型,而Bytes类型是字节的序列类型。因为计算机中所有的信息最终都会转换成二进制存储,所以Bytes类型可以用来处理在计算机中实际存储的数据。

    2023-12-05
    110

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注