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.表的基本操 ...
随机推荐
- 【学习笔记】在原生javascript中使用ActiveX和插件
什么是插件 现在的浏览器提供了大量的内置功能,但仍然有一些工作无法完成,如播放音频和视频.插件及其扩展浏览器功能就尤为重要. 插件是可下载的应用程序,可以插入到浏览器中,现在有很多不同的插件,常用的有 ...
- Nginx模块之———— RTMP 模块的在线统计功能 stat 数据流数据的获取(不同节点则获取的方式不同)
一.目前只有一个Live节点存在 单节点获取方式如下: public function getStreamByIp($outerIP, $streamName) { //查询录像模块的IP地址外网,根 ...
- 跨站请求伪造 CSRF / XSRF<一:介绍>
跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一 ...
- arm-linux-androideabi-addr2line
./arm-linux-androideabi-addr2line -C -f -e libc.so 00040d94
- 利用Object.prototype.toString方法,实现比typeof更准确的type校验
Object.prototype.toString方法返回对象的类型字符串,因此可以用来判断一个值的类型. 调用方法: Object.prototype.toString.call(value) 不同 ...
- shell中$0,$?,$!等变量意义
变量说明: $$ #Shell本身的PID(ProcessID) $! #Shell最后运行的后台Process的PID $? #最后运行的命令的结束代码(返回值) $- ...
- PHP JSON
- Android开发之Git配置
Android开发之Git配置 1.首先git配置: 输入命令: git config --global user.name "xxx.xx" git config --globa ...
- [原创] Win7全自动精简批处理_绝对原创,绝对给力_感谢无忧给了我一年的潜水
2011htpcfans发表于 2012-5-5 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=210043 @echo 全自动/手动精简 ...
- jquery.select2 模糊查询
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <link re ...