练习 1-1 研究所在环境的DBMS

这是一个书面练习,没有具体的解决方案.

确定自己所在环境使用的应用程序, 应用服务器 , 和数据库. 然后集中精力研究数据库, 体验一下数据库的规模和忙碌程度. 考虑用户数量,数据易失性以及数据量.

最后考虑他们对组织的重要程度: 就每个应用程序和数据库而言, 允许多长的停机时间? 允许损失多少数据? 可以使用财务数字定量分析吗?

利用研究结果,可以了解DBA角色的重要性.

练习 1-2 确定数据库是单实例,还是分布式系统的一部分

在本练习中,读者将运行查询来确定数据库是独立系统,还是更大的分布式环境的一部分. 可以使用Sql Developer 或 SQL & Plus. 如果您还不能使用Oracle数据库,但又要做此练习, 那么可以调至第二章,在完成安装后再回到此练习.

1. 作为用户SYSTEM连接到数据库

2. 确定实例是否是RAC数据库的一部分

SQL> select parallel from v$instance;
PARALLEL 
---------
NO
 如果是单实例数据库,那么将返回NO.
 
3.  确认数据库是否通过备用数据库的保护来防止数据丢失, UNPROTECTED 表示未受到保护.
SQL> select protection_level from v$database;
PROTECTION_LEVEL 
------------------------------------------------------------
UNPROTECTED
 
如果数据库的确未受到保护,那么将返回UNPROTECTED
 
4. 确认数据库中是否配置了流 , 没配置则不会有row被选择 
SQL> select * from dba_streams_administrator;
no rows selected
如果尚未配置流, 那么将不返回任何行.
 
 
练习 1-3  了解实例的内存结构
在本练习中,将运行查询来确定构成实例的不同内存结构的当前大小. 可以使用SQL Developer或SQL * Plus
1. 作为用户SYSTEM连接到数据库
2. 显示可以动态设置大小的SGA组件的当前,最小和最大容量:
SQL> SELECT COMPONENT, CURRENT_SIZE, MIN_SIZE,MAX_SIZE FROM V$SGA_DYNAMIC_COMPONENTS;
此示例现实的实例不包含流,因此流池大小为零. 自从自从启动实例后,大池和Java池都未发生变化,但共享池和数据库缓冲区缓存的大小发生了变化. 仅配置了数据库缓冲区缓存的默认值,除进行大量调整的数据库外,通常都是这样配置的.
3. 确定已为(以及当前为)程序全局区分配了多少内存;
SQL> select name,value from v$pgastat where name in ('maximum PGA allocated','total PGA allocated');

NAME
--------------------------------------------------------------------------------
     VALUE
----------
total PGA allocated
  69312512
maximum PGA allocated
 319397888

 
练习 1-4 了解在实例中运行的进程
在本练习中,将运行查询来查看在实例中运行的后台进程. 可以使用SQL Developer或SQL* Plus.
1. 作为SYSTEM 登录
2. 确定哪些进程正在运行,以及每个进程的数量有多少.
select program from v$session order by program;
select program from v$process order by program;
这些查询将得到相似的结果: 每个进程必须有会话(即使是后台进程,也同样如此),而每个会话必须有进程. 可多次出现的进程将有一个数字后缀,但支持用户会话的进程除外: 它们都使用同一个名称.
3. 通过计算服务器进程数量(Linux,或任何Unix平台)或Oracle线程数量(Windows上) , 演示会话生成后启动的服务器进程. 这两个平台上的技术有所不同, 这是因为,在Linux/Unix上,Oracle进程是独立的操作系统进程, 而在Windows上,它们是一个操作系统进程中的多个线程.
  a. 在Linux上, 从操作系统提示符可以运行一下命令:
    ps -ef| grep oracle | wc -l 
  该语句将计算出名称中包含oracle 字符串的运行进程的数量, 将包括所有会话服务器进程(或许还包括其他进程).
  启动SQL*plus 会话, 然后重新运行上面的命令. 可以使用此主机命令,在SQL*Plus会话中启动shell程序. 我们将看到,进程数量增加了. 如果退出会话, 重新运行命令将看到数量又少了.
  
  b. 在Windows上,启动任务管理器. 对其进行配置,以便显示每个进程中的线程数量: 在View菜单中,选择Select Columns 选项, 然后选中Thread Count复选框. 查看oracle.exe进程, 看一下现成的数量.
 
练习 1-5 了解数据库的存储结构
 
在本练习中,将创建一个表段,然后计算出它的物理位置. . 可以使用SQL Developer或SQL* Plus.
1. 使用登录
2. 创建一个未知表空间的表(将在默认表空间中创建它), 并包含一个区间:
    create table tab24 (c1 varchar2(10 byte));
3. 确定表所在的表空间, 区间大小, 区间所在的文件编号, 以及作为区间开始位置的文件块
  selelct tablespace_name, extent_id,  bytes, file_id , block_id  from dba_extents where owner='SYSTEM'  and segment_name = 'TAB24';  ( 默认情况下SEGMENT CREATION DEFERRED,因此无法找到extent);
4. 根据名称确定文件: 在看到提示时,替代前面查询中的file_id:
     select name from v$datafile where file#=&file_id;
