Oracle之旅-用户管理

Oracle基础

一、Oracle数据库体系结构

1、数据库:database

 Oracle 数据库是数据的物理存储。包括:数据文件 ORA 或者 DBF,控制文件,联机日志, 参数文件)。其实 Oracle 是一个操作系统只有一个库。可以看作是 Oracle 就只有一个大数据库。

2、实例

 一个 Oracle 实例有一系列的后台进程和内存结构组成。一个数据库可以有 n 个实例。

3、数据文件(dbf)

 数据文件是数据库的物理存储单位。如果要删除某个数据文件,只能删除其所属于的表 空间才行。

4、表空间

 是 Oracle 对物理数据库上相关数据文件的逻辑映射。一个数据文件只能属于一个表空间。

5、用户

 用户是在实例下建立的。不同的实例中可以建相同名字的用户。
在这里插入图片描述

二、Oracle数据库逻辑结构

在这里插入图片描述
在这里插入图片描述

  • 表空间由多个数据文件组成
  • 数据文件只能属于一个表空间
  • 表空间为逻辑概念,数据文件为物理概念
  • 段是区的集合
  • 区是数据块的集合
  • 数据块会被映射到磁盘块

三、Oracle数据库中的用户

 要访问数据库,用户必须指定有效的数据库用户帐户,而且还要根据该用户帐户的要求 成功通过验证。每个数据库用户都有一个唯一的数据库帐户。
 当创建一个新数据库时,oracle 将常见一些默认的数据库用户,如SYS,SYSTEM 和 SCOTT等用户。SYS 和 SYSTEM 用户都是 oracle 管理用户,而 SCOTT 用户是 oracle 数据库的一个示范用户,SCOTT 数据库里面包含一些测试展示用的示例表(用于学习交流)

1、Oracle数据库中默认账户

1.1、SYS

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

1.2、SYSTEM

SYSTEM 用户是 oracle 中默认的数据库管理员,它拥有 DBA 权限。该用户模式中存储了 oracle 管理工具使用的内部表和视图。通常通过 SYSTEM 用户管理数据库的用户、权限和存储等。不建议在 SYSTEM 模式中创建用户表。SYSTEM 不能以 SYSOPER 和 SYSDBA 角色登录系统,只能以默认方式登录。

1.3、SCOTT

SCOTT 用户是 oracle 数据库的一个示范用户,一般在数据库安装时创建。SCOTT 用户模式包含 4 个示例表,其中一个是 EMP 表,使用 USERS 表空间存储模式对象。
通常出于安全考虑,对于不同用途的表需要不同的访问权限,此时,就需要创建不同的用户, oracle 中的create user 命令用于创建用户,每个用户都有一个默认表空间和一个临时表空间。如果没有指定,oracle 就将 USERS 设为默认表空间,将 TEMP 设为临时表空间。

2、Sysdba和sysoper两个系统权限的区别

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

  • 打开数据库服务器
  • 关闭数据库服务器
  • 备份数据库
  • 恢复数据库
  • 日志归档
  • 会话限制
    【SYSDBA】权限,即数据库管理员权限,权限包括:
  • 打开数据库服务器
  • 关闭数据库服务器
  • 备份数据库 恢复数据库
  • 日志归档
  • 会话限制
  • 管理功能
  • 创建数据库
    【sysdba】拥有最高的系统权限,登陆后是 sys。
    【sysoper】主要用来启动、关闭数据库,sysoper 登陆后用户是 public。

3、一些SQL*Plus命令

说明:命令不区分大小写

3.1、登录普通用户

  • 方式一:执行 sqlplus --> 输入用户名 --> 输入密码。
  • 方式二:执行 sqlplus {用户名} --> 输入密码。
  • 方式三:执行 sqlplus {用户名}/{密码}。
    例子:
     sqlplus --> 输入 scott --> 输入 tiger
     sqlplus scott --> 输入密码。
     sqlplus scott/tiger

3.2、登录管理员

执行 sqlplus / as sysdba

3.3、退出exit

说明:用户名不区分大小写,密码区分。

4、Oracle用户操作

4.1、创建用户基本命令

