1、基本口令

1.1、show user                               作用:显示当前连接用户

1.2、conn 用户名/密码                      作用:切换当前用户(注:当前的用户必须具有connect的角色,该角色用于数据库的正常登录,如果没有该角色请使用5进行赋权限操作)

1.3、conn 用户名/密码   as  sysdba    作用:当前用户使用sysdba的身份进行登录,所有当前用户就具有了所有的dba的权限,注:即使是新创建的用户如果使用此口令,也可以以dba的身份登录

1.4、disc                                       作用:断开与oracle的连接

1.5、exit     作用:断开当前与Oracle的连接,同时退出sqlplus工具

2、创建管理用户的口令

2.1、create user  用户名  identified by  密码          作用:使用sysdba登录,创建一个新用户,必须使用sysdba登录,否则会报权限不足

2.2、alter user 存在的用户名 identified by  新密码   作用:修改其他用户的密码,注:当前用户必须具有sysdba的权限,或者是当前用户具有alter user的系统权限

2.3、drop user  用户名      作用:删除用户

注:当被删除的用户,已经创建过相关的表,那么就需要在用户名后面指定一个参数CaseCade,如果指定了这个参数,那么oracle就会把当前这个用户以及当前用户所创建的表全部删掉。

2.4、用户修改自己的密码,通过passw命令

2.5、使用dba给用户解锁

alter user  用户名 account unlock

此时账户被锁定

此时账户北解锁

3、管理用户权限的口令

3.1、grant   角色  to   用户    作用:给用户赋与某种角色(角色里面包含一系列的权限)

使用sysdba默认创建的用户没有任何的权限(包括登录到oracle数据库的权限),需要使用sys或者system用户给新创建的用户赋connect角色,新用户才会有登录oracle数据库的能力,如果不理解为什么,请参考Oracle 基础系列之1.3 用户管理

3.2、grant resource to 用户    作用:resource角色一般具有开发人员需要的角色,所以如果需要给开发赋予一个角色,那这个正好,关于resource角色具体具有那些权限,请参考Oracle 角色及其权限

左图可以看出,xiaochao不具有创建表的权限,现在切换到sys用户给其赋予resource角色

ok,表创建成功

4、关于文件的口令

4.1、start  外部文件的绝对路径   作用:这是一个文件操作命令,在命令行中执行外部的sql脚本

4.3、edit  外部文件的绝对路径  作用:打开外部文件让你编辑

4.3、spool  外部文件的绝对路径

执行语句产生的结果集

spool off;

作用:将执行语句产生的结果集输出到刚开始指定的外部文件中去

产生了result.sql文件,里面记录了对应的结果集

5、关于表操作的口令

这里基本的pl/sql语局不进行介绍

5.1 desc 表        作用:查看当前表的结构(注:当前用户必须有管理该表的权限)

6、关于权限的口令

6.1 grant  (select、delete、update、insert、all----->统称为对象权限(用户对其他用户的表、视图、存储过程、序列、同义词等的访问权限))  on  表  to  被授予用户

作用:当前连接用户给被授予用户赋自己管理的数据库表、视图、存储过程、同义词等数据库对象的权限,那么被授予的对象

首先同xiaochao登录,执行select * from emp;因为xiaocha用户并没有创建emp表,所以查不到结果集

现在登录scott用户(scott用户(专业术语.叫方案)是oracle创建数据库时默认创建的,他维护四张表,emp就是其中一张)。so,现在我们将scott的emp表的查询权限赋给xiaochao用户,使他拥有查询scott的emp表的功能,代码如下:

授权成功

ok,使用xiaochao用户成功的查到了scott用户的emp表,但是注意:表前需要加方案(用户)名

这里只演示了用户之间表的select的权限相互分配,其他操作也是一样,这里就不做演示了,注:all就是增删查该所有的权限;

6.2 revoke (insert、delete、select、update) on 表 from 用户

作用:当前连接用户回收之前分配给其他用户的自己数据库对象的访问权限

使用scott登录收回6.1赋予给xiaochao的select emp表的权限

在使用xiaochao登录,执行select * from scott.emp;发现之前的权限确实被收回了

6.3  with grant option   作用:数据库对象权限的传递

当A用户把它的数据库对象的访问权限(Insert、Delete、Select、Update、All这五种对象权限)赋予B用户时,如果想要B用户想能分配A用户的数据库对象访问权限给C用户,此时就用with grant option,且当A用户回收了B用户的权限之后,不会影响B用户分配给C用户的关于A用户的数据库对象的访问权限,如果要回收B用户分配给C用户的权限,只能显示的通过

revoke 权限 on A用户的表 from C用户,这样的方式来回收B分配给C的权限,实例代码如下:

注:scott扮演A用户的角色,xiaochao扮演B用户的额角色,xiaohong扮演C用户的角色

首先将emp表的select权限赋给xiaochao,然后通过with grant option将(scott分配emp表的select的能力)也赋给了xiaochao,那么此时xichao就可以分配scott的emp表的select权限给其他用户了!!!

通过xiaochao用户将scott的emp的select权限赋给xiaohong

