sql-DCL用户及权限管理及其他常用命令-oracle
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> create profile lock_account limit failed_login_attempts 3 password_lock_time 2;
给账户(用户)解锁
- 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;
- sql> create profile myprofile limit password_life_time 10 password_grace_time 2;
口令历史
如果希望用户在修改密码时,不能使用以前使用过的密码,可使用口令历史,这样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天后就可以重用 - 分配给某一个用户
- 1)建立profile
删除profile
- 当不需要某个profile文件时,可以删除该文件
sql> drop profile password_history [cascade]
- 当不需要某个profile文件时,可以删除该文件
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的更多相关文章
- sql-DCL用户及权限管理及其他常用命令-mysql
查看系统信息 SHOW PROCESSLIST -- 显示哪些线程正在运行 SHOW VARIABLES -- 显示系统变量信息 SELECT now(), user(), version(); -- ...
- MySQL用户与权限管理
执行mysql select 查询报错: SELECT command denied to user 'root'@'localhost' for table "xxx" 问题原因 ...
- Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理
这是本人第一次写,写的不好的地方还忘包含.写这个的主要原因是想通过这个来学习下EF的CodeFirst模式,本来也想用AngularJs来玩玩的,但是自己只会普通的绑定,对指令这些不是很熟悉,所以就基 ...
- mysql用户和权限管理
用户和权限管理 Information about account privileges is stored in the user, db, host, tables_priv, columns_p ...
- MySQL/MariaDB数据库的用户和权限管理
MySQL/MariaDB数据库的用户和权限管理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.元数据数据库(mysql) 系统授权表(均在mysql数据库中): db hos ...
- MySQL数据库用户和权限管理
一.视图 视图:VIEW,虚表,保存有实表的查询结果,在视图插入的内容都会存入表中.创建方法: CREATE VIEW view_name [(column_list)] AS select_st ...
- MySQL高级学习笔记(二):mysql配置文件、mysql的用户与权限管理、mysql的一些杂项配置
文章目录 mysql配置文件 二进制日志log-bin 错误日志log-error 数据文件 两系统 Myisam存放方式 innodb存放方式 如何配置 mysql的用户与权限管理 MySQL的用户 ...
- MySQL基础篇(07):用户和权限管理,日志体系简介
本文源码:GitHub·点这里 || GitEE·点这里 一.MySQL用户 1.基础描述 在数据库的使用过程中,用户作为访问数据库的鉴权因素,起到非常重要的作用,安装MySQL时会自动生成一个roo ...
- Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理10
今天把用户的菜单显示和页面的按钮显示都做好了,下面先来个效果图 接下来说下我实现的方法: 首先我在每个方法前面都加了这个属性, /// <summary> /// 表示当前Action请求 ...
随机推荐
- thymeleaf模板使用
使用模板页面,实现在同一个页面展现不同数据,controller实现页面跳转的时候就不在需要打开新页面
- Codeforces Round #306 (Div. 2), problem: (B) Preparing Olympiad【dfs或01枚举】
题意: 给出n个数字,要求在这n个数中选出至少两个数字,使得它们的和在l,r之间,并且最大的与最小的差值要不小于x.n<=15 Problem - 550B - Codeforces 二进制 利 ...
- Codeforces Round #671 (Div. 2) B. Stairs 难度1200
题目链接: Problem - 1419B - Codeforces 题目 题意 给x个格子,你可以用这x个格子去拼成楼梯 好的楼梯的要求如下: 1. 第n列有n个格子 2. 这个楼梯的所有格子可以被 ...
- 1. 初识 JavaScript
1.1 JavaScript 是什么 布兰登·艾奇(Brendan Eich,1961年-). 神奇的大哥用10天完成 JavaScript 设计. 最初命名为 LiveScript,后来在与 Sun ...
- ABP框架入门
技术要求 在开始使用 ABP 框架之前,您需要在计算机上安装一些工具. IDE/编辑器 本书假设您使用的是Visual Studio 2022(支持 .NET 6.0 的 v10.0)或更高版本.如果 ...
- springmvc-02(配置版与注解版区别)
首先,我们来看配置版和注解版的相同步骤: 1.新建一个Moudle , springmvc-02-hello , 添加web的支持! 2.确定导入了SpringMVC 的依赖! 3.配置web.xml ...
- 字节跳动构建Data Catalog数据目录系统的实践(上)
作为数据目录产品,Data Catalog 通过汇总技术和业务元数据,解决大数据生产者组织梳理数据.数据消费者找数和理解数的业务场景,并服务于数据开发和数据治理的产品体系.本文介绍了字节跳动 Data ...
- macOS 安装 Nebula Graph 看这篇就够了
本文首发于 Nebula Graph Community 公众号 背景 刚学习图数据的内容,当前网上充斥大量的安装文档,参差不齐,部署起来令人十分头疼. 现整理一份比较完整的安装文档,供大家学习参考, ...
- Git在项目中使用技巧
1.常用的命令 mkdir 文件夹名 创建文件夹 clear 清楚屏幕 ls或者ll 将当前目录下的子文件和子目录平铺在控制台 find 目录名 将对应目录下的子孙文件或子孙目录平铺在控制台 rm 文 ...
- Go Http Get 和 Post 工具函数
前言 先说一下为什么要搞这个小东西? 米攸服务端前期主要是基于 Go 构建的,版本迭代过程中,业务复杂度不断增加,再加上中员团队有人员变动,考虑到目前团队的技术背景,我们开始考虑把接口服务分批迁移到 ...