Oracle基础

2784人阅读 2021/6/3 11:51 总访问:671413 评论:0 收藏:0 手机
分类: Oracle

前言

Oracle是一种大型数据库,一台电脑只有一个数据库,数据库中可存在很多个表空间,数据表是存放在表空间中的
Oracle中的权限管理十分严格
Oracle中进行增删改操时会默认开启事务
提交事务:commit
回滚事物:rollback

oracle的默认账户:

sys       数据库最高管理员只有一个   123456

system    数据库管理员 dba(可以有多个,权限很大,一般还是只创建一个)  123456

scott     oracle公司第一个员工   默认密码 tiger


默认表

scott下面有一些默认表

emp(员工表,oracle第一批员工的数据)

dept 部门表

......

常用命令

启动Oracle数据库服务

net start oracleserviceorcl

启用sql命令 
sqlplus


创建用户的命令

create user cz identified by 123456;

登陆命令:

conn 用户名/密码

授权命令:

grant 权限 to 用户

授予登陆权限

grant create session to 用户名;

权限的传递性

在授予a权限过后,a是否可以继续将自己拥有的权限传递下去呢?

授权命令:

grant 权限 to 人 

这样授权过后,并不能将权限传递下去,被授予权限的用户无法给其他用户授权


授予对表空间无限制使用的权限

grant unlimited tablespace to 用户名;

授权同时让用户具有传递这个权限的能力:

grant 权限 to 人 with grant option(对象权限)

grant 权限 to 人 with admin option(系统权限)

两者之间的区别,
grant 传递的权限是有连锁反应的,如果自己的某个权限被授权者撤销了,那么自己之前给其他人的该权限也同时被撤销了

admin 如果自己的权限被撤销了,其他人的权限不会受到影响

撤销权限命令:

revoke 权限 from 人

角色

角色的作用,提高授权的效率

比如,需要给10个人同时授权100条权限,一条一条的授权,效率很慢,而且容错率很低,所以角色就诞生了

把需要授权的权限给一个角色,再把这一个角色分配给10个人,这样不仅保证了授权的准确性,而且大大的提高了授权的效率

角色代表的就是一组权限,然后将权限分配到用户,用户就拥有角色的所有权限

--查询系统里边所有的角色

select * from dba_roles


CONNECT:连接角色(只有一个连接数据库的权限)

RESOURCE:资源角色(拥有创建表,触发器,序列,存储过程,游标....)

DBA:系统管理员角色(权限非常高)

--查询角色所拥有的系统权限

select * from dba_sys_privs where grantee = '角色名'


--查询角色所拥有的对象权限

select * from dba_tab_privs where grantee = '角色名'


--查询角色所拥有的角色权限

select * from dba_role_privs where grantee = '角色名'


评价
脚踏实地,一步一个脚印
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
欢迎加群交流技术