oracle体系结构和用户管理

来源:互联网 发布:抽奖软件制作 编辑:程序博客网 时间:2024/06/05 11:44

               学习oracle数据库,一开始从宏观上把握它的物理组成、文件组成和各种进程,对于进一步的学习可以起到很好的作用。

  • 一.数据库是数据的集合,是指存储数据库信息的一组操作系统文件,存储数据库信息的组操作系统文件。存储结构又分物理结构和逻辑结构。
  • 物理结构:指存储数据的物理文件

    (1)数据文件:后缀.dbf,一个数据文件只属于一个数据库和表空间。

    (2)重做日志文件:后缀.log,记录对数据库的更改,并提供恢复机制,成组出现,最少要两组每组最少一个文件。

    (3)控制文件:后缀.ctl,保存数据文件和重做日志文件位置、大小、日志序号等信息,启动数据库所必需,至少两份默认有3份控制文件。上述三种文件缺一数据库都不能启动。

    (4)其他文件:参数文件,归档日志文件,密码文件等。

    逻辑结构:存放数据的逻辑容器,由大到小为:数据库、表空间、段、区、块

    表空间:数据都存储在表空间中,默认有system、temp、undo、users、sysaux、example六个表空间

    创建表空间命令:create tablespace 表空间名 datafile ‘文件路径’ size 10M autoextend on;

    可以用drop命令删除表空间

    段:由区组成,存储具体对象比如表、索引等。

    区:磁盘分配空间的最小单位

    块:能读取或写入的最小数据单位

    模式:是一种特殊的对象集合,比如用户模式是指用户的所有对象的集合

  • 二.实例是后台进程和内存结构的集合,主要是管理分配内存的,一个实例只可以打开并使用一个数据库

    内存结构:分为系统全局区(SGA),程序全局区(PGA)和用户全局区(UGA)

    SGA:共享的内存,存储数据库信息。占有最大内存,分共享池、数据缓冲区、重做日志缓冲区、大池、java池等。

    PGA:用户连接后分配的内存,包含服务器进程和后台进程的数据和控制信息。

    进程结构:由用户进程、服务器进程、后台进程组成

           a.用户进程:用户连接服务器时启动,比如启动sqlplus时

           b.服务器进程:用户连接成功并连接oracle实例时启动

           c.后台进程:实例启动时启动:有5个必须的后台进程:进程监控(PMON)进程、系统监控(SMON)进程、数据写入(DBWR)进程、日志写入(LGWR)进程、检查点(CKPT)进程

  • 三.用户管理:

    sys用户:超级用户(oracle系统管理员),所有数据字典和视图多存储在sys模式中只能与sysoper和sysdba角色登录,可以启动关闭数据库。

    system用户:默认管理员,存储管理工具。使用的内部表和视图,可以管理数据库、用户、权限等

    scott:示例用户

    创建用户命令:create user 用户名 identified by 密码 [default tablespace 表空间名][quota 配额 on 表空间名][passwd expire]

  • 四.数据库权限:分系统权限和对象权限

    系统权限:执行系统级别的权限,比如连接数据库,创建、修改、删除等权限,相当于数据定义语言(DDL)和数据控制语言(DCL)的权利

    用户至少需要create session权限才可以连接(登录)数据库,一般通过角色授予,主要角色有:

    connect:拥有连接数据库权限,包含create session权限

    resource:拥有创建表等对象权限,一般授予开发人员

    dba:数据管理员,对数据库有最高权限

    对象权限:针对特定模式对象执行操作的权利,相当于数据操纵语言(DML)的权利。比如select、insert等。

    授予系统权限可以直接授权也可以通过角色授权,格式为:

    grant 系统权限 to 用户

    授予对象权限必须指定具体对象,格式为:

    grant 对象权限 on 模式对象 to 用户

    撤销权限用rewoke命令:

    rewoke 权限|角色 from 用户