Oracle体系结构和用户管理

数据库体系结构
      定义:
             数据库的组成,工作过程,数据库中的数据的组成与管理机制。

组成:
             实例、用户进程、服务器进程、数据库文件、

其他文件(参数文件、口令文件、归档文件)。

oracle的概念:
    程序全局区(PGA):
        定义:
              服务器进程使用的一块包含数据和控制信息的内存区域,

PGA是非共享的内存,在服务器进程启动或创建时分配的

(在系统运行时,排序,连接等操作也需要对PGA分配)。

用命令查看:

SQL> show parameter area_size

oracle实例:
                后台进程和内存结构的集合。
 
   系统全局区(SGA):
      定义:
             实例启动时,oracle为实例分配的一个内存块, 这个内存块称为SGA。
             是一个庞大的内存空间,会分配一个SGA,

系统全局区并启动一些oracle的后台进程(守护进程)。

组成:
         共享池:
             缓存一些"程序"数据的地方。
 
         数据缓冲区:
             数据在写到磁盘之前或从磁盘读取数据之后,

这些数据存储在块缓冲区缓存中。

日志缓冲区:
             数据需写到在线重做日志中,在写到磁盘之前

要在重做缓冲区中临时缓存这些数据。提高访问速度。

JAVA池:
            数据中运行java代码会用到。

大池:
            用于大块内存分配。共享池不处理。

查看:
       SQL> select pool,sum(bytes)bytes from v$sgastat group by pool;

oracle中内存=SGA+PGA
      一个实例中只能有一个SGA,所有的服务器进程和后台进程都共享一个SGA。

数据库:
     数据的集合,
     物理上指存储数据库信息的一组操作系统文件。

物理结构:
      构成数据库的一组操作系统文件(3种文件):

数据文件,控制文件,重做日志文件。

逻辑结构:
      数据库数据的逻辑存储结构(表空间,段)和模式对象(表,视图等)。

SQL语句的执行过程:
     1、编译,语法、语义检查。
     2、共享池:
            library cache:
                 缓存正确的SQL语句。
            data dictionary cache(数据字典缓存):
                 缓存权限和对象数据及属性。

防止共享池不够用,采用先进先出的规则:

后执行的sql语句会覆盖先执行的SQL语句。

3、data buffer cache :
            从磁盘或存储中将数据块调入内存,缓存在buffer cache中。

4、redo log buffer(重做日志缓冲区):
            执行增删改查操作之后,变化后的数据先写入重做日志缓冲区,

变化之前的数据放入重做日志缓冲中。

最后再将变化后的数据写入数据缓存区。

保证在数据恢复时,事务需要提交还是撤回。

查看:
         SQL> show parameter shared_pool_size;
               //显示0表示自动化管理。

SQL> select name,bytes/1024/1024||‘MB‘ from v$sgainfo;
               // 查看共享池的大小。

SQL> set timing on
               //启动时间。

SQL> select * from scott.emp;
               //查询scott.emp表。

SQL> show parameter db_cache_size;
               //查询缓冲区的大小。

oracle进程:
    用户进程:
        数据库用户请求连接服务器启动。

服务器进程:
        用户建立会话并连接实例时启动。

后台进程:
        启动实例时启动。

后台进程(5个进程):
   DBWn进程:
           数据写入进程(DBWR)
           将buffer cache中的脏数据写入到硬盘中数据文件中。

脏数据:
             修改过的数据存放在内存缓冲区中,事务没有提交,

修改过还没有写入硬盘数据文件的数据。

SQL> col description for a40;
 SQL> select paddr,name,description from v$bgprocess where name like ‘DBW%‘;

进程监控进程(PMON):
     管理用户会话,会在某个会话出现问题时执行适当的操作。

系统监控进程(SMON):
      实例启动时SMON进程会检查所有数据文件的同步信息与控制文件中

记录的检查点信息是否一致,不一致就启动实例恢复操作。

CKPT进程是给SMON进程使用的。

日志写入进程(LGWR):
      只有一个。
      用户提交事务时触发lgwr进程。
      red log buffer空间的三分之一空间被使用完时会触发lgwr进程。

