Oracle用户管理
创建用户
概述:在oracle中要创建一个新的用户使用create user 语句,一般是具有dba(数据库管理员)的权限才能使用。
- create user 用户名 identified by 密码;
(Oracle有个毛病,密码必须以字母开头,如果以数字开头,它不会创建用户)
给用户修改密码
概述:如果给自己修改密码可以直接使用
password 用户名
如果给别人修改密码则需要具有dba的权限,或是拥有alter user的系统权限
- SQL>alter user 用户名 identified by 新密码
删除用户
概述:一般以dba的身份去删除某个用户,如果用其他用户去删除用户则需要具有drop user的权限。
比如
- drop user用户名[cascade]
在删除用户时,注意:
如果要删除的用户,已经创建了表,那么就需要在删除的时候带一个参数cascade。
用户管理的综合案例
概述:创建的新用户是没有任何权限的,甚至连登录数据库的权限都没有,需要为其指定相应的权限。给一个用户赋权限使用命令grant,回收权限使用命令revoke。
案例:
- SQL> conn xiaoming/m12;
- ERROR:
- ORA-01045: user XIAOMING lacks CREATE SESSION privilege; logon denied
- 警告: 您不再连接到 ORACLE。
- SQL> show user;
- USER 为 ""
- SQL> conn system/p;
- 已连接。
- SQL> grant connect to xiaoming;
- 授权成功。
- SQL> conn xiaoming/m12;
- 已连接。
- SQL>
- 注意:grant connect to xiaoming;
在这里,准确的讲,connect 不是权限,而是角色。。 看图:
现在说下对象权限,现在要做这么件事情:
* 希望xiaoming 用户可以去查询emp 表
* 希望xiaoming 用户可以去查询scott 的emp 表
- grant select on emp to xiaoming
* 希望xiaoming 用户可以去修改scott 的emp 表
- grant update on emp to xiaoming
* 希望xiaoming 用户可以去修改/删除,查询,添加scott 的emp 表
- grant all on emp to xiaoming
* scott 希望收回xiaoming 对emp 表的查询权限
- revoke select on emp from xiaoming
对权限的维护
* 希望xiaoming 用户可以去查询scott 的emp 表/还希望xiaoming 可以把这个权限继续给别
人。
- --如果是对象权限,就加入 with grant option
- grant select on emp to xiaoming with grant option
我的操作过程:
- SQL> conn scott/tiger;
- 已连接。
- SQL> grant select on scott.emp to xiaoming with grant option;
- 授权成功。
- SQL> conn system/p;
- 已连接。
- SQL> create user xiaohong identified by m123;
- 用户已创建。
- SQL> grant connect to xiaohong;
- 授权成功。
- SQL> conn xiaoming/m12;
- 已连接。
- SQL> grant select on scott.emp to xiaohong;
- 授权成功。
如果是系统权限
system 给xiaoming 权限时:
- grant connect to xiaoming with admin option
问题:如果scott 把xiaoming 对emp 表的查询权限回收,那么xiaohong 会怎样?
答案:被回收。
下面是我的操作过程:
- SQL> conn scott/tiger;
- 已连接。
- SQL> revoke select on emp from xiaoming;
- 撤销成功。
- SQL> conn xiaohong/m123;
- 已连接。
- SQL> select * from scott.emp;
- select * from scott.emp
- 第 1 行出现错误:
- ORA-00942: 表或视图不存在
结果显示:小红受到诛连了。
Oracle用户管理的更多相关文章
- Oracle 用户管理与权限控制
Oracle 用户管理与权限控制 oracle数据库的权限系统分为系统权限与对象权限.系统权限( database system privilege )可以让用户执行特定的命令集.例如,create ...
- Oracle—用户管理的完全恢复(四)
在用户管理的备份(三)中,最后打开数据库时,用了alter database open resetlogs;的命令,这里为什么用resetlogs命令? 一.resetlogs的作用 1.将当前的日志 ...
- Oracle的学习一:安装与卸载、sql *plus常用命令、Oracle用户管理
1.为什么学习oracle? 性能优越: 小型数据库 中型数据库 大型数据库 acess.foxbase mysql.sql server.informix sybase.oracle.db2 复杂量 ...
- Oracle—用户管理的完全恢复(一)
一.分类 可以分为在非归档模式下和归档模式下的完全恢复,完全恢复主要是针对归档模式下的,在非归档模式下很难做到完全恢复,除非是在做恢复时,联机重做日志还没有被重写. 二.非归档的有关性质 1.在非归档 ...
- Oracle—用户管理的备份(一)
用户管理的备份(一) 一.首先要知道数据库中表空间和文件的信息,有几个性能视图,v$datafile,v$tablespace,v$tempfile,v$logfile,v$controlfile,d ...
- Oracle—用户管理的备份(二)
在用户管理的备份(一)中(详见:Oracle—用户管理的备份)对用户管理备份几种情况进行了说明:接下来说明几种特别情况和DBverify的使用. 一.如果在表空间在备份模式下,主机发生了异常关闭,会出 ...
- 四、oracle 用户管理(Profile)
oracle 用户管理 :profile + tablespace + role + user 一.使用profile管理用户口令概述:profile是口令限制,资源限制的命令集合,当建立数据库时, ...
- 三、oracle 用户管理一
三.oracle 用户管理一 一.创建用户概述:在oracle中要创建一个新的用户使用create user语句,一般是具有dba(数据库管理员)的权限才能使用.create user 用户名 ide ...
- Oracle 用户管理权限
Oracle 用户管理权限 一.创建用户的Profile文件 SQL> create profile student limit // student为资源文件名 FAILED_LOGIN_AT ...
- ORACLE用户管理方式下备份数据和复制数据库
首先要明确的是,oracle数据库的备份可以分为逻辑备份和物理备份. 逻辑备份的是通过数据导出对数据进行备份,主要方式有老式的IMP/EXP和数据泵灯方式.适合变化较少的数据库,而 ...
随机推荐
- Navicat Premium 自动备份mysql和sqlserver
mysql篇: 1.点击计划 2.点击新建处理作业 3.选择需要备份的数据库,上级可用任务 4.点击保存按钮,输入保存文件名 5.保存后点击设置计划任务 6.计划里新建保存时间,应用后输入系统密码即可 ...
- ui线程和后台线程异步
private void Button_Click(object sender, RoutedEventArgs e) { CreateElementOnSeperateThread(() => ...
- opencar二次开发常用代码
<?php //创建Registry对象 //注册所有公共类 //创建Front类对象,作为请求分发器(Dispatcher) //根据用户请求(url)创建控制器对象及其动作. // 在Fro ...
- Moving a Subversion Repository to Another Server
Moving a subversion repository from one server to another, while still preserving all your version h ...
- javascript 之DOM篇
要怎么样的开场白才能使我有力气再更新学习进度呢?啊啊啊啊啊,表示好累啊~~~默念“棒棒棒,我最棒~”召唤精气神开总结敲字咯.哈哈哈. --------------------------------- ...
- Oracle通过主键id删除记录很慢
问题描述: Oracle通过主键id删除2000条记录很慢,需要花费十二分钟. 解决过程: 1.首先查看SQL的执行计划,执行计划正常,cost只有4,用到了主键索引. 2.查看等待事件, selec ...
- Bootstrap_Javascript_弹出框
HTML: <button type="button" class="btn btn-default" data-container="body ...
- Linux系统上使用php获取apk信息
最近在做一个apk商城,需要在用户上传了apk之后系统自动读取apk信息(包名,版本号等),后台语言使用的是php,需要php去调用系统的aapt命令去读取apk信息,在Linux系统上安装aapt的 ...
- 模块化编程AMD&CommonJS
为什么要模块化编程 如果JS也可以像类似python,Java使用import,引入我们想要的模块,想要什么模块,就加载什么模块,可以给前端编程带来更多的便捷,结构更加清晰明了.但是,这样做有一个前提 ...
- C# 当double数值较大且小数位过多时转化成字符串并保留小数位
今天在C#中碰到了一个问题,需要将double转换成字符串显示,要求保留小数位. 在网上查询了一下相关的文章 具体如下: double temp=3.1415926; (F)Fixed point:s ...