SQL Fundamentals || Oracle SQL语言

语句

解释

Create user

Creates a user(usually performed by a DBA)

Grant

Gives other users privileges to access the objects

Create role

Creates a collection of privileges, usually performed by a DBA

Alter user

Changes a user's password

Revoke

Removes privileges on an object from users

用户管理

  • 用户属于Oracle对象,在Oracle 12C中创建用户要以C##开头;
  • 用户可以通过profile文件进行管理。

如何控制用户访问

1、身份验证,认证:Authentication

2、授权:Authorization

3、审计:Audit

通过数据字典查询

  • 用户:dba_users
  • 每个用户空间使用配额:dba_ts_quotas
  • 查询profile文件:dba_profiles

创建用户

虽然在Oracle数据库之中已经提供了大量的用户,但是从安全以及维护的角度来讲,往往需要创建属于自己的用户,如果要创建用户可以利用CREATE USER语法来完成。

语法

CREATE USER 用户名 IDENTIFIED BY 密码 [DEFAULT TABLESPACE 表空间名称]

[TEMPORARY TABLESPACE 表空间名称]

[QUOTA 数字 [K | M] | UNLIMITED ON 表空间名称

QUOTA 数字 [K | M] | UNLIMITED ON 表空间名称 ...]

[PROFILE 概要文件名称 | DEFAULT] [PASSWORD EXPIRE] [ACCOUNT LOCK | UNLOCK]

组成如下:

CREATE USER 用户名 IDENTIFIED BY 密码:

