3个默认的用户
sys //网络管理员 权限由上到下降低 【最后加上 as sysdba】
system //本地管理员
scott //普通用户 默认密码:tiger
创建用户:show user;//显示用户
create user lisi identified by lisi;(前面为用户名,后面为密码)
drop user lisi;//删除用户lisi
grant create session to lisi;(给用户授予session权限,不然连登陆的权限都没有)
grant create table to lisi;(给用户授予创建表的权限)(其它权限不用授予,及有创建权限自动拥有查找、修改、删除权限)
grant unlimited tablespace to lisi;(授予用户不受上线的表空间权限,无空间权限也无法创建表)
grant create any table to public;//将创建表的权限授予给所有用户,其它权限类推
revoke create table from lisi;//撤销lisi创建表的权限
创建表:
create table mytable (id int);//创建表
insert into mytable (id)values(1);//插入表
select * from mytable;//查询
drop table mytable;//删除表
commit;//手动保存数据
查看当前用户所有权限(数据字典不同)
select * from user_sys_privs;//查看系统权限
select * from user_tab_privs;//查看对象权限
select * from user_col_privs;//查看列权限
其它用户查看某个用户的表:(所有事物必须提交,不然没有数据 【commit】)
sys查看: select * from wangwu.wangtable; //必须要标注好访问谁的数据表,不然oracle会默认访问自己的表而出错
普通用户未经授权是无法访问其它用户的表的;授权如下(访问及select)
sys给lisi授权:
grant select on wangwu.wangtable to lisi;//授予lisi访问wangwu的wangtable的权限
wangwu给lisi访问授权:(select)
grant select on wangtable to lisi;
grant select on wangtable to public;//将查询权限授予给所有用户
wangwu给lisi授予插入权限:(insert)
grant insert on wangtable to lisi;
wangwu授予lisi所有权限(及增删改查);
grant all on wangtable to lisi;
wangwu撤销对lisi的所有权限(仅限wangtable表);
revoke all on wangtable from lisi;
wangwu对wangtable添加一列:
alter table wangtable add name varchar(10);//添加name列
wangwu授权lisi更新name列的权限:
grant update(name) on wangtable to lisi;//仅能更新name列
wangwu授权lisi插入id列的权限:
grant insert(id) on wangtable to lisi;//仅能插入id列
系统权限由系统权限授予,对象权限者是谁拥有谁授予
系统权限的传递:
grant alter any table to lisi;//授予lisi修改任何表的权限,但是lisi没有权限授予wangwu它lisi已有的系统权限
grant alter any rable to lisi with admin option;//这个就是对lishi权限的补充,让他有权限去将自己的系统权限授予wangwu
然后lisi可以进行如下操作:
grant alter any table to wangwu;
grant alter any table to wangwu with admin option;//如上类推
对象权限的传递:
grant select on A to lisi with grant option;//系统赋予lisi权限,让lisi有传递对象传递的权限
grant select on A to lisi with grant option;//如上类推
角色:角色就是权限的集合
create role myrole;//创建一个角色myrole
grant create session to myrole;//赋予session权限给myrole
grant create table to my role;//赋予创建表的权限给myrole
grant myrole to zhangsan;//将myrole的权限赋予给zhangsan
drop role myrole;//删除角色
有的系统权限是无法授予给角色的:
grant unlimited tablespace to myrole;//无法授予权限给myrole角色,该权限太大,要直接授予给用户
grant create table to myrole;//可以,只能给自己新建一个表
grant create any table to myrole;//可以,不仅能给自己新建一个表,还可以给其它用户新建一个表
grant alter any table to myrole;//可以
grant alter table to myrole;//错误
grant drop any table to myrole;//可以
grant drop table to myrole;//错误
表属于某个用户
角色不属于某个用户
用户密码丢失:
管理员不能查看密码,但是可以更改密码
alter user lisi identified by zhangsan; //将lisi的密码改zhangsan(原始密码为lisi)
oracle数据库的三种验证机制:
1、操作系统验证//sysdba和sysoper用验证机制此种
2、密码文件验证//sysdba和sysoper用验证机制此种
3、数据库验证
linux和unix下 oracle的启动顺序:
1、lsnrctl start (启动监听)
2、新版本:
sqlplus / as sysdba【或者 sqlplus sys/oracle as sysdba】
早期版本:
sqlplus / nolog
conn sys/oracle as sysdba
3、startup (启动数据库)
windows下 oracle的启动顺序:
1、lsnrctl start (启动监听)
2、oradmin -starup -sid orcl
要先打开服务和监听器(否则无法连接数据库【可以直接按下O找到以O开头的服务或者在我的电脑图标右键。。。】):
就可进去操作数据库了:
当然navicat也是可以的:
- Oracle数据库之 PL SQL 学习笔记
1.定义基本变量: 2.引用型的变量: set serveroutput on declare pename emp.ename%type; psal emp.sal%type; begin ...
- oracle数据库升级记(记一次10.2.0.3版本升级到11.2.0.1版本的过程)
操作系统:windows xp 已有数据库版本:10.2.0.3 升级目标版本:11.2.0.1 步骤大纲: 在源操作系统(安装有10.2.0.3数据库的操作系统)上安装11.2.0.1数据库软件,然 ...
- Oracle数据库的入门之一
Oracle的介绍: Oracle Database,又名Oracle RDBMS,或简称Oracle.是甲骨文公司的一款关系数据库管理系统.它是在数据库领域一直处于领先地位的产品.可以说Oracle ...
- 给同为.NET开发者普及一点Oracle数据库经验
前段时间,因为要给自己开发的搜易站内搜索引擎增加Oracle数据库的支持,所以学习了下Oracle的基础知识,发现使用方式跟MYSQL,MSSQL等数据库的思维有很大的不同,总结一下几点不同,希望给初 ...
- C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志
C#实现多级子目录Zip压缩解压实例 参考 https://blog.csdn.net/lki_suidongdong/article/details/20942977 重点: 实现多级子目录的压缩, ...
- [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了
[译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 本文首发自:博客园 文章地址: https://www.cnblogs.com/yilezhu/p/ ...
- 面试题: 数据库 oracle数据库 已看1 意义不大 有用
Oracle数据库面试题总结 2017年04月27日 22:41:44 阅读数:9271 1.SQL语句分类 DQL(数据查询语言)select DML(数据操作语言)insert.delete.up ...
- MyEclipse 连接Oracle数据库(初学者必看)
前言:刚接触Oracle数据库,便有一个需求,编写控制台程序,实现主人登录.数据库为Oracle.下面详细介绍一下MyEclipse 连接Oracle数据库. package DbHelp; im ...
- Oracle数据库 —— DDL
时间:2016-10-5 14:55 逆风的方向更适合飞翔我不怕千万人阻挡只怕自己投降 --------------------------------------- 一.表的创建与管理1.表的基本操 ...
随机推荐
- 3D立体照片墙
代码如下: <!DOCTYPE html> <html> <head lang="en"> <meta charset="U ...
- Spring AOP中pointcut expression表达式解析
Pointcut 是指那些方法需要被执行"AOP",是由"Pointcut Expression"来描述的. Pointcut可以有下列方式来定义或者通过&am ...
- javascrpt事件
1.HTML事件处理程序:就是事件直接写在HTML文档中,其特点就是HTML和Js紧密的结合在一起,缺点就是修改不方便,需要改动js和HTML两处.比如: <button onclick=&qu ...
- C#中 Request, Request.params , Request.querystring , Request.Form 区别 与联系用法
C#中 Request, Request.params , Request.querystring , Request.Form 区别 与联系用法? Request.params , Request ...
- css新增样式
一. box-shadow(阴影效果)使用:box-shadow: 20px 10px 0 #000;-moz-box-shadow: 20px 10px 0 #000;-webkit-box-sha ...
- 抓包工具--Fiddler及charles的使用
Fiddler和charles--是抓包工具,可以抓到pc端的请求,手机上设置代理后也可以抓到手机上的请求,也可以修改请求数据和返回的数据. 1.网页抓包,打开Fiddler或Charles应用直接访 ...
- pandas筛选0,3,6开头的行
http://stackoverflow.com/questions/15325182/how-to-filter-rows-in-pandas-by-regex dbstk.loc[dbstk.ST ...
- Swift 05.Block
Swift的函数用法还真是灵活.但是个人感觉更灵活的还是闭包. swift闭包的概念大抵相当于OC的block的概念.如果对于block的理解很透彻的话,闭包的原理性的东西还是很好理解的. 剩下的就是 ...
- DynamicJson
json字符串解析成Dynamic对象,开源地址http://dynamicjson.codeplex.com/,访问比较慢.使用方法摘录如下: Project Descriptiondynamic ...
- Java面试常见各种概念区别比较
Hashtable 和 HashMap之间的区别 Hashtable是继承了Dictionary,是线程安全的.HashMap实现了Map接口,不是线程安全的.HashMap是Hashtable的轻量 ...