DCL

用户管理

  • 创建用户

    • create user 用户名 identified by 密码;

      • 在oracle中要创建一个新的用户使用create user语句,一般是具有dba(数据库管理员)的权限才能使用
      • 密码必须以字母开头,不能以数字开头
      • 管理员 system
      • conn 用户名/密码;
  • 修改密码

    • 给自己修改密码

      • sql> password 用户名

        • 自己可以修改自己的密码
    • 给别人修改密码

      • sql> alter user 用户名 identified by 新密码

        • 需要具有dba的权限,或是拥有alter user 的系统权限
        • System可以修改别人的密码
  • 删除用户

    • drop user 用户名 [cascade]

      • 一般以dba的身份去删除某个用户,如果用其它用户去删除用户则需要具有drop user的权限
    • 级联删除

      • 在删除户时,注意:如果要删除的用户,已经创建了表,那么就需要在删除时带一个参数cascade

权限管理

  • 创建的新用户是没有任何权限的,甚至连登录的数据库的权限都没有,需要为其指定相应的权限。给一个用户赋权限使用命令grant,回收权限使用全令revoke。
  • 权限分类

  • 权限

    • 系统权限

      • 用户对数据库的相关权限
      • 140多个系统权限
    • 对象权限

      • 用户对其他用户的数据对象操作的权限
      • Oracle拥有25个对象权限
  • 角色(一组权限)

    • 预定义角色
    • 自定义角色
  • 角色

    • 从系统权限中挑出来的权限
    • Connect角色:一些基本权限
    • Dba角色
    • Resource角色:让用户在任何表空间建表
  • 授予权限

    • grant select on emp to xiaoming
  • 查询

    • select * from scott.emp;
  • 收回权限

    • 谁授予的权限,由谁收回
    • scott希望收回xiaoming对emp表的查询权限
    • revoke select on emp from xiaoming
  • 权限维护

    • xiaoming用户可以去查询scott的emp表/还希望小明可以把这个权限继续给别人。

      • 如果是对象权限,就加入with grant option

        • grant select on emp to xiaoming with grant option
      • 系统权限,system给xiaoming权限时:

        • grant connect to xiaoming with admin option
    • 如果scott把xiaoming对emp表的查询权限回收,那么xiaohong会怎样

      • 采用级联回收的机制管理权限

口令管理

  • 使用profile管理用户口令

    • profile是口令限制,资源限制的命今集合,当建立数据库时,oracle会自动建立名称为default的profile.当建立用户没有指定profile选项,那oracle就会将default分配给用户。
  • 账户锁定

    • 指定该帐户(用户)登陆时最多可以输入密码的次数,也可以指定用户锁定的时间(天)一般用dba的身份去执行该命令

      • 例子:指定scott这个用户最多只能尝试3次登陆,锁定时间为2天,让我们看看怎么实现

        • sql> create profile lock_account limit failed_login_attempts 3 password_lock_time 2;

          sqI>alter user profile lock_account;
  • 给账户(用户)解锁

    • sql> alter user tea account unlock;
  • 终止口令

    • 为了让用户定期修改密码可以使用终止口令的指令来完成,同样这个命令也需要dba身份来操作

      • 例子:给前面创建的用户tea创建一个profile文件,要求该用户每隔10天要修改自家的登陆密码,宽限期为2天。

        • sql> create profile myprofile limit password_life_time 10 password_grace_time 2;

          sqI> alter user tea profile myprofile;
  • 口令历史

    • 如果希望用户在修改密码时,不能使用以前使用过的密码,可使用口令历史,这样oracle就会将口令修改的信息存放到数据字典中,这样当用户修改密码时,0racle就会对新旧密码进行比较,当发现新旧密码一样时,就提示用户重新输入密

      码。

      • 1)建立profile

        sql> create profile password_history limit password_life_time 10 password-grace-time 2 password_reuse_time 10

        //password_reuse_time//指定口今可重用时间即10天后就可以重用
      • 分配给某一个用户
  • 删除profile

    • 当不需要某个profile文件时,可以删除该文件

      sql> drop profile password_history [cascade]

