Oracle数据库---用户与角色
安装Oracle时,若没有设置默认密码,则以下为默认账户的密码:
用户名 / 密码 | 登录身份 | 说明 |
sys/change_on_install | SYSDBA 或 SYSOPER | 不能以 NORMAL 登录,可作为默认的系统管理员,超级管理员,负责数据库系统的管理 |
system/manager | SYSDBA 或 NORMAL | 普通管理员,负责数据库对象的管理,如:创建用户,授权,创建数据库等等 |
sysman/oem_temp | sysman 为 oms 的用户名 | |
scott/tiger | NORMAL | 普通用户 |
aqadm /aqadm | SYSDBA 或 NORMAL | 高级队列管理员 |
Dbsnmp/dbsnmp | SYSDBA 或 NORMAL | 复制管理员 |
scott | SYSDBA 或 NORMAL | 该用户主要用于给我们学习的时候使用。如果要使用该用户就必须解锁,并且修改密码 |
hr | SYSDBA 或 NORMAL | 测试用户。该用户有一些hr相关的测试数据。如果要使用该用户就必须解锁,并且修改密码 |
cmd窗口连接数据库时,运行cmd命令行
sqlplus /nolog 无用户名登录
conn /as sysdba 连接到数据本地数据
alter user system identified by password 修改System 密码 为password
查看所有用户信息:
---dba_users:保存系统中所有用户的详细信息。
select * from dba_users;
创建用户
- create user 用户名
- identified by 密码
- [default tablespace 表空间];
- --新创建的用户没有任何权限,登陆后会提示
- --创建用户
- create user test01
- identified by 123456
- default tablespace test01;
- --登录:也需要有权限
- --Oracle 中已存在三个重要的角色:connect 角色,resource 角色,dba 角色。
- CONNECT 角色: --是授予最终用户的典型权利,最基本的
- ALTER SESSION --修改会话
- CREATE CLUSTER --建立聚簇
- CREATE DATABASE LINK --建立数据库链接
- CREATE SEQUENCE --建立序列
- CREATE SESSION --建立会话
- CREATE SYNONYM --建立同义词
- CREATE VIEW --建立视图
- RESOURCE 角色: --是授予开发人员的
- CREATE CLUSTER --建立聚簇
- CREATE PROCEDURE --建立过程
- CREATE SEQUENCE --建立序列
- CREATE TABLE --建表
- CREATE TRIGGER --建立触发器
- CREATE TYPE --建立类型
- DBA 角色:拥有全部特权,是系统最高权限,只有 DBA 才可以创建数据库结构,
- 并且系统权限也需要 DBA 授出,且 DBA 用户可以操作全体用户的任意基表,包括删除
- grant dba to user_test;
- 进入 system 用户下给用户赋予 dba 权限,否则无法正常登陆
- --分配角色权限:
- -- 授权: grant connect,resource to test01;
- grant dba to test01;
- --撤销授权
- -- revoke connect,resource from test01;
设置用户密码
alter user 用户名 identified by 密码;
alter user test01 identified by a123456; --该方式不能修改为纯数字密码
解锁用户
alter user 用户名 account unlock;
- --锁定hr测试用户
- alter user hr account lock;
- --解锁hr测试用户
- alter user hr account unlock;
删除用户
drop user 用户名 [cascade];
- drop user test01 [cascade];
- --如果删除的用户中已经有数据,那么删除用户的时候,就必须要指定cascade关键字。
系统权限
- --系统权限就是创建数据库对象的权限。系统权限都是以create开头的权限。
- --例如:创建会话、创建表、创建索引、创建序列等等。
- --create session、create table、create index、create sequence等等。
- --授予用户系统权限。
- grant create 权限 to 用户;
- --只有管理员才可以授予用户系统权限。
- --授予用户test01创建会话、创建表的系统权限。
- grant create session,create table
- to test01;
对象权限
- --对象权限就是对数据库对象的操作权限。
- --例如:添加表数据、查询表、删除表等等操作。
- select、insert、update、delete、all。
- --授予用户对象权限。
- grant 操作权限
- on 用户1.表名
- to 用户2;
- --授予用户test01查询和插入scott用户的emp表的权限。
- grant select,insert
- on scott.emp
- to test01;
查看用户权限
- dba_sys_privs:保存所有用户的系统权限;
- dba_tab_privs:保存所有用户的对象权限;
- select *
- from dba_sys_privs
- where grantee ='TEST01';
- select *
- from dba_tab_privs
- where grantee ='TEST01';
回收权限
- --回收用户的系统权限:
- revoke create 权限 from 用户;
- --回收用户的对象权限:
- revoke 操作 on 用户1.表名 from 用户2;
- revoke create table
- from test01;
- revoke insert
- on scott.emp
- from test01;
角色
角色就是一组权限的集合。
角色的作用:简化授权操作。
Oracle 中已存在三个重要的角色:connect 角色,resource 角色,dba 角色
使用角色
- 第一步:创建角色;
- create role 角色名;
- 第二步:给角色授权;
- grant create 权限to 角色; --授予角色系统权限
- grant 操作 on 用户.表名 to 角色; --授予角色对象权限
- 第三步:把角色赋给用户;
- grant 角色 to 用户;
- --第一步:创建角色;
- create role t_role;
- --第二步:给角色授权;
- grant create table
- to t_role; --授予角色系统权限
- grant select
- on scott.emp
- to t_role; --授予角色对象权限
- --第三步:把角色赋给用户;
- grant t_role
- to test01;
查询用户角色
- --dba_role_privs:保存所有用户的角色信息。
- select *
- from dba_role_privs
- where grantee ='TEST01';
回收角色
- revoke 角色名
- from 用户;
- revoke t_role
- from test01;
删除角色
drop role 角色名;
- drop role t_role;
- --删除角色之后,那么拥有该角色的用户就会自动地把该角色取消。
ORACLE数据库的用户权限和角色权限控制
Oracle数据库---用户与角色的更多相关文章
- Oracle 数据库用户管理
Oracle 数据库用户管理 Oracle 权限设置 一.权限分类: 系统权限:系统规定用户使用数据库的权限.(系统权限是对用户而言). 实体权限:某种权限用户对其它用户的表或视图的存取权限 ...
- 使用PLSQL 创建Oracle数据库用户并设置权限
转至https://blog.csdn.net/ying890/article/details/14083029?utm_medium=distribute.pc_relevant_download. ...
- 简便删除已经存在的oracle数据库用户UPAY3LINGXI_YS
简便删除已经存在的oracle数据库用户UPAY3LINGXI_YS:1.Toad工具用oracle最大权限用户登录system2.查看正在使用UPAY3LINGXI_YS的进程select * fr ...
- Oracle数据库用户数据完整备份与恢复
使用PLSQL-Developer工具可以快速便捷地完成Oracle数据库用户.表的备份恢复. Oracle数据库用户数据完整备份与恢复 1. 备份 1.1 PL/SQL->工具->导 ...
- SQL SERVER服务器登录名、角色、数据库用户、角色、架构的关系
原创链接:https://www.cnblogs.com/junfly/articles/2798023.html SQL SERVER 基础教程中关于服务器登录名.服务器角色.数据库用户.数据库角色 ...
- 删除oracle数据库用户
手工删除ORACLE数据库用户时常会出现会话进程仍在使用导致删除失败的情况.需要查询会话并将会话删除才能成功将数据库用户删除,比较不方便. 适用场景 自动删除oracle数据库用户 基本知识 orac ...
- Linux删除ORACLE数据库用户失败提示ORA-01940解决方法
操作环境 SuSE11+Oracle11gR2 问题现象 删除ORACLE数据库用户失败,提示ORA-01940: cannot drop a user that is currently conne ...
- Oracle数据库用户密码设为无限期
oracle数据库用户密码默认为180天,密码过期后将无法登陆数据库. 一.查询用户所属PROFILE SQL> SELECT username,PROFILE FROM dba_users; ...
- Navicat连接Oracle数据库用户权限问题
解决Navicat连接Oracle数据库用户权限问题: 第一步:在cmd窗口运行[sqlplus], 第二步:输入Oracle的用户名和口令连接Oracle数据库, 第三步:执行授权代码,给用户授予D ...
随机推荐
- ECMAScript 6
参考网上其他帖子,整理如下 ES6 就是ECMAScript 6是新版本JavaScript语言的标准. 增加了如下 Promises Promises是处理异步操作的对象,使用了 Promi ...
- LeetCode至 少有 1 位重复的数字
给定正整数 N,返回小于等于 N 且具有至少 1 位重复数字的正整数. 示例 1: 输入:20 输出:1 解释:具有至少 1 位重复数字的正数(<= 20)只有 11 . 示例 2: 输入:10 ...
- HDU - 4858 项目管理
N个点,M条无向边.现在有Q组操作,一种是给 i号点增加能量,一种是询问 i号点相邻点的能量和(点间有多条边就算两次). 据说暴力能过,但还是用这题学习了一下 点分块 . 度数不超过 sqrt(M) ...
- LAB12 Transaction
思路:就是把aotocommit()里面的东西改改就行了. 查询要求可用房间>=所需要的房间. SQL里面查数字时,不要加单引号.字符串才要. 查询里的set ONHAND=要改成自己的变量名s ...
- Froms 认证 二级域名共享session登录凭证
1. 需要共享的web.config 里需要加添 <authentication mode="Forms"> <forms name="/> &l ...
- 关于vue中tamplate和DOM节点浅谈
前言:在开发前段页面使用vue时,我们能经常看到template标签.这里粗略讲下自己对vue中template理解和使用. 1. 先了解vue vue.js是一个轻巧.高性能.壳组件画的MVVM库. ...
- Microsoft SQL Server 错误:948
版本655指的是SQL2008, 版本611指的是SQL2005, (还有一个版本539指的是SQL2000) 楼主的情况属于典型的从高版本降低至低版本使用的情景. 按微软的官方说法, 是不支持从高版 ...
- MAVEN工程相关配置
MAVEN工程插件安装: Name: MavenArchiver Location: https://repo1.maven.org/maven2/.m2e/connectors/m2eclipse- ...
- swift 导入 .a 和 .h 文件
一.新建桥接文件,这个很简单,就不介绍了.给个链接方法吧. 二.添加导入 .a 文件,在最后一步选择要导入的 .a 文件. 三.桥接文件里引用头文件,一般 .a 和 .h 文件都是在一个文件夹一起拖入 ...
- laravel项目安装与重要目录文件说明(一)
一.laravel创建项目的二种方式: 1.通过laravel安装器,进行创建 composer global require laravel/installer laravel new 项目名 co ...