• 【基础】Oracle基础3


    1.下面有关TABLESPACE和DATAFILE之间的关系的描述中,说法错误的是(D)

    A.一个TABLESPACE可以有一个或多个DATAFILE

    B.每个DATAFILE只能在一个TABLESPACE内

    C.TABLE中的数据,通过HASH算法分布在TABLESPACE中的各个DATAFILE中

    D.DATAFILE是逻辑上的概念,TABLESPACE则在物理上储存了数据库的种种对象

    解析:表空间是Oracle数据库中最大的逻辑单位与存储空间单位,数据库系统通过表空间为数据库对象分配空间。表空间在物理上体现为磁盘数据文件,每一个表空间由一个或多个数据文件组成,一个数据文件只可与一个表空间相联系,这是逻辑与物理的统一。对于选项D,TABLESPACE是逻辑上的概念,DATAFILE是物理上的概念,选项中正好说反了。

    2.在Oracle中,数据块,重做日志块及控制文件数据块的大小分别是多少?如何查询

    答:① 数据块(Data Block),是读写数据文件的最小单位,默认是8KB,可以通过SQL语句“SELECT FILE#,NAME,BLOCK_SIZE FROM V$DATAFILE;”查询

    ② 重做日志数据块(Redo Block),大小一般等于操作系统的系统块的大小,一般为512或4096,可以通过SQL语句“SELECT BLOCKSIZE FROM V$LOG;”或“SELECT LEBSZ FROM X$KCCLE;”查询

    ③ 控制文件数据块(Control File Block),默认为16KB,可以通过SQL语句“SELECT BLOCK_SIZE FROM V$CONTROLFILE;”查询

    3.在Oracle中,如何查询逻辑读、物理读、执行次数和解析次数最多以及执行时间最长的SQL语句呢?如何寻找或监控效率低下的SQL语句

    答:① 当前系统的SQL可以通过监控V$SQL_MONITOR、V$SESSION视图来实现,记录执行时间较长的SQL语句。对于历史SQL可以通过分析DBA_HIST_SQLSTAT视图。

    ② 分析现有的系统中的执行计划,重点检查驱动表与被驱动表顺序、表连接算法、排序是否有索引、索引使用。

    ③ 分析AWR、ASH和ADDM。

    ④ 通过OEM中性能监控的捕获5s以上的SQL。

    ⑤ 通过GV$SQLAREA视图来分析。

    4.在Oracle中,$ORACLE_HOME和$ORACLE_BASE的区别是什么

    答:ORACLE_BASE是Oracle软件的根目录,下面一般包括admin、cfgtoollogs、diag、fast_recovery_area和product等目录。ORACLE_HOME下则是Oracle的命令、连接库、安装助手、LISTENER等等一系列的内容。如果装了2个版本的Oracle,那么ORACLE_BASE可以是一个,但ORACLE_HOME是2个。

    5.在Oracle中,如何找出当前有多少个用户登录到数据库

    答:①查询V$SESSION视图,SQL命令为:“SELECT COUNT(1) FROM V$SESSION  A”

           ②查询V$SYSSTAT视图,SQL命令为:“SELECT * FROM  V$SYSSTAT A WHERE A.NAME='logons current'”

  • 相关阅读:
    python
    python
    python
    python
    python 序列化
    字典
    异常处理
    类的成员,类的特殊方法
    HTMLEditor类常用方法说明
    HTMLEditor类常用属性说明
  • 原文地址:https://www.cnblogs.com/tomatoes-/p/8301582.html
Copyright © 2020-2023  润新知