首发微信公众号: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数据库用户权限分为:系统权限和对象权限两种。

系统权限:比如: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;

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

语法:赋予用户权限

--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五个帐户进行了解锁,如果希望其它用户也能登录需要手工进行解锁。

Oracle用户创建、赋权、查询及删除操作的更多相关文章

  1. Oracle用户创建及删除

    偶尔会用到,记录.分享. 1. Oracle用户创建 #创建用户表空间create tablespace $username datafile '/u01/app/oracle/oradata/ufg ...

  2. 对oracle用户创建asm磁盘

    --root用户执行vi /etc/sysctl.conf #Install oracle settingfs.aio-max-nr = 1048576fs.file-max = 6815744#ke ...

  3. oracle创建用户并赋权

    Oracle建立表空间和用户 [sql] view plain copy 建立表空间和用户的步骤: 用户 建立:create user 用户名 identified by "密码" ...

  4. Oracle 添加用户并赋权,修改密码,解锁,删除用户的方法

    转至:https://www.jb51.net/article/20367.htm 添加用户(随着用户的创建,自动产生与用户同名的schema) CREATE USER "TESTER&qu ...

  5. oracle创建用户及赋权

    1,创建表空间 create tablespace hxzg_data logging datafile 'C:\app\data\hxzg_data.dbf' size 50m autoextend ...

  6. mysql数据库创建用户、赋权、修改用户密码

    创建新用户 create user lisi identified by '123456'; 查看创建结果: 授权 命令格式:grant privilegesCode on dbName.tableN ...

  7. mysql (8.0 或以下)数据 卸载, 安装, 创建用户, 赋权

    卸载 安装 创建用户wmxl create user 'wmxl'@'202.115.253.71' identified by '你的密码' 如果是mysql8.0,再输入以下 ALTER USER ...

  8. Oracle用户创建、删除和授权等方法总结

    一.查看用户及权限 1.查询所有用户: 1.1.查看所有用户基本信息 select * from all_users; 1.2.查看所有用户相信信息 select * from dba_users; ...

  9. oracle用户创建及权限设置及表空间

    建立表空间: create tablespace portx_data datafile 'D:\oracle_data\portx.dbf' size 50m autoextend on next ...

  10. oracle用户创建及权限设置

    权限: create session create table unlimited tablespace connect resource dba 例: #sqlplus /nolog SQL> ...

随机推荐

  1. HTTP长连接和短链接代理与网关

    长连接和短链接 代理与网关 HTTP/)服务器端网关:网关与客户端使用HTTP协议通信,使用其他协议与服务端通信 (/HTTP)客户端网关:网关与客户端使用其他协议通信,使用HTTP协议与服务端通信 ...

  2. OpenHarmony Meetup 深圳站招募令

      OpenHarmony Meetup城市巡回深圳站火热来袭!! 日期:2023年10月15日14:00 地点:深圳市福田区上步路中路1003号 深圳市科学馆 与OpenHarmony技术大咖近距离 ...

  3. Python设置电脑桌面壁纸

    其实 Python 设置电脑桌面壁纸是很简单的,主要是调用 win32gui  这个库来实现的 代码如下: import win32api import win32con import win32gu ...

  4. Error:A problem occurred configuring project ':app'.

    前言 因为部门需要用到另外一个部门的库,而另外一个部门是c++部门,这种声音视频算法java做不了的. 如果是因为有引入c++库产生的这个问题,那么基本上你需要肯定你安装了ndk,如果没有安装那么会报 ...

  5. c# semaphoreSlim限制线程数

    前言 我们在使用线程的时候,如果多个线程数去访问一个资源的时候,那么是非常影响程序的运行的,因为如果有写的操作,那么需要写锁,那么线程都会堵在同一个地方,那么我们可以限制一下访问一个资源的线程数. 正 ...

  6. Vue权限管理该怎么做?控制到按钮级别的权限怎么做?

    一.是什么 权限是对特定资源的访问许可,所谓权限控制,也就是确保用户只能访问到被分配的资源 而前端权限归根结底是请求的发起权,请求的发起可能有下面两种形式触发 页面加载触发 页面上的按钮点击触发 总的 ...

  7. Java面试题:细数ThreadLocal大坑,内存泄露本可避免

    一.背景ThreadLocal是Java中用于解决多线程共享变量导致的线程安全问题的一种机制.它为每个线程分配一个独立的变量副本,从而避免了线程间的数据竞争.这个我们从上一篇文章<Java面试题 ...

  8. vue-manage-system 版本更新,让开发更加简单

    vue-manage-system 近期进行了一次版本升级,主要是支持了更多功能.升级依赖版本和优化样式,并且上线了官方文档网站,大部分功能都有文档或者使用示例,更加适合新手上手开发,只需要根据实际业 ...

  9. 力扣412(java)-Fizz Buzz(简单)

    题目: 给你一个整数 n ,找出从 1 到 n 各个整数的 Fizz Buzz 表示,并用字符串数组 answer(下标从 1 开始)返回结果,其中: answer[i] == "FizzB ...

  10. SQL Server实战一:创建、分离、附加、删除、备份数据库

      本文介绍基于Microsoft SQL Server软件,实现数据库创建.分离.附加.删除与备份的方法. 目录 1 交互式创建数据库 2 Transact-SQL指定参数创建数据库 3 交互式分离 ...