5. 精确计算出区间在文件中的位置,按它在文件中的开始字节数,这要求找到表空间的块大小,在看到提示时,输入步骤3中的查询返回的BLOCK_ID和TABLESPACE_NAME.
    select block_size * &BLOCK_ID from dba_tablespaces where tablespace_name ='&TBS_NAME';
 
 

OCP 11g 第一章练习的更多相关文章

  1. OCP 11g 第二章练习

    练习 2-1 在Windows计算机上安装SQL Developer 在本练习中,将在Windows计算机上安装SQL Developer 1. 从以下URL下载当前SQL Developer版本: ...

  2. 《Django By Example》第一章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:本人目前在杭州某家互联网公司工作, ...

  3. MyBatis3.2从入门到精通第一章

    第一章一.引言mybatis是一个持久层框架,是apache下的顶级项目.mybatis托管到goolecode下,再后来托管到github下.(百度百科有解释)二.概述mybatis让程序将主要精力 ...

  4. Nova PhoneGap框架 第一章 前言

    Nova PhoneGap Framework诞生于2012年11月,从第一个版本的发布到现在,这个框架经历了多个项目的考验.一直以来我们也持续更新这个框架,使其不断完善.到现在,这个框架已比较稳定了 ...

  5. 第一章 MYSQL的架构和历史

    在读第一章的过程中,整理出来了一些重要的概念. 锁粒度  表锁(服务器实现,忽略存储引擎). 行锁(存储引擎实现,服务器没有实现). 事务的ACID概念 原子性(要么全部成功,要么全部回滚). 一致性 ...

  6. 第一章 Java多线程技能

    1.初步了解"进程"."线程"."多线程" 说到多线程,大多都会联系到"进程"和"线程".那么这两者 ...

  7. 【读书笔记】《编程珠玑》第一章之位向量&位图

    此书的叙述模式是借由一个具体问题来引出的一系列算法,数据结构等等方面的技巧性策略.共分三篇,基础,性能,应用.每篇涵盖数章,章内案例都非常切实棘手,解说也生动有趣. 自个呢也是头一次接触编程技巧类的书 ...

  8. 《JavaScript高级程序设计(第3版)》阅读总结记录第一章之JavaScript简介

    前言: 为什么会想到把<JavaScript 高级程序设计(第 3 版)>总结记录呢,之前写过一篇博客,研究的轮播效果,后来又去看了<JavaScript 高级程序设计(第3版)&g ...

  9. 《Entity Framework 6 Recipes》翻译系列 (1) -----第一章 开始使用实体框架之历史和框架简述

    微软的Entity Framework 受到越来越多人的关注和使用,Entity Framework7.0版本也即将发行.虽然已经开源,可遗憾的是,国内没有关于它的书籍,更不用说好书了,可能是因为EF ...

随机推荐

  1. expect的安装与使用

    expect的安装与使用 是什么 expect 是用来进行自动化控制和测试的工具.主要是和交互式软件telnet ftp ssh 等进行自动化的交互. 如何安装 1.检测是否安装 ls /usr/bi ...

  2. HDU - 1054 Strategic Game(二分图最小点覆盖/树形dp)

    d.一颗树,选最少的点覆盖所有边 s. 1.可以转成二分图的最小点覆盖来做.不过转换后要把匹配数除以2,这个待细看. 2.也可以用树形dp c.匈牙利算法(邻接表,用vector实现): /* 用ST ...

  3. OpenCV2.4.13+VS2012开发环境配置

    1.下载和安装OpenCV SDK 在OpenCV官网的下载页面: http://opencv.org/downloads.html   找到对应OpenCV for Windows版本下载.目前(2 ...

  4. 六个优雅的 Linux 命令行技巧

    一些非常有用的命令能让命令行的生活更满足,使用 Linux 命令工作可以获得许多乐趣,但是如果您使用一些命令,它们可以减少您的工作或以有趣的方式显示信息时,您将获得更多的乐趣.在今天的文章中,我们将介 ...

  5. laravel 自定义分页 offset 和 limit 的使用

    laravel 本身有一个自带的快速分页方法 paginate,只需要传入每页显示多少条数据就可以 了,但是如果想使用自定义从哪里开始呢,这时候就可以使用offset 和 limit 的组合,offs ...

  6. webpack 使用配置文件

    webpack入门     大多数项目会需要很复杂的设置,这就是为什么webpack要支持配置文件.这比在终端中输入大量命令要高效的多,所以让我们常见一个取代CLI选项方式的配置文件 新建 webpa ...

  7. 移动端网页巧用 margin和padding 的百分比实现自适应

    一个基础却又容易混淆的css知识点 本文依赖于一个基础却又容易混淆的css知识点:当margin/padding取形式为百分比的值时,无论是left/right,还是top/bottom,都是以父元素 ...

  8. finalize方法的作用

            finalize是在对象回收前做一些清扫工作,以及可清理栈上的内存,比如调用本地方法可能在栈上创建对象.即使对象不可达,也并不是非死不可,还是可以抢救一下,当一个对象没有与GCroot ...

  9. eclipse配置环境基本设置

    一.修改字符集编码 二修改字体 三.安装jre 四.修改jsp文件的默认字符集 五.展示想要的窗口 六.修改右键new的内容

  10. win10部署Python3和Python2

    首先添加两个的环境变量, 使用python3 -m pip -v (后面为自己的pip命令) 工具: pip install you-get you-get -url