Oracle 之 用户管理、权限和数据类型

A. Oracle用户管理

1. 用户: 是在数据库中定义的一个名称,更准确地说它是账户,习惯上称其为用户,当连接到Oracle数据库时,操作人员必须提供正确的用户名和密码。

连接到数据库的用户所具有的权限是不同的,Oracle提供了一些特权用户,比如,SYSDBA或SYSOPER,这类用户主要用于执行数据库的维护操作,如启动、关闭等操作。

SYSDBA和SYSOPER的区别在于:SYSDBA不仅具备SYSOPER的所有权限,而且还可以建立数据库,执行不完全恢复。(SYSDBA比SYSOPER厉害)

在Oracle11g中,Oracle提供了默认的特权用户SYS,当以特权用户身份登录数据库时,必须带有AS SYSDBA或AS SYSOPER选项。

例如:connect sys/密码 as sysdba;

2. 忘记管理员密码

第一步输入:sqlplus/nolog
第二步输入:connect/as sysdba
第三步输入:alter user sys identified by sys

3. 创建新用户======具有DBA权限的用户执行

  • 创建一个名为test的新用户
create user test  identified by 123456
  default  tablespace users
  temporary tablespace temp
  quota 3m on users;

4. 修改用户
语法与创建用户的语法基本相似,只是把CREATE关键字替换成ALTER

alter user test  identified by 密码
  default  tablespace users
  temporary tablespace temp
  quota 3m on user;

5. 解锁被锁住的用户

使用alter user命令解除被锁定的账户。

 alter user test account unlock;

6. 删除用户

一般以dba的身份去删除某个用户,如果用其它用户去删除用户则需要具有 drop user的权限。

drop user 用户名 [cascade] 

注:cascade:级联删除选项;加cascade选项,此时连同该用户所拥有的对象一起删除。

7. 用户授权======新用户是没有任何权限的, 需要dba授权

  • 为刚才新创建的用户test授权
grant connect to test;

8. 用户权限

根据管理方式不同,权限分为:系统权限和对象权限。

系统权限:是在系统级对数据库进行存取和使用的机制,比如是否能连接到数据库系统(SESSION权限),执行DDL语句(如CREATE.ALTER、和DROP)等。

对象权限:指某一个用户对其他用户的表、视图等对象的操作权限。对于某些模式对象,比如簇、索引、触发器、数据库链接等没有相应的实体权限,由系统权限进行管理。

B. 角色

1.概念:角色是一个独立的数据库实体,它包括一组权限。也就是说,角色是包括一个或者多个权限的集合,它并不被哪个用户所拥有。
角色可以被授予任何用户,也可以从用户中将角色收回。
2.分类
Qracle提供了三种标准的角色(role): CONNECT、RESOURCE和DBA。

  • CONNECT Role(连接角色)
    =====>临时用户,特别是那些不需要建表的用户,通常只赋予他们CONNECTrole。只可以登录Oracle,不可以创建实体,不可以创建数据库结构。

  • RESOURCE Role(资源角色)

=====>更可靠和正式的数据库用户可以授予RESOURCE role。
只可以创建实体,不可以创建数据库结构。
RESOURCE提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)和簇(cluster)。

  • DBA Role(数据库管理员角色)

=====>拥有所有的系统权限—-包括无限制的空间限额和给其他用户授予各种权限的能力。
SYSTEM由DBA用户拥有。 只有DBA才可以创建数据库结构。

C.授权与收权

1. 系统授权语法

 grant sys_privi | role to user | role | public [with admin option];

  /*sys_privi:表示Oracle系统权限,系统权限是一组约定的保留字。
             比如,若能够创建表,则为“CREATE TABLE”。   
   role:角色。
  user:具体的用户名,或者是一些列的用户名。 
  public:保留字,代表Oracle系统的所有用户。 
  with admin option:表示可再将权限授予另外的用户。*/

为用户test授予连接和开发系统权限

grant  connet,resource to test;

test可以把这两个权限授予其他用户。

grant  connet,resource to test with admin option

2. 收回权限

 revoke sys_privi | role from user | role | public// 参数含义同grant授权。

撤销test用户的resource系统权限:

 revoke resource from test;

3. 对象权限

grant obj_privi | all column on schema.object to user | role | public [with grant option] | [with hierarchy option]

 /*obj_privi:表示对象的权限,可以是alter、execute、select、update
            和insert等; 
 role:角色名; 
 user:被授权的用户名; 
 with admin option:表示被授权者可再将系统权限授予其他的用户; 
 with hierarchy option:在对象的子对象(在视图上再建立视图)上授权给用户。*/

给用户test授予select、insert、update表soctt.emp的权限。

grant select,insert,delete,update on scott.emp to test;

4. 收回对象权限

revoke obj_privi | all on schema.object from user | role | public cascade constraints

//cascade constraints:表示有关联关系权限也被撤销。

从test用户撤销scott.emp表的update和delete

revoke delete,update on scott.emp from test;

D.Oracle常用的数据类型

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值