通过xiaochao用户分配的权限,xiaohong也可以查到scott的emp表,但是注意红框,不能写xiaochao.emp,只能是scott.emp,我猜emp表传递的是指针,并不是数据的副本,所以xiaochao用户下,并没有这张表的数据。

6.4  with admin option   作用:oracle系统权限的传递

使用方式和with grant option一致,只是width admin option传递的是oracle系统的权限

Oracle 系统常用命令的更多相关文章

  1. Oracle手边常用命令及操作语句

    Oracle手边常用命令及操作语句 作者:白宁超 时间:2016年3月4日11:24:08 摘要:日常使用oracle数据库过程中,常用脚本命令莫不是用户和密码.表空间.多表联合.执行语句等常规操作. ...

  2. node模块系统常用命令

    node模块系统常用命令 命令 示例 备注 安装模块 npm install commander 最新版本 npm install commander@1.0.0 指定版本 npm install c ...

  3. 小白学Linux(四)--系统常用命令

    这里记录一下基础的系统常用命令,都是日常可能用到的,需要记住的一些命令.主要分为5个模块:关于时间,输出/查看,关机/重启,压缩归档和查找. 时间:      date :查看设置当前系统时间,dat ...

  4. 初识Linux(四)--系统常用命令

    这里记录一下基础的系统常用命令,都是日常可能用到的,需要记住的一些命令.主要分为5个模块:关于时间,输出/查看,关机/重启,压缩归档和查找. 时间:      date :查看设置当前系统时间,dat ...

  5. Oracle基本常用命令

    一.ORACLE的启动和关闭 1.在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a.启动ORACLE系统 oracle>svrmgrl ...

  6. ORACLE 11GR2常用命令

    一.ORACLE的启动和关闭 1.在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a.启动ORACLE系统 oracle>svrmgrl ...

  7. oracle 11g常用命令

    1.监听启动监听lsnrctl start停止监听 lsnrctl stop 查看监听状态 lsnrctl status 2.启动用oracle用户进入su - oracle运行sqlplus命令,进 ...

  8. Oracle教程-常用命令(二)

    oracle sql*plus常用命令 一.sys用户和system用户Oracle安装会自动的生成sys用户和system用户(1).sys用户是超级用户,具有最高权限,具有sysdba角色,有cr ...

  9. Linux系统常用命令总结

    1. 最关键的命令 manecho 2. 目录文件操作命令 ls: 查看目录下的文件信息或文件信息dir:pwd: 打印当前路径cd:改变路径mkdir:创建路径rmdir:删除路径cp:拷贝文件或目 ...

随机推荐

  1. Hibernate不能建表的问题

    项目使用hibernate进行正向工程建立表,各项配置都正确,但就是不能生成对应的表,这就纳闷了!! 类: public class Market { private Long id; private ...

  2. 换零钞——第九届蓝桥杯C语言B组(国赛)第一题

    原创 标题:换零钞 x星球的钞票的面额只有:100元,5元,2元,1元,共4种.小明去x星旅游,他手里只有2张100元的x星币,太不方便,恰好路过x星银行就去换零钱.小明有点强迫症,他坚持要求200元 ...

  3. 并发编程学习笔记之Java存储模型(十三)

    概述 Java存储模型(JMM),安全发布.规约,同步策略等等的安全性得益于JMM,在你理解了为什么这些机制会如此工作后,可以更容易有效地使用它们. 1. 什么是存储模型,要它何用. 如果缺少同步,就 ...

  4. 余额宝 vs. P2P网贷,谁更有生命力?

    余额宝跟P2P网贷作为一个理财方式,要说谁更有生命力,那就必须从以下几个方面说起,一是收益性,二是风险性,三是流动性,下面从这几个方面来对比一下余额宝跟P2P网贷. 首先是收益性,作为投资理财者,第一 ...

  5. OO 抽象类与接口的区别

    抽象类与接口的区别 抽象类与接口的区别 一.抽象类:(抽象类适用于同一系列,并且有需要继承的成员) 概念: 1.使用abstract修饰: 2.抽象类中可以包含抽象方法: 3.抽象类只能被子类继承:( ...

  6. 「CF932E」 Team Work

    题目链接 戳我 题意 有\(n\)个箱子,从中选出\(i\)个箱子,然后把\(k\)个不同的球装在这\(i\)个箱子中,求方案数. 实际上这题就是求: \[ \sum_{i=1}^nc_n^i*i^k ...

  7. Setter

    这个还是比较好理解的. 设置器. 用法还是比较简单的. 语法特征: 设置属性[Property] 填充值[Value] 注意这个是封闭单行闭合标签,可以换行,但只允许在同一个标签闭合. 事例用法: & ...

  8. rtabmap and rtabmap_ros make error(rtabmap编译错误)

    Build from source following README.nd in rtabmap_ros rtabmap make error Error 1 make[2]: *** No rule ...

  9. BST_insert

    #include <stdio.h> /* printf, scanf, NULL */ #include <stdlib.h> /* malloc, free */ stru ...

  10. dubbo源码分析--dubbo spi解析

    1. 什么叫SPI? 简单总结就是一种使用类名字符串来动态实例化java类的方式,也就是反射. 2. java SPI与Dubbo SPI有什么区别 (此图来自网上,我没有刻意去截图) 然后在这个文件 ...