脏数据写入磁盘之前,该LGWR进程将日志信息先写入到日志文件中,

每隔3秒中执行这样的操作。

LGWR进程不能有多个,日志顺序是串行写入,不能做并行写入,

否则无法做数据恢复。

$ ps -elf | grep ora_ |grep lgwr
      //查看LGWR进程。

SQL> select paddr,name,description from v$bgprocess where name like ‘LG%‘;

检查点进程(CKPT):
       检查所有数据文件和控制文件的头部是否一致,时确保数据完整性的机制。
       CKPT进程负责更新数据文件和控制文件的头部信息,并保存检查点信息,

保证数据库日志文件和数据文件的同步。

原理:
         在数据库恢复时,只需找到CKPT保存的最后一次检查点,

可根据它确定在日志文件中恢复数据的起始位置,

重新执行之后的日志信息即可。

SQL> select paddr,name,description from v$bgprocess;
    //查询所有后台进程。

SQL> select * from v$bgprocess where paddr< >‘00‘;
     //检索paddr是00的进程。

SQL> select * from v$bgprocess where paddr=‘00‘;

oracle的存储结构
   物理结构:
      主要文件:
         数据文件:
             物理存储数据库数据的文件.dbf。

特点:
               每一个数据文件只与一个数据库相联系。
               一个表空间可包含一个或多个数据文件。
               一个数据库文件只属于一个表空间。

重做日志文件:
                扩展名是.log,记录了对数据的所有更改信息,

并提供了一种数据恢复机制,

确保在系统崩溃和其他意外出现后重新恢复数据库。

控制文件:
                扩展名.ctl, 是一个二进制文件,

包括数据文件和重做日志文件的名称和位置。

是数据库启动及运行所必须的文件。

其他文件:
           参数文件,归档日志文件,密码文件。

逻辑结构:
       包括表空间,段,区,块和模式等。

表空间:
          永久表空间,临时表空间,撤销表空间。

系统表空间:
           SYSTEM,SYSAUX,USERS和TEMP。

oracle用户管理
 SYS :
      oracle中的超级用户,数据库中所有数据字典和视图都存储在SYS模式中,

SYS用户只能以SYSOPER或SYSDBA角色登录系统。

SYSTEM:
      oracle中默认的数据库管理员,拥有DBA的权限。

SCOTT :
      oracle数据库的一个示范用户,在数据库安装时创建。

要访问数据库:必须通过oracle身份验证(2种方法):
     配置应用程序要求每个需要进行访问的个体都具有不同的数据库账户。
     配置应用程序自身作为公共用户连接数据库并在内部处理应用程序级别的权限。

注意:
    在数据库内部必须创建一个或多个允许操作数据的用户。

SQL> select * from dba_users;
        //查看数据库里面所有用户。有dba权限的账号才可以。

SQL> select * from all_users;
        //查看你能管理的所有用户。

SQL> select * from user_users;
        //查看当前用户信息。

时间: 2024-10-07 17:29:30

Oracle体系结构和用户管理的相关文章

oracle系列(二)oracle体系结构和用户管理

博主QQ:819594300 博客地址:http://zpf666.blog.51cto.com/ 有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持! 在使用oracle之前,我们一定要对oracle的体系结构有深入的理解,与之前我们学习过的sqlserver体系结构是不一样的,所以对于我们来说是一个全新的内容. 一.oralce体系结构 1.概述 Oracle的体系结构是数据库的组成,工作过程,以及数据库中数据的组织与管理机制,要了解oracle数据库的体系结构,就必须要理解oracl

[转]Oracle DB 执行用户管理的备份和恢复

• 说明用户管理的备份和恢复与服务器管理的备份和恢复之间的差异 • 执行用户管理的数据库完全恢复 • 执行用户管理的数据库不完全恢复 备份和恢复的使用类型 数据库备份和恢复的类型包括: • 用户管理的:不使用RMAN – 使用OS 命令移动文件 – DBA 需要手动维护备份活动记录 • 服务器管理的:使用RMAN 有两种方法可用来恢复数据库.可以使用RMAN 并利用其自动恢复功能.它可以还原相应的文件,并使用非常少的命令使数据库恢复到当前状态.还可以手动进行恢复.这称为“用户管理的恢复”.用户管

