zoukankan      html  css  js  c++  java
  • ocp认证考试指南第一章



































    数据库存储结构:

    物理数据库存储结构:

    必须的三类文件:

    控制文件(controlFile):multiplexing the controfile 多路复用控制文件,指向其它关键文件,存储序列号和时间戳

    联机重做日志文件(redo log):联机重做日志文件盒归档日志文件.最低有2个组,每一个组至少有2个成员,第一个组写完后,将第一个进行归档,開始写第二个,这么循环下去.不停机下能够对重做日志文件进行移动,加入,删除操作.

    数据文件(datafile):至少创建两个数据文件(SYSTEM表空间(存储数据字典)和SYSAUX表空间(存储数据字典辅助数据)).逻辑上讲,它们为段的存储库.server进程对数据文件运行读操作,而DBWn对数据文件运行写操作.

    外部文件:初始化參数文件,口令文件,归档重做日志文件,日志和跟踪文件 

    逻辑数据库存储结构:

    oracle使用段来表述不论什么包括数据的结构,oracle里包括十几种段类型,当中最引人注目的是表段,索引段和撤销段。

    oracle通过表空间形式(tablespace)方式,将逻辑存储从物理存储中抽象出来。表空间在逻辑上是一个或多个段的集合,在物理上是一个或多个文件的集合。段和数据文件之间存在多对多的关系。

    考点:在oracle10G及更新版本号中,必须在创建数据库的时候创建SYSAUX表空间,假设未指定,将创建默认的SYSAUX表空间.



    数据字典:

    数据字典包括从逻辑上和物理上描写叙述数据库及其内容的元数据.用户定义、安全信息、完整性约束和性能监视信息都是数据字典的一部分。元数据作为一组段存储在SYSTEM和SYSAUX表空间中.

    USER_视图显示有关自己的表的信息

    ALL_视图显示有权訪问的对象的行

    DBA_视图显示数据库每一个对象的行

    表空间和数据文件之间的关联在数据库控制文件里维护.

    比方SQL查询一个表的时候,查询数据字典查看表是否存在,构成表的列,然后找到表的物理位置,读取段的区间映射,区间映射列出构成表的全部区间,指明每一个区间所在的数据文件,区间从数据文件的哪个块開始以及连续的块数.

    考点:哪个视图将显示数据库中全部的表?是DBA_TABLE,不是ALL_TABLES

    练习:

    属于SYSTEM表空间,存在于一个64KB的区间中,位于/orcl/datafile/system.256.858781235中,从文件的大约700M開始.

    [oracle@localhost ~]$ sqlplus / as sysdba

    SQL*Plus: Release 11.2.0.3.0 Production on Wed Nov 19 15:19:11 2014

    Copyright (c) 1982, 2011, Oracle.  All rights reserved.

    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    With the Partitioning, Automatic Storage Management, OLAP, Data Mining
    and Real Application Testing options

    SQL> create table lstest(ls varchar2(10));
    Table created.

    SQL> select tablespace_name,extent_id,bytes,file_id,block_id from dba_extents where owner='SYS' and segment_name='LSTEST';

    TABLESPACE_NAME                 EXTENT_ID      BYTES    FILE_ID   BLOCK_ID
    ------------------------------ ---------- ---------- ---------- ----------
    SYSTEM                                  0      65536          1      89248


    SQL> select name from v$datafile where file#=1;

    NAME
    --------------------------------------------------------------------------------
    +DATA/orcl/datafile/system.256.858781235

    SQL> select block_size * &block_id from dba_tablespaces where tablespace_name='&tablespace_name';
    Enter value for block_id: 89248
    Enter value for tablespace_name: SYSTEM
    old   1: select block_size * &block_id from dba_tablespaces where tablespace_name='&tablespace_name'
    new   1: select block_size * 89248 from dba_tablespaces where tablespace_name='SYSTEM'


    BLOCK_SIZE*89248
    ----------------
           731119616


  • 相关阅读:
    贪婪算法、递归计算、动态规划背包问题
    递归、动态规划计算斐波那契数列
    用于确定两个字符串最长公共子串的函数
    快速排序算法
    顺序、二分查找文本数据
    MyBatis面试题
    Spring面试题
    SpringMvc面试题
    jsp和servlet面试
    EJB的理解
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4479862.html
Copyright © 2011-2022 走看看