oracle基本设置的命令

在Oracle中调用dos命令: host dos命令;

  • 清屏 host cls

连接命令

  • conn[ect]命令

    • conn 用户名/密码@网络服务名 [as sysdba/sysoper]

      • 当用特权用户身份连接时,必须带上 as sysdba 或是 as sysoper
  • disc[onnect]命令

    • 该命令用来断开与当前数据库的连接
  • passw[ord]

    • 该命令用于修改用户的密码.如果要想修改其它用户的密码,需要用sys/system登录
  • show user

    • 显示当前用户名
  • exit

    • 该命令会断开与数据库的连接,同时会退出sql plus

文件操作命令

  • start和@

    • 运行sql脚本

      • sql>@ d:\a.sql
      • sql>START d:\a.sql
  • edit

    • 该命令可以编辑指定的sql脚本

      • sql>edit d:\a.sql
  • spool

    • 该命今可以将sqlplus屏幕上的内容输出到指定文件中去。

      • sql> spool d:\b.sql
      • sql> spool off

控制输出格式

可以用来控制各种输出格式,如果希望永久的保存相关的设置,可以去修改glogin.sql脚本

列宽

设置显示行的宽度,默认是80个字符

显示行宽

show linesize ;

设置行宽

set linesize 160;

页面大小

设置每页显示的行数目,默认是14

set pagesize 40;--设置每页显示40条数据

列宽

设置字符串类型的列:

col 列名 for a长度 ;

设置类型为数字的列:

col 列名 for 9999; (实际长度为9的个数+1)

  • 显示运行时间

    • set timing on;

修改写错的SQL

  • ed

    注意 ①ed中没有分号; ②修改完后/执行

  • c /错误的命令/正确的命令 /执行
select * form emp;
c /form/from
/

追加命令

a命令(append):在上一次的sql后追加语句,追加完毕回车 /

select * from emp;
a order by sal ;--注意:a后面有2个空格。 - 过程:
- select * from emp order by sal;

运行时间

set timing on

set timing off

地址符&可以从键盘录入

录入值

insert into emp(empno,ename,sal) values(&empno,&ename,&sal) ;

录入字段名、表名

字段名:insert into emp(empno,ename,&s) values(6666,'aaaa',600)

表名:select * from &temp ;

(判断是否是Null: is null , is not null)

  • null!=null -->false
  • null=null -->false

如何增加海量数据:

a. SQL Loader工具 b.数据泵 c.外部表

sql-DCL用户及权限管理及其他常用命令-oracle的更多相关文章

  1. sql-DCL用户及权限管理及其他常用命令-mysql

    查看系统信息 SHOW PROCESSLIST -- 显示哪些线程正在运行 SHOW VARIABLES -- 显示系统变量信息 SELECT now(), user(), version(); -- ...

  2. MySQL用户与权限管理

    执行mysql select 查询报错: SELECT command denied to user 'root'@'localhost' for table "xxx" 问题原因 ...

  3. Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理

    这是本人第一次写,写的不好的地方还忘包含.写这个的主要原因是想通过这个来学习下EF的CodeFirst模式,本来也想用AngularJs来玩玩的,但是自己只会普通的绑定,对指令这些不是很熟悉,所以就基 ...

  4. mysql用户和权限管理

    用户和权限管理 Information about account privileges is stored in the user, db, host, tables_priv, columns_p ...

  5. MySQL/MariaDB数据库的用户和权限管理

    MySQL/MariaDB数据库的用户和权限管理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.元数据数据库(mysql) 系统授权表(均在mysql数据库中): db hos ...

  6. MySQL数据库用户和权限管理

    一.视图 视图:VIEW,虚表,保存有实表的查询结果,在视图插入的内容都会存入表中.创建方法: CREATE VIEW view_name [(column_list)] AS select_st ...

  7. MySQL高级学习笔记(二):mysql配置文件、mysql的用户与权限管理、mysql的一些杂项配置

    文章目录 mysql配置文件 二进制日志log-bin 错误日志log-error 数据文件 两系统 Myisam存放方式 innodb存放方式 如何配置 mysql的用户与权限管理 MySQL的用户 ...

  8. MySQL基础篇(07):用户和权限管理,日志体系简介

    本文源码:GitHub·点这里 || GitEE·点这里 一.MySQL用户 1.基础描述 在数据库的使用过程中,用户作为访问数据库的鉴权因素,起到非常重要的作用,安装MySQL时会自动生成一个roo ...

  9. Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理10

    今天把用户的菜单显示和页面的按钮显示都做好了,下面先来个效果图 接下来说下我实现的方法: 首先我在每个方法前面都加了这个属性, /// <summary> /// 表示当前Action请求 ...

