oracle数据库用户管理

oracle用户管理:

当创建一个新数据库时,oracle将常见一些默认的数据库用户,如SYS,SYSTEM和SCOTT等用户。SYS和SYSTEM用户都是oracle管理用户,而SCOTT用户是oracle数据库的一个示范用户,SCOTT数据库里面包含一些测试展示用的示例表(用于学习交流)

1、默认数据库用户

1)SYS

SYS用户是oracle中的一个超级用户,数据库中所有数据字典和视图都存在SYS模式中,数据字典存储了用来管理数据库对象的所有信息,是oracle数据库中非常重要的系统信息。SYS用户主要用来维护系统信息和管理实例。SYS用户只能以SYSOPER或SYSDBA角色登录系统。

 

2)SYSTEM

SYSTEM用户是oracle中默认的数据库管理员,它拥有DBA权限。该用户模式中存储了oracle管理工具使用的内部表和视图。通常通过SYSTEM用户管理数据库的用户、权限和存储等。

不建议在SYSTEM模式中创建用户表。SYSTEM不能以SYSOPER和SYSDBA角色登录系统,只能以默认方式登录。

 

3)SCOTT

SCOTT用户是oracle数据库的一个示范用户,一般在数据库安装时创建。SCOTT用户模式包含4个示例表,其中一个是EMP表,使用USERS表空间存储模式对象。

通常出于安全考虑,对于不同用途的表需要不同的访问权限,此时,就需要创建不同的用户,oracle中的create user命令用于创建用户,每个用户都有一个默认表空间和一个临时表空间。如果没有指定,oracle就将USERS设为默认表空间,将TEMP设为临时表空间。

 

  1. Sysdba和sysoper两个系统权限区别  

sysdba和sysoper属于system privilege,也称为administrative privilege,拥有例如数据库开启关闭之类一些系统管理级别的权限。sysdba和sysoper具体的权限如下:  

【SYSOPER】权限,即数据库操作员权限,权限包括:

  1. 打开数据库服务器
  2. 关闭数据库服务器
  3. 备份数据库
  4. 恢复数据库
  5. 日志归档
  6. 会话限制

【SYSDBA】权限,即数据库管理员权限,权限包括:

  1. 打开数据库服务器
  2. 关闭数据库服务器
  3. 备份数据库 恢复数据库
  4. 日志归档
  5. 会话限制
  6. 管理功能
  7. 创建数据库  

 

【sysdba】拥有最高的系统权限,登陆后是sys。

【sysoper】主要用来启动、关闭数据库,sysoper 登陆后用户是public。

创建自定义用户

步骤:

  1. 选择用户名和密码
  2. 识别用户需用于存储对象的表空间
  3. 决定每个表空间的限额
  4. 分配缺省表空间和临时表空间
  5. 创建用户
  6. 向用户授予权限和角色

语法:

CREATE USER user

       IDENTIFIED BY password

       [DEFAULT  TABLESPACE tablespace]

       [TEMPORARY  TABLESPACE tablespace]

       [QUOTA {integer [K|M] | UNLIMITED}ON tablespace

       [QUOTA {integer [K|M] | UNLIMITED}ON tablespace ] ...]

       [PASSWORD EXPIRE ]

 

案例1:创建用户YDW

CREATE USER YDW                     --用户名为YDW

  IDENTIFIED BY pwd123                --密码为martinpwd

  DEFAULT TABLESPACE tbs_work         --默认表空间为tbs_work

  TEMPORARY TABLESPACE temp         --临时表空间为temp

  QUOTA UNLIMITED ON tbs_work        --对tbs_work表空间的使用没有限制

  PASSWORD EXPIRE;                   --第一次登录需要修改密码

修改YDW用户的密码为pwd123456

删除用户YDW

查询oracle的所有用户

解锁用户

1)先查看hr用户的状态是锁定的

六、oracle数据库权限管理

  1. 权限指的是执行特定命令或访问数据库对象的权利
  2. 权限有两种类型,系统权限和对象权限
  3. 系统权限允许用户执行某些数据库操作,如创建表就是一个系统权限
  4. 对象权限允许用户对数据库对象(如表、视图、序列等)执行特定操作
  5. 角色是一组相关权限的组合,可以将权限授予角色,再把角色授予用户,以简化权限管理
  1. 使用系统权限

系统权限是指在数据库中执行某种系统级别的操作,或者针对某一类对象执行某种操作的权利,例如:在数据库中创建表空间的权利,或者创建表的权利,都属于系统权限,具体如下图:

常用的系统权限如下:

CREATE  SESSION:连接到数据库

CREATE TABLE:创建表

CREATE VIEW:创建视图

CREATE SEQUENCE:创建序列

 

对象权限

对象权限是指针对某个特定模式对象执行操作的权利,只能针对模式对象来设置管理对象权限,包括:表、视图、序列、存储过程等。

3、授权

Oracle数据库用户有两种途径获得权限

  1. 直接向用户授予权限
  2. 将权限授予给角色,再将角色授予给一个或者多个用户

使用角色能更高效,方便地对权限进行管理,所以数据库管理员通常使用角色向用户授予权限,而不是直接向用户授予权限。

Oracle中常用系统预定义角色有以下种类:

  1. CONNECT:拥有连接数据库权限
  2. RESOURCE:拥有创建表、触发器、过程等权限
  3. DBA:数据库管理员,拥有管理数据库最高权限

 

新用户必须授予一定的权限才能进行相关数据库操作,授权通过grant语句,取消授权通过revoke语句

 

授权的语法:

1)GRANT CONNECT  TO  MARTIN;

授予授予CONNET角色给MARTIN

 

GRANT CONNECT,RESOURCE TO MARTIN;

同时授予CONNET,RESOURCE这2个角色给MARTIN

 

GRANT SELECT ON SCOTT.emp TO MARTIN;

允许用户MARTIN查询 SCOTT.emp表的记录

 

4)GRANT UPDATE ON SCOTT.emp TO MARTIN;

允许用户MARTIN更新 SCOTT.emp表中的记录

 

5)GRANT ALL ON SCOTT.emp TO MARTIN;

允许用户MARTIN插入、删除、更新和查询SCOTT.emp表中的记录

4、撤销权限的语法:

使用REVOKE命令撤销用户分配的权限或角色

 

1)REVOKE CONNECT,RESOURCE FROM MARTIN;

撤销CONNET,RESOURCE这2个角色

 

2)REVOKE SELECT FROM SCOTT.emp TO MARTIN;

撤销MARTIN查询 SCOTT.emp表的记录的权限

案例1:为用户设置权限

首先建立用户YDW

 

使用YDW用户登录

提示第一次登录需要更改密码

使用新密码重新登录,提示没有任何权限。

为用户授予session(连接到数据库)权限

重新登录oracle

测试YDW能否创建表,提示权限不足

授予用户创建表的权限

再次使用YDW登录,测试能够创建表

创建成功了,测试插入数据,并查询

查看用户拥有的权限

撤销用户的权限

测试用户YDW能够查询scott.emp

提示没有权限

授予用户查询scott.emp的权限

测试查询scott.emp

查询成功了

 

 

 

 

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值