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.表的基本操 ...
随机推荐
- python pyqt4 ide eric安装
注意事项 关于python,pyqt的版本 笔者安装的是eric,原来电脑安装的是64位的python,32位的pyqt4,导致系统找不到pyqt,后来更换python版本为32搞定,猜测pyqt的版 ...
- PNG的使用技巧
Png是图像文件存储格式,在网页设计中已经不是一个陌生的名词,在前端开发中经常使用到它,如常用CSS 雪碧图.而Png的使用不仅仅如此,Png有多少种格式,有哪些特点,PC端中常用的Png格式是哪些, ...
- 阿里云产品搭建web应用梳理
阿里云搭建web应用梳理 要搭建web应用,主要需要准备两部分内容,一部分是域名,另一部分就是服务器.下面分别对在阿里如何准备这两部分内容做一个简要说明. 一.域名 提供域 ...
- Eclipse通过jdbc连接oracle数据库
首先要有包 然后,在项目中加载进去- 最后就是代码了 import java.sql.*;public class GetConn {public Connection getConnection() ...
- Java中Sting类型对象内容不可改变
String拥有一个特殊点叫:String对象的内容不可改变! 在调用诸如String对象的replace()等方法时,不是在原Sting对象的基础上改变对象内容,而是创建了一个新的String对 ...
- 微信内嵌浏览器sessionid丢失问题,nginx ip_hash将所有请求转发到一台机器
现象微信中打开网页,图形验证码填写后,经常提示错误,即使填写正确也会提示错误,并且是间歇性出现. 系统前期,用户使用主要集中在pc浏览器中,一直没有出现这样的问题.近期有部分用户是在微信中访问的,才出 ...
- 浅谈对Js闭包的理解
理解Js的闭包,首先让我们先看几个概念 执行环境(executive environment)每个函数都有自己的执行环境,匿名函数默认为全局环境. 作用域链(scope chain)子函数继承父函数, ...
- 268. Missing Number -- 找出0-n中缺失的一个数
Given an array containing n distinct numbers taken from 0, 1, 2, ..., n, find the one that is missin ...
- vim 编辑器使用积累(for win)
开个坑,记录一下使用vim的进化历程.这东西不是一两天用的精的,多用自然就觉得有很多地方需要进一步学习,慢慢的效率就上来了. 首先我大部分时间都是在win上做开发,win上的vim需要去自己去配置诸多 ...
- 模板列onclick事件中绑定跳转页参数(onclick location.href Eval)
<asp:GridView runat="server" ID="gvCheckList" AutoGenerateColumns="false ...