Oracle数据库的体系结构和用户管理

一.Oracle体系结构 数据库的体系结构是指数据库的组成.工作过程.以及数据库中数据的组织与管理机制,要了解Oracle数据库的体系结构,必须理解Oracle系统的主要组件和重要概念. 1.Oracle体系结构概述 Oracle体系结构包含一系列组件,如下图所示,图中显示了Oracle体系结构中的主要组件,包括实例.用户进程.服务器进程.数据文件及其他文件,如参数文件.口令文件和归档日志文件等.从图中可以看出,实例和数据库是Oracle数据库体系结构的核心组成部分,也是最重要的两个概念:DBA

oracle 11g系列 用户管理实验报告

Oracle 数据库用户管理 在数据库中各种对象被以用户(方案)的方式组织管理 在创建对象和访问对象前,首先创建对象的拥有者---用户 用户有相关的属性,有些必须明确设置,有些可以用默认值 下面是用户的相关属性 --用户名 --口令 --默认表空间 --临时表空间 --账户状态 --空间配额 --概要文件 其中用户名和口令是必须要设置的 数据库当中的对象是一schema的方式组织管理的 数据库当中存在哪些类型的对象 对象是放在user下,通常称之为用户下的对象,又称作schema. 模式对象指的

oracle学习笔记-用户管理

1:创建用户 create user username identified by password; 注意:密码开头要字母 2:修改密码 自己:password 别人:password username   (系统管理员才能改别人) 3:删除用户 drop user username  [cascade] DBA权限去删除 注意:如果要删除的用户已经创建了表,在删除的时候带一个参数 cascade;(把他的表也删除) 4:授予权限 grant   connect(一个角色)  to  user

oracle体系结构-内存管理

一.Oracle体系结构概述 数据库--驻留在磁盘上的--各种磁盘文件(数据文件.控制文件.日志文件) 实例--驻留在内存--内存组件+进程---------------一旦数据库关闭,不存在了 数据库和实例的关系 A 一个数据库对一个实例(单节点) 数据库--实例 B 一个数据库对N个实例(多节点)--防止单点故障(oracle高可用架构)--7*24的系统 实例1     实例2      实例3    ... 实例n    ----每个实例都独立安装在独自的虚拟机上            

Oracle用户管理

前言:oracle作为一个大型数据库,在很多大公司中都有应用,所以很有必要了解一下,尤其是一些日企使用Oracle的较多,这几天踏上了oracle的学习征途.工欲善其事,必先利其器,首先从安装开始,然后是用户管理,接着表的管理,表的查询,java操作,事物等内容,内容非常丰富,想要学好也不容易.不过只要一步一个脚印,我相信一定会有收获的,特在此做一些学习上的记录,希望对大家有用,哈……写完150字真不容易,竟然少于150字不能发表……汗……!

oracle 用户管理

1. 用户进程 Ps –elf | greporacleocl |grep–v grep 2. 数据库进程 Ps –elf |greporacleorcl 3. 守护进程 Ps –elf |grep oha 大池:在SGA中,大池是一个可选的缓冲区域,管理员可以根据需要对其进行配置,在大规模输入输出及备份过程中需要大池作为缓存空间,例如,大数据操作.数据库备份与恢复之类的操作. Java池:Java池是一个可选的缓冲区,但是在安装java或者java程序时必须设置Java池,它用于编译Java语

oracle学习笔记之用户管理-3

用户权限机制 1.不同用户表权限的赋予 grant select on scott.emp to software; ---当前登录用户为表所有者,则表名前不用指定所属用户 2.用software登录后 select * from scott.emp; ---software才有权限查询到scott的emp表 方案(schema) 当用户创建好后,如果该用户创建了一个数据对象(如表),此时dbms会创建一个对应的方案与改用户对应,并且该方案的名称和用户名称一致. system与scott都拥有自