create user 新的用户名 identified by 密码;
 创建一个 test1 的用户,密码为 123
 create user test1 identified by 123;

4.2、修改用户密码命令

alter user 用户名 identified by 新密码;
 将用户 test1 的密码由 123 改为 test1;
 alter user test1 identified by test1;

4.3、设置用户密码过期命令

alter user 用户名 password expire;
 将用户 test1 的密码设置为过期状态,使用 dba_tables 查看一下当前账 户的状态
 alter user test1 password expire;

4.4、设置用户锁定/解锁

alter user 用户名 account lock/unlock;
 将用户 test1 设置锁定
 alter user test1 account lock;

4.5、回收用户权限

revoke 权限名 from 用户名;
 回收 test1 的 select 权限
 revoke select from test1;

4.6、删除用户

 drop user new cascade; (级联删除)

四、权限控制

 “权限”是用于执行特定类型的 SQL 语句或访问其他用户的对象的一种权限。 Oracle DB 允许您控制用户在数据库中能够(或无法)执行的操作。权限可分为以下两种类别:

  • 系统权限: 每种系统权限都允许用户执行一个特定的数据库操作或一类数据库操作。 例如,创建表空间的权限就是一种系统权限。系统权限可由管理员授予,或者由被显式 授权管理权限的用户授予。有 170 多种不同的系统权限。很多系统权限都包含 ANY 子 句。
  • 对象权限: 用户可以使用对象权限对特定对象(如表、视图、序列、过程、函数或程 序包)执行特定的操作。在没有特定权限的情况下,用户只能访问他们自己拥有的对象。 对象权限可以由对象的所有者或管理员授予,也可以由被显式授予了权限,可以为其他 人员分配对某个对象的权限的人员授予。

授权基本命令

grant 权限名 / 角色名 to 用户;

五、角色控制

 在大多数系统中,将必要的权限分别授予给每个用户是一项很耗时的工作,而且很容 易出错。 Oracle 软件通过角色提供了简单且受控的权限管理方式。角色是可授予给用户或 其它角色的、由相关权限组成的指定组。设计角色是为了简化数据库中的权限管理,从而增 强数据库的安全性。
 预定义角色

角色 包括的权限
CONNECT CREATE SESSION
RESOURCE CREATE CLUSTER、CREATE INDEXTYPE、CREATE PROCEDURE、CREATE SEQUENCE、CREATE TABLE、CREATE TRIGGER、CREATE TYPE
SCHEDULER_ADMIN CREATE ANY JOB、CREATE EXTERNAL JOB、CREATE JOB、EXECUTE ANY CLASS、EXECUTE ANY PROGRAM、MANAGE SCHEDULER
DBA 大多数系统权限;几个其他角色。不要授予非管理员
SELECT_CATALOG_ROLE 五系统权限;HS_ADMIN_ROLE以及对数据字典的1700多对象权限

在这里插入图片描述

1、connect角色

 connect 角色具有一般应用开发人员需要的大部分权限,当建立了一个用户后,多数情 况下,只要给用户授予 connect 和 resource 角色就够了,那么 connect 角色具有以下系统 权限:
  alter session
  create cluster
  create database link
  create session
  create view
  create sequence

2、resource角色

 resource 角色具有应用开发人员所需要的其他权限, 比如建立存储过程、 触发器等。 这里需要注意的是 resource 角色隐含了 unlimited tablespace 系统权限。resource 角色包含 以下系统权限:
  create cluster
  create indextype
  create tablecreate sequence
  create type
  create procedure
  create trigger

3、dba角色

 dba 角色具有所有的系统权限,及 with admin option 选项,默认的 dba 用户为 sys 和 system 他们可以将任何系统权限授予其他用户。但是要注意的是 dba 角色不具备 sysdba 和 sysoper 的特权(启动和关闭数据库) 。如果要了解用户拥有哪些角色,以及角 色中包含哪些权限,可以查看表中所示的数据字典视图。
在这里插入图片描述

发布了6 篇原创文章 · 获赞 4 · 访问量 625

猜你喜欢

转载自blog.csdn.net/weixin_46731640/article/details/105328739