随机推荐

  1. 【Electron】Electron Icon 图标说明、及常见问题

    [Electron]Electron Icon 图标说明.及常见问题 其实各种打包模块都有相关的文档说明,相关链接如下: electron-builder:https://www.electron.b ...

  2. npm 报错This is probably not a problem with npm. There is likely additional logging output above.

    报错This is probably not a problem with npm. There is likely additional logging output above. 安装了一个插件后 ...

  3. Codeforces Round #720 (Div. 2) B. Nastia and a Good Array(被坑好几次)1300

    原题链接 Problem - B - Codeforces 题意 给一串数,要把任意两个相邻的数的最大公约数=1 每次可以进行一个操作: 取下标为i, j的数,和任意二数x,y,且min(ai,aj) ...

  4. MQTT物联网通讯协议入门

    目录 一.MQTT协议概念 发布/订阅机制 MQTT客户端 Broker代理(服务器) MQTT消息结构 二.MQTT协议实现原理 MQTT连接 MQTT消息发布 MQTT订阅机制 MQTT订阅确认 ...

  5. netty系列之:netty中的核心编码器bytes数组

    目录 简介 byte是什么 netty中的byte数组的工具类 netty中byte的编码器 总结 简介 我们知道netty中数据传输的核心是ByteBuf,ByteBuf提供了多种数据读写的方法,包 ...

  6. 浅尝Spring注解开发_Bean生命周期及执行过程

    Spring注解开发 浅尝Spring注解开发,基于Spring 4.3.12 包含Bean生命周期.自定义初始化方法.Debug BeanPostProcessor执行过程及在Spring底层中的应 ...

  7. C# 有关List<T>的Contains与Equals方法

    [以下内容仅为本人在学习中的所感所想,本人水平有限目前尚处学习阶段,如有错误及不妥之处还请各位大佬指正,请谅解,谢谢!]   !!!观前提醒!!! [本文内容可能较为复杂,虽然我已经以较为清晰的方式展 ...

  8. VMware安装Ubuntu20(图文教程,超详细)

    VMware安装Ubuntu20(图文教程,超详细) 此文讲述使用 VMware 工具安装 Ubuntu 系列虚拟机,不同位数和不同版本的 Ubuntu 安装过程相差无几,这里以 Ubuntu20 6 ...

  9. Nature | DNA甲基化测序助力人多能干细胞向胚胎全能8细胞的人工诱导|易基因项目文章

    北京时间2022年3月22日凌晨,<Nature>期刊在线刊登了由中国科学院广州生物医学与健康研究所等单位牵头,深圳市易基因科技有限公司.中国科学技术大学等单位参与,应用人多能干细胞向胚胎 ...

  10. 从rocketmq入手,解析各种零拷贝的jvm层原理

    在上一篇文章中,主要介绍了rocketmq消息的存储流程.其主要使用了mmap的零拷贝技术实现了硬盘和内存的映射,从而提高了读写性能.在流程中有一个非常有意思的预热方法并没有详细分析,因为其中涉及到了 ...