oracle数据库逐步学习总结【基础一】
原创作品,转载请在文章开头显眼位置注明出处:https://www.cnblogs.com/sunshine5683/p/10059955.html
一、oracle的基本命令
1、连接命令
用法:conn 用户名/密码 @网络服务名 as sysdba/sysoper
2、disc[onnection] 断开与当前数据库的连接
3、passw[ord]:修改用户密码,修改其他用户密码,需要sys/system用户
4、show user:显示当前登录用户
5、exit/quit:退出sqlplus,同时断开连接
二、文件操作命令
1、start和@ :运行sql脚本
2、spool : 将屏幕上的内容输出到制定的文件中去,注意,该命令只有spool off了才可以在文件中看到内容
查看内容
三、交互式命令
1、& :可以替代变量,该变量在执行时候需要用户输入参数
2、edit :用于编辑指定的sql脚本
四、用户管理
1、创建用户:需要sys或者system用户,create user xiaoming identified by 123; 创建的新用户没有任何权限,需要赋予权限
2、修改密码:password
3、赋予权限:grant connect to xiaoming //赋予小明连接登录数据库的权限(此处connect其实是一种角色)
grant resource to xiaoming //赋予小明创建数据表的权限
grant select on scott.emp to xiaoming //赋予小明查询emp表的权限,此时,小明可以通过select * from scott.emp 访问emp表,但是不能直接访问,即select * from emp,因为emp是scott用户的,小明只有访问权限,而不是小明自己的表,只有自己的表才可以直接访问
grant update on scott.emp to xiaoming //赋予修改表的权限
grant all on scott.emp to xiaoming //将该表的所有访问与修改等的权限赋予小明
注意:赋予一张表的权限给其他用户只有该数据表的创建者才可以,其他用户都是不可以的。
4、权限主要有:select、insert、delect、update、all、create index
5、如果希望小明可以去查询scott.emp,也希望小明可以将该查询权限授予其他用户,那么就使用到了对象权限,即在授权的后面加上 with grant option,也就是:
sql> grant select on scott.emp to xiaoming with grant option;
注意:以上的scott.emp 可以直接写出emp,因为授权者是scott,而该表也是scott自己的表,但是如果授权者不是scott,则必须写出scott.emp,比如此时小明也有将emp表的查询权限授予其他用户的权利,但是小明要给其他用户授权,就必须携程scott.emp,不能携程emp,否则会报错:表或者视图不存在!
如果是系统权限,则:system给小明权限时候:grant connect to xiaoming with admin option, 此时小明就可以给其他用户授予连接数据库的权限
6、收回权限:revoke select on scott.emp from xiaoming;
注意:收回其他用户访问数据表的权限只有该数据表的创建者才可以,其他用户都是不可以的。如果将小明的权限收回,那么小明给其他用户授予的权限也一并没有了!
7、删除用户:drop user 用户名, 注意,在删除用户时候,如果该用户已经创建了表,那么删除用户的时候需要加上cascade,即:drop user 用户名 cascade,用于删除用户以及该用户创建的表(级联删除)
8、使用profile管理用户口令(一般使用dba权限执行)
sql> create profile lock_account limit filed_login_attempts 3 password_lock_time 2 // 创建口令限制文件,意思是如果密码输入错误三次,那么锁死,锁定时间为2天,然后再次登录,如果在两天之内,就算输入正确的密码,也是无法登录,因为在两天之内该账号是锁定状态。
sql> alter user xiaoming profile lock_account; //给小明用户限定
用户解锁:
sql> alter user xiaoming account unlock; //给小明用户解锁,不至于小明账号被锁死之后两天内真的不能登录,但是该命令同样需要system为小明解锁,如果不解锁,就只能等两天了!
终止口令:为了让用户在规定时间内修改密码,同样也需要dba身份
sql> create profile myprofile limit password_life_time 10 password_grace_time 2;//创建口令文件myprofile,限定用户每隔10天修改登录密码,宽限期为2天,如果时间到了没有修改,那么断开该用户的连接,同时要求修改密码!
sql> alter user xiaoming profile myprofile;//将小明用户应用限制文件
口令历史: 如果在用户修改密码时候,不能使用以前用过的密码,那么可以使用口令历史,oracle会将口令修改的信息放到数据字典,进行密码判断
sql> create profile password_history_limit password_life_time 10 password_grace_time 2 password_reuse_time 10 //简历口令文件
其中:password_reuse_time 10: 指定口令可重用时间,即10天后就可以重用
然后分配给某个用户
口令文件的删除:当某个口令文件不想使用了,可以将其删除!
sql> drop profile password_history_limit cascade
其中cascade表示该口令文件如果已经分配给了用户,那么就的加上cascade
五、oracle表管理 (下一篇继续.....)
oracle数据库逐步学习总结【基础一】的更多相关文章
- Oracle数据库之PL/SQL基础
介绍PL/SQL之前,先介绍一个图像化工具:Oracle SQL Developer 在oracle的开发过程中, 我们难免会使用第三方开发的软件来辅助我们书写SQL, pl/sql是一个不错的sql ...
- 【Oracle教程资源大合集】Oracle数据库免费学习资源汇总
Oracle的产品非常丰富,各类学习资源也五花八门,本文将介绍Oracle官方的免费教程与风哥整理的Oracle视频教程: 1.Oracle帮助中心 Oracle帮助中心也称为Oracle文档中心,这 ...
- oracle 数据库的学习1
1.oracle 数据库常用的基本类型 char(10) -->存储固定长度的字符串 varchar2(10)-->存储可变长的字符串 Date INTEGER -->存储整数 N ...
- Oracle数据库初级学习 2
今天我们介绍Oracle数据库中剩余的查询方法,今天的查询方法会比昨天的更为复杂一些(PS:我也是个初学者,请见谅..). 一.分组函数 分组函数是为了区分同一个表中的不同数据而建立,其关键字为GRO ...
- oracle数据库逐步学习总结【基础二】
原创作品,转载请在文字开头明显位置注明出处:https://www.cnblogs.com/sunshine5683/p/10067872.html 接着上一篇,继续总结! 五.oracle表管理 首 ...
- Oracle数据库初级学习
第一天 SQL查询语句 CMD——SQLPLUS----账号 soctt 密码 tiger,输入完成后进入SQL数据库,如图显示即连接成功. 连接成功后 ,我们首先设置一下基本界面, --设置 每列显 ...
- Oracle数据库的学习
复制数据库结构到另外一数据库的的语句,首先在数据库创建链接,比如我在131数据库,dblink_018 的018为链接名称,随便取 ,可在此表查看数据库链接 select * from dba_db_ ...
- Oracle PL/SQL学习之基础篇(2)--例外
1.例外分类:系统例外.自定义例外 (1)系统例外,参见相关API文档 (2)自定义例外 定义自己的例外:就像自定义变量一样,类型为exception 抛出例外:使用raise抛出自定义例外 set ...
- Oracle PL/SQL学习之基础篇(1)
1.PL/SQL,全称Procedure Language/SQL,过程化sql语言 PL/SQL的程序结构 declare --声明部分(包括变量.光标.例外声明) begin --语句序列(DML ...
随机推荐
- Delphi - 10.1编译OSX10.12程序遇到错误解决了!
昨天,尝试Delphi的跨平台开发功能,在windows10下,做了一个控制台程序,发布目标平台是OSX10.12,中间配置过程都非常顺利,没有任何错误,但是当编译运行时候出现下面错误: [dccos ...
- A Tool To Plot Mathematical Function
Plot.cs using Microsoft.ClearScript; using Microsoft.ClearScript.V8; using Microsoft.Win32; using Sy ...
- poj1125
题目大意:哎,意思看了半天,看了别人的解释才明白,就是说从一个经纪人出发传递消息,直到所有人都收到消息 也就是说只要找到该经纪人到其它所有点的最短距离中的最大一个时间,就说明最后一个也收到消息了. 而 ...
- Kafka运行环境优化实践
Kafka高性能的特点及条件 Kafka是一个高吞吐量分布式消息中间件,并且提供了消息的持久化功能.其高可行有两个重要的特点: 利用了磁盘连续读写性能显著高于随机读写性能的特点 并发,将一个topic ...
- Class 和 MetaClass
在 OC 中,类的一个实例定义如下: /// Represents an instance of a class. struct objc_object { Class _Nonnull isa OB ...
- js获取时间的函数集
var mydate = new Date(); mydate.getYear(); //获取当前年份(2位) mydate.getFullYear(); //获取完整的年份(4位,1970-???? ...
- WPF快速实现XML可视化编辑工具
虽然最近业余时间主要都放在研究AngularJS上了,不过由于正好要帮朋友做一个生成XML的小工具,顺便又温顾了一下WPF.虽然这个时代相对于Web应用和移动App,Windows应用程序是越来越少了 ...
- 去掉iphone上拨号弹出框
1.常规的方法可以直接去除默认事件event.preventDefault() 2.使用vue的话可以: <div @click.stop.prevent=</div> //或者 & ...
- 剑指offer三十六之两个链表的第一个公共结点
一.题目 输入两个链表,找出它们的第一个公共结点. 二.思路 如果存在共同节点的话,那么从该节点,两个链表之后的元素都是相同的.也就是说两个链表从尾部往前到某个点,节点都是一样的.我们可以用两个栈分别 ...
- 杂记---Mongo的Invalid BSON field name $gte
1.前言 这几天使用mongo的时候遇到了一个异常:Invalid BSON field name $gte,该问题可能会有很多小伙伴会遇到,因此记录一下解决过程.起因是用JAVA翻译一个其他语言写的 ...