创建用户同时设置密码,但是用户名和密码不能是Oracle的保留字(例如:CREATE、DROP等)也不能以数字开头(如果要设置为数字,需要将数字使用“"”声明,例如:"999777");

DEFAULT TABLESPACE 表空间名称:

用户存储默认使用的表空间,当用户创建对象没有设置表空间时,就将保存在此处指定的表空间下,这样可以和系统表空间进行区分;

TEMPORARY TABLESPACE 表空间名称:

用户所使用的临时表空间:

QUOTA 数字 [K | M] | UNLIMITED ON 表空间名称:

用户在表空间上的使用限额,可以指定多个表空间的限额,如果设置为“UNLIMITED”表示不设置限额;

PROFILE 概要文件名称 | DEFAULT:

用户操作的资源文件,如果不指定则使用默认配置资源文件;

PASSWORD EXPIRE:

用户密码失效,则在第一次使用时必须修改密码;

ACCOUNT LOCK | UNLOCK:

用户是否为锁定状态,默认为“UNLOCK”。

创建表空间(数据表空间和临时表空间)

CREATE TABLESPACE g_data

DATAFILE '/u01/app/oracle/oradata/ora01/ g_data01.dbf' SIZE 10M ,

'/u01/app/oracle/oradata/ora01/ g_data02.dbf' SIZE 10M

AUTOEXTEND on NEXT 2M

LOGGING;

CREATE TEMPORARY TABLESPACE g_temp

TEMPFILE '/u01/app/oracle/oradata/ora01/g_temp01.dbf' SIZE 50M , '/u01/app/oracle/oradata/ora01/g_temp02.dbf' SIZE 50M

AUTOEXTEND on NEXT 2M;

创建一个新用户

CREATE USER C##wendy IDENTIFIED BY wendypasswd

DEFAULT TABLESPACE G_DATA

TEMPORARY TABLESPACE G_TEMP

QUOTA 30M ON G_DATA

QUOTA 20M ON users

ACCOUNT UNLOCK

PASSWORD EXPIRE;

概要文件

  • 概要文件是一组命名了的口令和资源限制文件,管理员利用它可以直接限制用户的资源访问量或用户管理等操作。

    • 创建概要文件

      • CREATE PROFILE 概要文件名称 LIMIT 命令(s)
  • 第一组:资源限制命令

SESSION_PER_USER 数字 | UNLIMITED | DEFAULT:

允许一个用户同时创建SESSION的最大数量;

CPU_PER_SESSION 数字 | UNLIMITED | DEFAULT:

每一个SESSION允许使用CPU的时间数,单位为毫秒;

CPU_PER_CALL 数字 | UNLIMITED | DEFAULT:

限制每次调用SQL语句期间,CPU的时间总量;

CONNECT_TIME 数字 | UNLIMITED | DEFAULT:

每个SESSION的连接时间数,单位为分;

IDLE_TIME 数字 | UNLIMITED | DEFAULT:

每个SESSION的超时时间,单位为分;

LOGICAL_READS_PER_SESSION 数字 | UNLIMITED | DEFAULT:

为了防止笛卡尔积的产生,可以限定每一个用户最多允许读取的数据块数;

LOGICAL_READS_PER_CALL 数字 | UNLIMITED | DEFAULT:

每次调用SQL语句期间,最多允许用户读取的数据库块数;

  • 第二组:口令限制命令

FAILED_LOGIN_ATTEMPTS 数字 | UNLIMITED | DEFAULT:

当连续登陆失败次数达到该参数指定值时,用户被加锁;

PASSWORD_LIFE_TIME 数字 | UNLIMITED | DEFAULT:

口令的有效期(天),默认为UNLIMITED;

PASSWORD_REUSE_TIME 数字 | UNLIMITED | DEFAULT:

口令被修改后原有口令隔多少天后可以被重新使用,默认为UNLIMITED;

PASSWORD_REUSE_MAX 数字 | UNLIMITED | DEFAULT:

口令被修改后原有口令被修改多少次才允许被重新使用;

PASSWORD_VERIFY_FUNCTION 数字 | UNLIMITED | DEFAULT:

口令效验函数;

PASSWORD_LOCK_TIME 数字 | UNLIMITED | DEFAULT:

帐户因FAILED_LOGIN_ATTEMPTS锁定时,加锁天数;

PASSWORD_GRACE_TIME 数字 | UNLIMITED | DEFAULT:

口令过期后,继续使用原口令的宽限期(天)。

  • 定义一个概要文件

CREATE PROFILE c##wendy_profile LIMIT

CPU_PER_SESSION 10000

LOGICAL_READS_PER_SESSION 20000

CONNECT_TIME 60

IDLE_TIME 30

SESSIONS_PER_USER 10

FAILED_LOGIN_ATTEMPTS 3

PASSWORD_LOCK_TIME UNLIMITED

PASSWORD_LIFE_TIME 60

PASSWORD_REUSE_TIME 30

PASSWORD_GRACE_TIME 6 ;

  • 本概要文件的组成说明如下所示:

CPU_PER_SESSION 10000:

每个SESSION所允许占用CPU的最长时间为:100秒;

LOGICAL_READS_PER_SESSION 20000:

每个SESSION最多允许读取20000个数据块;

CONNECT_TIME 60:

每个SESSION最多允许连接60分钟;

IDLE_TIME 30:

一个SESSION最大空闲时间为30分钟;

SESSIONS_PER_USER 10:

一个用户最多可以创建10个SESSION连接;

FAILED_LOGIN_ATTEMPTS 3:

每个用户登陆错误为3次;

PASSWORD_LOCK_TIME UNLIMITED:

超过3次登录错误,则密码被长期锁定;

PASSWORD_LIFE_TIME 60:

每60天修改一次密码;

PASSWORD_REUSE_TIME 30:

为防止新旧口令一致,所以旧口令在30天之后才可以继续使用;

PASSWORD_GRACE_TIME 6 :

口令失效后,给用户6天可以继续使用旧口令的宽限期。

创建用户时指定概要文件

CREATE USER c##wendy IDENTIFIED BY hello

PROFILE c##wendy_profile ;

配置已存在用户使用的概要文件

ALTER USER c##wendy PROFILE C##WENDY_PROFILE;

修改概要文件

ALTER PROFILE c##wendy_profile LIMIT

CPU_PER_SESSION 1000

PASSWORD_LIFE_TIME 10 ;

如果不需要使用PROFILE文件,也可以删除,但是如果此时已在一个PROFILE中定义了用户,就需要加上CASCADE参数.删除掉

DROP PROFILE c##wendy_profile CASCADE;

维护用户

修改c##wendy的密码为:hellojava

ALTER USER c##wendy IDENTIFIED BY hellojava ;

将c##wendy用户设置为锁定状态

ALTER USER c##wendy ACCOUNT LOCK ;

将c##wendy用户解锁

ALTER USER c##wendy ACCOUNT UNLOCK ;

让c##wendy密码失效

ALTER USER c##wendyPASSWORD EXPIRE ;

修改c##wendy用户的表空间配额

ALTER USER c##wendy

QUOTA 20M ON system

QUOTA 35M ON users ;

删除用户

当某一个用户不再需要时,可以通过DROP语句进行用户的删除。

删除用户语法

DROP USER 用户名 [CASCADE] ;

删除c##wendy用户

DROP USER c##wendy ;

转载于:https://www.cnblogs.com/thescentedpath/p/DCLUSER.html

SQL Fundamentals || DCL(Data Control Language) || 用户管理Profile概要文件相关推荐

  1. 在CDS(Core Data Services)中使用DCL(Data Control Language)

    最近,我在玩ABAP CDS视图,并且遇到了一些权限方面的挑战.我在网上没看到有多少有关CDS开发的文档,因为它是个相当新的东西.因此,我决定写下这篇博客,也许我的想法可以帮助到一些人. 和你已经意识 ...

  2. mysql数据控制语言_Mysql数据控制语言DCL(Data Control Language)

    1.Mysql中的用户管理: Mysql中的用户,存储在系统数据库mysql中的user表中,表初始内容只有localhost-----root用户. 创建用户: Create user '用户名'@ ...

  3. SQL Server 2005系列教学(14) 用户管理

    用户管理: 哪些用户可以使用: 一种是WINDWOS 一种是SQL SERVER用户 身份验证方式:     windows验证:  安全,但不灵活     混合验证(WINDOWS SQL SERV ...

  4. SQL Server 2005系列教学_用户管理

    用户管理: 哪些用户可以使用: 一种是WINDWOS 一种是SQL SERVER用户 身份验证方式:     windows验证:  安全,但不灵活     混合验证(WINDOWS SQL SERV ...

  5. Oracle的学习一:安装与卸载、sql *plus常用命令、Oracle用户管理

    1.为什么学习oracle? 性能优越: 小型数据库 中型数据库 大型数据库 acess.foxbase mysql.sql server.informix sybase.oracle.db2 复杂量 ...

  6. mysql数据库用户管理及日志文件

    用户管理 实际应用: MySQL数据库是信息系统中非常重要的一个环节, 默认有个root用户,但是这个用户权限太大,一般只在管理数据库时候才用.所以通常由管理员创建不同的管理账户,分配不同的操作权限, ...

  7. Linux命令(七)Linux用户管理和修改文件权限

    1. 用户管理 1.1 创建用户/设置密码/删除用户 (-m很重要,自动添加用户家目录) 创建用户组dev, 给用户组dev新建xiaoqin用户,给新用户设置密码! 1.2 查看用户信息 1.3 设 ...

  8. edu-【Linux 与 Python编程2021】Linux知识训练,Linux之用户管理,Linux文件/目录管理

    python实训 python学习 – 菜鸟教程+B站视频 文章目录 linux知识训练-硬件与软件安装 第1关:linux知识训练-硬件与软件安装 linux知识训练-账户进程与权限 第1关:lin ...

  9. mysql数据控制语言_mysql数据控制语言DCL(Data Control Language)-数据库

    编辑推荐: 本文来自于网络,主要介绍了mysql数据控制语言DCL的创建.删除.修改用户密码.授予权限等代码编写. #创建用户 create user '用户名'@'允许登录的地址' identifi ...

  10. MySQL - 04.数据控制语言(Data Control Language,DCL)

    1.事务:一条或多条SQL语句组成的一个执行单位,这组SQL语句要么都执行,要么都不执行. 2.事务的特点:A(原子性),C(一致性),I(隔离性),D(持久性). 3.事务的并发问题:脏读.不可重复 ...

最新文章

  1. java map 内存_java 使用对象和Map保存字符串占用存储空间对比
  2. mysql行级锁测试
  3. 天猫全球狂欢夜,我竟然被这个“不是人”的家伙给圈了粉!
  4. spring gateway 限流持久化_Spring Cloud Gateway 扩展支持动态限流
  5. 无源定位之时差估计的精确时差估计算法(ETDE)及MATLAB实现程序
  6. SAP Spartacus 用户认证的实现
  7. mysql的中文乱码url,MySQL 中文显示乱码
  8. 惯性矩和偏心距描述器
  9. 如何使用 Spring Boot 开发邮件系统
  10. 应用开发框架之——数据字典、原数据、模板
  11. ShellServiceObjectDelayLoad中的webcheck疑问
  12. 停车场寻车是怎么实现的?车库寻车有什么好办法?
  13. CC00033.bigdatajava——|Java方法封装.V15|——|Java.v15|费氏数列.v01|递归实现|
  14. unity 3d开发的大型网络游戏 1
  15. 定义一个结构体student,存储学生的学号、名字、性别和年龄,读入每个学生的所有信息,保存在结构体中,并输出。
  16. 账户检查(4.13-4.26)
  17. C/C++语言常用开发工具
  18. 【计算机组成原理与体系结构】控制器
  19. Cookie、Session、Token和JWT
  20. 华为315s-936刷机中文版教程(附下载连接及有关视频连接)

热门文章

  1. Linux服务器时间快8个小时,Linux系统时间快8小时解决方案
  2. maven的安装步骤
  3. Kafka、RabbitMQ、RocketMQ比较
  4. java 游戏得分排行_以编程方式更改文本以统一显示游戏屏幕上的得分
  5. 学习单片机入门需要准备什么?
  6. 【渝粤教育】国家开放大学2018年春季 7392-21DMatlab语言及其应用 参考试题
  7. 【渝粤教育】国家开放大学2018年秋季 0221-22T数字电子电路 参考试题
  8. 【渝粤题库】陕西师范大学200591 英语语法
  9. 论文阅读笔记 Word Embeddings A Survey
  10. eclipse里启动rabbitmq报错 java.net.SocketException: Connection reset