Oracle Database 10g:DBA 中文手册I


Oracle Database 10g: DBA 中文手册 I (第 300-400 页) 海量oracle资料下载 http://www.database8.com Enterprise Manager 审计页 版权所有 © 2006,Oracle。保留所有权利。 Enterprise Manager 审计页 通过单击“Administration(管理)”标签,然后单击“Users & Privileges(用户和权限)” 区域中的“Audit Settings(审计设置)”链接,可访问“Database Control Home(数据库控 制主页)”中的“Audit(审计)”页。 “Audit(审计)”页上包含下列区域: • Configuration(配置):显示当前的配置参数值,包含用于编辑参数值的链接 • Audit Trails(审计线索):可轻松访问已收集的审计信息 请使用以下标签页来设置和取消设置审计选项: • Audited Privileges(审计权限):显示审计的权限 • Audited Objects(审计对象):显示审计的对象 • Audited Statements(审计语句):显示审计的语句 Oracle Database 10g:数据库管理 - 课堂练习 I 10-16 指定审计选项 • • • 审计 SQL 语句: AUDIT table; 审计系统权限(非重 点和重点): AUDIT select any table, create any trigger; AUDIT select any table BY hr BY SESSION; 审计对象权限( 非重点和重点): AUDIT ALL on hr.employees; AUDIT UPDATE,DELETE on hr.employees BY ACCESS; 版权所有 © 2006,Oracle。保留所有权利。 指定审计选项 审计 SQL 语句:幻灯片中显示的语句可审计影响表的任何数据定义语言 (DDL) 语句,包 括 CREATE TABLE、DROP TABLE 和 TRUNCATE TABLE 等等。可按用户名或者按成功 或失败来设置重点审计的 SQL 语句: SQL> AUDIT TABLE BY hr WHENEVER NOT SUCCESSFUL; 审计系统权限:可用来审计行使的任何系统权限(如 DROP ANY TABLE)。可按用户名 或者成功或失败设置审计的重点。默认情况下,审计设置为 BY ACCESS。每次行使经过 审计的系统权限时,都会生成一条审计记录。可选择使用 BY SESSION 子句将这些记录 组成一组,以便每个会话只生成一条记录。(这样,如果一个用户更新属于另一个用户的 表中的 100,000 条记录,则只收集一条审计记录。)请考虑使用 BY SESSION 子句来限 制由于审计系统权限而对性能和存储产生的影响。 审计对象权限:可用来审计关于表、视图、过程、序列、目录和用户定义数据类型的操作。 这种审计类型可按成功或失败设置审计的重点,而且可以按会话或访问权限分组。与审计 系统权限不同,默认情况下,审计对象权限时按会话分组。所以,如果要分离为每个操作 生成的审计线索记录,必须隐式指定 BY ACCESS。 Oracle Database 10g:数据库管理 - 课堂练习 I 10-17 使用和维护审计信息 请在不使用审 计选项时禁用审计选项 版权所有 © 2006,Oracle。保留所有权利。 使用和维护审计信息 最佳方案提示:因为审计会增加系统的负荷,所以不使用审计时应禁用审计。 Oracle Database 10g:数据库管理 - 课堂练习 I 10-18 基于值审计 > 要求 最少权限 审计 基于值 FGA DBA 安全性更新 用户进行了更改 触发器触发 触发器创建 了审计记录 用户进行了更改 在审计线索表中 插入了审计记录 版权所有 © 2006,Oracle。保留所有权利。 基于值审计 进行数据库审计时会记录审计对象中发生的插入、更新和删除操作,但是不会捕获更改的 实际值。基于值审计扩展了数据库审计的功能,它能够捕获更改的实际值。基于值审计时 利用了数据库触发器(事件驱动 PL/SQL 构造)。 用户在连接了相应触发器的表中插入、更新或删除数据时,触发器通过后台工作将审计信 息复制到用于包含审计信息的表中。因为审计触发器代码在每次插入、更新或删除操作发 生时都必须执行,所以与标准数据库审计相比,使用基于值审计时,性能下降幅度比较大。 性能下降幅度取决于触发器代码的效率。只在标准数据库审计捕获的信息不足的情况下, 才会使用基于值审计。 Oracle Database 10g:数据库管理 - 课堂练习 I 10-19 基于值审计(续) 基于值审计的关键在于审计触发器。典型的审计触发器如下所示: CREATE OR REPLACE TRIGGER system.hrsalary_audit AFTER UPDATE OF salary ON hr.employees REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW BEGIN IF :old.salary != :new.salary THEN INSERT INTO system.audit_employees VALUES (sys_context('userenv','os_user'), sysdate, sys_context('userenv','ip_address'), :new.employee_id || ' salary changed from '||:old.salary|| ' to '||:new.salary); END IF; END; / 这个触发器将审计的重点设置为捕获的 hr.employees 表薪水列的更改。更新某行后, 触发器就会检查薪水列。如果新旧薪水不相等,那么触发器会在 audit_employees 表(通过在 SYSTEM 方案中单独操作而创建的)中插入一条审计记录。审计记录中包括 了用户名、执行更改的 IP 地址、标识被更改记录的主键及更改的实际薪水值。 如果标准数据库审计收集的数据不足,还可使用数据库触发器来捕获关于用户连接的信 息。通过使用登录触发器,管理员可以捕获用来标识连接到数据库的用户的数据。示例 中包括下列各项: • 登录人员的 IP 地址 • 用于连接到实例的程序名的前 48 个字符 • 用于连接到实例的终端名 有关用户参数的完整列表,请参阅《Oracle 数据库 SQL 参考》中“SYS_CONTEXT” 一节。 Oracle Database 10g:数据库管理 - 课堂练习 I 10-20 • 细粒度审计 根据内容监视数据访 问 > 要求 最少权限 审计 基于值 FGA DBA 安全性更新 • • • • 审计 SELECT、INSER T、UPDATE、DELETE 和 MERGE 可链接到表或视图, 也可链接到一列或多列 可能会触发过程 使用 DBMS_FGA 程序包进行管理 策略:AUDIT_EMPS_SALARY SELECT name, salary FROM employees WHERE employees 版权所有 © 2006,Oracle。保留所有权利。 细粒度审计 进行数据库审计时会记录已发生的操作,但是不会捕获关于导致操作的语句的信息。细粒 度审计 (FGA) 扩展了审计功能,可捕获查询或处理数据的实际 SQL 语句。与标准数据库 审计或基于值数据库审计相比,FGA 可将重点审计的范围设置得比较窄。 可按表或视图中的单个列设置重点的 FGA 审计选项,FGA 审计选项设置可设置为条件选 项,以便只在符合特定管理员定义的规范时才捕获审计。FGA 策略支持多个相关列。默 认情况下,如果其中任何一列出现在 SQL 语句中,就会审计该列。通过使用 DBMS_FGA.ALL_COLUMNS 和 DBMS_FGA.ANY_COLUMNS,可根据句中是否使用了任何 或全部相关列来进行审计。 请使用 DBMS_FGA PL/SQL 程序包来创建目标表或视图的审计策略。如果查询块中返回 的任何行与审计列和指定的审计条件相匹配,那么审计事件会导致在审计线索中创建并存 储审计记录。或者,审计事件还可选择执行过程。FGA 会自动在语句级别设置审计重点, 所以一个会返回几千行的 SELECT 语句只会生成一条审计记录。 Oracle Database 10g:数据库管理 - 课堂练习 I 10-21 department_id = 10; FGA 策略 • • 定义: – 审计标准 – 审计操作 使用 DBMS_FGA .ADD_POLICY 创建的 dbms_fga.add_policy ( object_schema => 'HR', object_name => 'EMPLOYEES', policy_name => 'audit_emps_salary', audit_condition=> 'department_id=10', audit_column => 'SALARY', handler_schema => 'secure', handler_module => 'log_emps_salary', enable => TRUE, statement_types => 'SELECT' ); SELECT name, job_id FROM employees; SELECT name, salary FROM employees WHERE department_id = 10; employees SECURE.LOG_ EMPS_SALARY 版权所有 © 2006,Oracle。保留所有权利。 FGA 策略 幻灯片示例显示使用 参数: 策略名 DBMS_FGA.ADD_POLICY 过程创建的 FGA 策略。此过程接受下列 创建每个 FGA 策略时会指定其名称。幻灯片示例通过使用以下参数来命名 AUDIT_EMPS_SALARY 策略: policy_name => 'audit_emps_salary' 审计条件 审计条件是一个 SQL 谓词,用于定义审计事件必须触发的时间。在幻灯片示例中,通过 使用以下条件参数来审计部门 10 中的所有行: audit_condition => 'department_id = 10' 审计列 审计列定义了要审计的数据。如果此列包括在 SELECT 语句中或审计条件允许这种选择, 则会发生审计事件。幻灯片示例通过使用以下参数来审计两列: audit_column => 'SALARY,COMMISION_PCT' Oracle Database 10g:数据库管理 - 课堂练习 I 10-22 FGA 策略(续) 此参数是可选参数。如果未指定此参数,则只由 AUDIT_CONDITION 参数确定审计事件 是否必须发生。 对象 对象是要审计的表或视图。可通过以下两个参数传递对象: • 包含对象的方案 • 对象的名称 幻灯片示例通过使用以下参数来审计 hr.employees 表: object_schema => 'hr' object_name => 'employees' 处理程序 可选事件处理程序是一个 PL/SQL 过程,用于定义在审计期间必须执行的任何附加操作。 例如,事件处理程序可向管理员发送一个警报页。如果未定义审计事件处理程序,则在审 计线索中插入审计事件条目。如果定义了审计事件处理程序,则在审计线索中插入审计条 目并且执行审计事件处理程序。 审计事件条目包括导致事件的 FGA 策略、执行 SQL 语句的用户、SQL 语句及其绑定变量。 可通过以下两个参数传递事件处理程序: • 包含 PL/SQL 程序单元的方案 • PL/SQL 程序单元的名称 幻灯片示例通过使用以下参数来执行 SECURE.LOG_EMPS_SALARY 过程: handler_schema => 'secure' handler_module => 'log_emps_salary' 默认情况下,审计线索总是将 SQL 文本和 SQL 绑定信息写到 LOB。默认设置可以更改 (例如,系统遇到性能下降情况时)。 状态 状态指示是否启用了 FGA 策略。在幻灯片示例中,以下参数用于启用此策略: enable => TRUE Oracle Database 10g:数据库管理 - 课堂练习 I 10-23 审计的 DML 语句:注意事项 • • • 如果满足 FGA 谓词并且引用了相关列,则会审计记录 不管指定列是什么,都会审计 DELETE 语句 会审计 MERGE 语 句以及基础 INSERT 或 UPDATE 生成 语句 UPDATE hr.employees SET salary = 10 WHERE commission_pct = 90; UPDATE hr.employees SET salary = 10 WHERE employee_id = 111; 版权所有 © 2006,Oracle。保留所有权利。 审计的 DML 语句:注意事项 使用为 DML 语句定义的 FGA 策略时,如果要处理的数据行(包括新行和旧行)符合策 略谓词标准,就会审计 DML 语句。 但是,如果同时在策略定义中指定了相关列,当数据符合 FGA 策略谓词并且语句引用了 定义的相关列时,就会审计语句。 对于 DELETE 语句,在定义策略期间指定相关列是没有用的,这是因为 DELETE 语句会 访问表中的所有列。因此,不管相关列是什么,总是要审计 DELETE 语句。 FGA 支持 MERGE 语句。如果基础 INSERT 或 UPDATE 语句符合任何定义的 INSERT 或 UPDATE FGA 策略,则会审计这些语句。 使用以前定义的 FGA 策略时,会审计第一个语句而不审计第二个语句。 Oracle Database 10g:数据库管理 - 课堂练习 I 10-24 FGA 准则 • • 要审计所有语句,请 使用 策略名必须唯一 null 条件 • • • • 创建策略时,审计的 表或视图必须已经存在 如果审计条件语法无 效,则访问审计对象时 会发生 ORA-28112 错误 如果表中不存在审计 的列,则不会审计任 何行 如果事件处理程序不 存在,则不会返回任 何错误但仍会 创建审计记录 版权所有 © 2006,Oracle。保留所有权利。 FGA 准则 对于 SELECT 语句,FGA 会捕获语句本身而不是实际行。但是,FGA 与闪回查询组合在一 起时,会按实际行在该时间点存在的形式重新构造这些行。 有关闪回查询的详细信息,请参阅“执行闪回”一课。 有关 DBMS_FGA 程序包的详细信息,请参阅《Oracle 数据库 PL/SQL 程序包和类型参考》。 Oracle Database 10g:数据库管理 - 课堂练习 I 10-25 具有 SYSDBA 或 DBA 审计 SYSOPER 权 限的用户可在 > 要求 最少权限 审计 FGA DBA 安全性更新 关闭数据库时 进行连接。 • 审计线索必须存储在 数据库外部 • 总是审计以 SYSDBA 或 SYSOPER 身份进行的连接 • 可使用 audit_sys_o perations 启用 SY SDBA 或 SYSOPER 操作的附加 审计 • 可使用 audit_file_d est 控制审计线索 版权所有 © 2006,Oracle。保留所有权利。 DBA 审 计 SYSDBA 和 SYSOPER 用户有权启动和关闭数据库。因为关闭数据库时这些用户可能做了 更改,所以这些权限的审计线索必须存储在数据库外部。Oracle 数据库会自动捕获 SYSDBA 和 SYSOPER 用户的登录事件。这为跟踪授权或未授权 SYSDBA 和 SYSOPER 作提供了一种宝贵方法,但只在复查操作系统审计线索时才有用。 操 除非专门启用了审计,否则 Oracle 数据库只会捕获登录事件。通过设置初始化参数可启 用 SYSDBA 和 SYSOPER 用户的审计: audit_sys_operations=TRUE(默认设置为 FALSE。) 如果审计了 SYS 操作,audit_file_dest 初始化参数则会控制审计记录的存储位置。 在 Windows 平台上,默认情况下,审计线索存储在 Windows 事件日志中。在 UNIX 或 Linux 平台上,审计记录存储在 $ORACLE_HOME/rdbms/audit 中。 Oracle Database 10g:数据库管理 - 课堂练习 I 10-26 基于值 维护审计线索 应该维护审计 线索。遵循下列最佳方 案准则: • 复查和存储旧记录 • 避免出现存储问题 • 避免记录丢失 版权所有 © 2006,Oracle。保留所有权利。 维护审计线索 必须维护每种类型的审计线索。基本维护必须包括复查审计记录及删除数据库或操作系统中 的较旧记录。审计线索会不断增长,可填满可用存储空间。如果文件系统已满,系统可能会 崩溃或只是导致出现性能问题。如果数据库审计线索填满了表空间,则不能完成审计的操作。 如果审计线索填满了系统表空间,在审计操作停止之前,其它操作的性能会受到影响。 标准审计的审计线索存储在 AUD$ 表中。FGA 的审计线索存储在 FGA_LOG$ 表中。默认情况 下,这两个表都是在 SYSTEM 表空间中创建的。通过使用导出和导入实用程序可将这两个表 移到另一表空间中。 注:不支持将审计表移到 SYSTEM 表空间外部。 在从审计表中删除记录过程中,可能会丢失审计记录。 最佳方案提示:请根据时间戳使用导出实用程序,然后根据同一时间戳删除审计线索中的行。 Oracle Database 10g:数据库管理 - 课堂练习 I 10-27 • 安全更新 Oracle 在以下网址的 Oracle Technology Network Web 站点上公布了 安全警报: > 要求 最少权限 审计 基于值 FGA DBA 安全性更新 • http://www.oracle.com/technology/deploy/security/alerts.htm Oracle 数据库管理员和开发人 员通过单击 “Subscribe to Security Alerts Here”链接进行预订 后可通过电子邮件得 到有关严重安全警报的 通知。 版权所有 © 2006,Oracle。保留所有权利。 安全更新 Oracle 安全警报包含关于安全漏洞的简要描述、风险评估及与漏洞相关的泄漏程度、适用 的解决方法或补丁程序。使用 Enterprise Manager 可管理补丁程序。Oracle 会就个人或机 构已得到有关安全漏洞的通知进行确认。 在 Oracle Technology Network Web 站点和 Oracle MetaLink 上会公布安全警报。尽管安全 警报是向关心这些警报的所有人公布的,但是只有拥有当前客户支持标识 (CSI) 号的客户 才能下载补丁程序。 Oracle 感谢您通过提示、填写有关潜在安全漏洞的机密通知来配合我们保护产品的安全。 如果您发现任何 Oracle 产品有安全漏洞,请通过 MetaLink 提交服务请求或将电子邮件发 送到 secalert_us@oracle.com 来通知 Oracle。 Oracle Database 10g:数据库管理 - 课堂练习 I 10-28 应用安全补丁程序 • • • 使用关键补丁程序更 新进程 应用所有安全补丁程 序和解决方法 与 Oracle 负责产品安全的 团队联系 版权所有 © 2006,Oracle。保留所有权利。 应用安全补丁程序 关键补丁程序更新 (CPU) 方案 Oracle 在 2005 年 1 月启动了 CPU 方案。此方案按季度将关键补丁程序捆绑在一起。此方 案取代了安全警报补丁程序的发布。这些补丁程序是累积性补丁程序,其中包括一般请求 需要的必备补丁程序。每个季度发布的补丁程序中还包含风险评估体系,可用于确定对站 点的影响和站点存在的安全风险。请参阅 MetaLink 注释:290738.1 “Oracle 关键补丁程 序更新方案一般常见问题解答”。必须预订 MetaLink 才能接收这些更新。 应用所有安全补丁程序和解决方法 总是对数据库所在的操作系统和 Oracle 软件以及所有已安装选件和组件应用所有相关的 最新安全补丁程序。 与 Oracle 负责产品安全的团队联系 如果您确信已经发现了 Oracle 软件中的安全漏洞,请按以下网址中“Security Alerts (安全警报)”链接提供的说明进行操作:http://otn.oracle.com 或 http://www.oracle.com/technology/deploy/security/alerts.htm Oracle Database 10g:数据库管理 - 课堂练习 I 10-29 小结 在本课中,应 该已经学会如何: • 说明 DBA 负责的安全工作 • 应用最少权限原则 • 启用标准数据库审计 • 指定审计选项 • 复查审计信息 • 维护审计线索 版权所有 © 2006,Oracle。保留所有权利。 Oracle Database 10g:数据库管理 - 课堂练习 I 10-30 练习概览:实施 Oracle 数据库安全性 本练习包含以 下主题: • 启用标准数据库审计 • 指定 HR.JOBS 表 的审计选项 • 更新表 • 复查审计信息 • 维护审计线索 版权所有 © 2006,Oracle。保留所有权利。 Oracle Database 10g:数据库管理 - 课堂练习 I 10-31 Oracle Database 10g: 数据库管理 - 课堂练习 I 第 II 卷 • 学生指南 D17090CN30 版本 3.0 2006 年 9 月 D46783 ® 作者 Tom Best M.J. Billings 技术撰稿者和审稿者 Anthony Woodell Barry Trute Celia Antonio Christine Jeal Donna Keesling Howard Bradley James Spiller Janet Stern Jean-Francois Verrier Joel Goodman John Hibbard Larry Baumann Magnus Isaksson M.J. Bryksa Paul Needham Pierre Labrousse Raza Siddiqui Sandra Cheevers Stefan Lindblad Stella Kister Steve Friedberg Steven Karam Sushma Jagannath Tammy Bednar 编辑 Navratan Singh Nita Pavitran Raj Kumar 版权所有 © 2005, Oracle。保留所有权利。 免责声明 本文档包含专有权信息,并受版权法和其它知识产权法的保护。您可以复制和打印本文 档供在 Oracle 培训课程中单独使用。不得以任何方式修改或变更本文档。除了在依照版 权法中制定的“合理使用”范围内使用本文档外,在未经 Oracle 明确授权的情况下,您 不得以全部或部分的形式使用、共享、下载、上载、复制、打印、显示、展示、再版、 发布、许可、张贴、传播或散布本文档。 本文档中包含的信息如有更改,恕不另行通知。如果您在本文档中发现任何问题,请书 面通知:Oracle University, 500 Oracle Parkway, Redwood Shores, California 94065 USA.。不能保证本文档中没有错误。 有限权利声明 如果将本文档交付给美国政府或代表美国政府使用本文档的任何人,请适用下列通知中 的规定: 美国政府权利 美国政府使用、修改、再版、发行、展示、显示或公开这些培训资料的权利必须遵守 Oracle 许可协议和(或)美国政府合同法中适用的条款。 商标声明 Oracle、JD Edw ards 和 PeopleSoft 是 Oracle 公司和(或)其分公司的注册商标。其 它名称可能是其各自拥有者的商标。 制图员 Satish Bettegowda Steve Elwood 出版商 Joseph Fernandez 目 录 前言 1 简 介 课程目标 建议日程表 1-2 1-3 课程目标 1-4 Oracle 产品和服务 1-5 Oracle Database 10g:“g”代表网 格 Oracle 数据库体系结构 1-8 数据库结构 1-9 Oracle 内存结构 1-10 进程结构 1-12 Oracle 实例管理 1-13 1-6 服务器进程 和数据库缓 冲区高速缓 存 物理数据库 结构 1-15 表空间和数 据文件 1-17 SYSTEM 和 SYSAUX 表空间 1-18 段、区和块 1-19 逻辑和物理 数据库结构 1-20 课程示例: HR 方案 1-22 1-14 2 数据库体系 结构:结构 化组件概要 小结 1-24 安 装 Oracle 数据库软件 课程目标 2-2 Oracle 数据库管理员的任务 2-3 用于管理 Oracle 数据库的工具 2-4 安装:系统 要求 2-6 检查系统要 求 2-7 灵活体系结 构 (OFA) 2-8 使用灵活体 系结构 2-9 设置环境变 量 2-11 1-23 Oracle Universal Installer (OUI) 2-13 安装 Oracle 软件 2-14 数据库配置 选项 2-15 执行配置脚 本 2-16 完成安装 2-17 高级安装选 项 2-18 安装选项: 无提示模式 2-19 小结 2-20 练习概览: 安装 Oracle 软件 2-21 iii 3 4 创 建 Oracle 数据库 课程目标 3-2 计划数据库 3-3 数据库:示 例 3-4 Database Configuration Assistant (DBCA) 3-5 使用 DBCA 创建数据库 3-6 口令管理 3-12 创建数据库 设计模板 3-13 使用 DBCA 删除数据库 3-14 小结 3-16 练习概览: 使用 DBCA 3-17 管 理 Oracle 实例 课程目标 4-2 管理框架 4-3 启动和停止 Database Control 4-4 Oracle Enterprise Manager 4-5 访问 Oracle Enterprise Manager 4-6 数据库主页 4-7 使用 SQL*Plus 和 iSQL*Plus 访问数据库 4-8 使用 iSQL*Plus 4-9 为了以 SYSDBA 和 SYSOPER 身份进行访问而设置 iSQL*Plus 4-10 使用 SQL*Plus 4-12 从 Shell 脚本调用 SQL*Plus 4-13 从 SQL*Plus 调用 SQL 脚本 4-14 初始化参数 文件 4-15 简化初始化 参数 4-16 查看和修改 初始化参数 4-18 数据库启动 和关闭 4-19 启动 Oracle 数据库实例 4-20 启动 Oracle 数据库实例:NOMOUNT 4-21 启动 Oracle 数据库实例:MOUNT 4-22 启动 Oracle 数据库实例:OPEN 4-23 关闭 Oracle 数据库实例 4-24 关闭模式 4-25 SHUTDOWN 选项 4-26 使用 SQL*Plus 启动和关闭 4-29 查看预警日 志 4-30 查看预警历 史记录 4-31 动态性能视 图 4-32 iv 动态性能视 图:用法 示例 动态性能视 图:注意 事项 小结 4-35 4-33 4-34 5 练习概览: 管理 Oracle 实例 管理数据库存储结构 课程目标 5-2 存储结构 5-3 如何存储表 数据 5-4 数据库块的 结构 5-5 表空间和数 据文件 5-6 Oracle 管理文件 (OMF) 5-7 表空间中的 空间管理 5-8 浏览存储结 构 5-9 创建新表空 间 5-10 本地管理表 空间的存 储 5-12 4-36 预配置数据 库中的表 空间 变更表空间 5-16 表空间操作 5-18 删除表空间 5-20 查看表空间 信息 5-21 采集存储信 息 5-22 查看表空间 内容 5-23 扩大数据库 5-24 什么是自动 存储管理 5-25 5-14 ASM:主要功能和优点 ASM:概念 5-27 小结 5-28 5-26 6 练习概览: 管理数据 库存储结构 管理用户安全性 课程目标 6-2 数据库用户 帐户 6-3 5-29 预定义帐户 :SYS 和 SYSTEM 创建用户 6-6 验证用户 6-7 管理员验证 6-9 6-5 解除用户帐 户的锁定 并重置口令 权限 6-11 系统权限 6-12 对象权限 6-14 6-10 v 撤销具有 ADMIN OPTION 的系统权限 撤销具有 GRANT OPTION 的对象权限 角色的作用 6-17 6-15 6-16 将权限分配 给角色以 及将角色分 配给用户 预定义角色 6-19 创建角色 6-20 保护角色 6-21 将角色分配 给用户 6-22 概要文件和 用户 6-23 实施口令安 全功能 6-25 创建口令概 要文件 6-27 6-18 7 提供的口令 验证函数 :VERIFY_FUNCTION 将限额分配 给用户 6-29 小结 6-31 练习概览: 管理用户 6-32 管理方案对象 课程目标 7-2 什么是方案 7-3 访问方案对 象 7-5 命名数据库 对象 7-6 指定表中的 数据类型 7-8 创建和修改 表 7-11 了解数据完 整性 7-13 定义约束条 件 7-15 违反约束条 件 7-16 约束条件状 态 7-17 约束条件检 查 7-19 使用 SQL 创建约束条 件:示例 7-20 查看表中的 列 7-21 查看表的内 容 7-22 表操作 7-23 删除表 7-24 截断表 7-25 索引 7-26 索引类型 7-27 B 树索引 7-28 位图索引 7-30 索引选项 7-32 创建索引 7-34 6-28 vi 什么是视图 7-35 创建视图 序列 7-37 创建序列 使用序列 7-36 7-38 7-40 临时表 7-41 临时表:注 意事项 7-43 数据字典: 概览 7-44 数据字典视 图 7-45 数据字典: 用法示例 小结 7-47 7-46 8 练习概览: 管理方案 对象 管理数据和并发处理 课程目标 8-2 通过 SQL 处理数据 8-3 INSERT 命令 8-4 UPDATE 命令 8-5 DELETE 命令 8-6 MERGE 命令 8-7 7-48 COMMIT 和 ROLLBACK 命令 PL/SQL 8-10 管理 PL/SQL 对象 8-11 PL/SQL 对象 8-12 函数 8-13 过程 8-14 程序包 8-15 程序包说明 和程序包 体 8-16 内置程序包 8-17 触发器 8-18 触发事件 8-19 锁定 8-20 锁定机制 8-21 数据并发处 理 8-22 DML 锁定 8-24 入队机制 8-25 锁定冲突 8-26 锁定冲突的 可能原因 8-27 检测锁定冲 突 8-28 解决锁定冲 突 8-29 8-9 vii 使用 SQL 解决锁定冲 突 死锁 8-31 小结 8-32 8-30 9 10 练习概览: 管理数据 和并发处理 管理还原数据 课程目标 9-2 数据操纵 9-3 还原数据 9-4 事务处理和 还原数据 9-6 存储还原信 息 9-7 还原数据与 重做数据 9-8 监视还原 9-9 管理还原 9-11 配置还原保 留期 9-12 确保还原保 留期 9-13 调整还原表 空间的大 小 9-14 使用还原指 导 9-15 小结 9-16 练习概览: 管理还原 段 9-17 实施 Oracle 数据库安全性 课程目标 10-2 业界安全性 要求 10-3 责任分离 10-5 数据库安全 性 10-6 最少权限原 则 10-8 应用最少权 限原则 10-9 监视可疑活 动 10-11 标准数据库 审计 10-12 启用审计 10-13 统一审计线 索 10-14 8-33 Enterprise Manager 审计页 指定审计选 项 10-17 使用和维护 审计信息 10-18 基于值审计 10-19 细粒度审计 10-21 FGA 策略 10-22 审计的 DML 语句:注意事项 FGA 准则 10-25 DBA 审计 10-26 10-16 10-24 viii 维护审计线 索 10-27 安全更新 10-28 应用安全补 丁程序 小结 10-30 10-29 11 练习概览: 实施 Oracle 数据库安全性 配置 Oracle 网络环境 课程目标 11-2 Oracle Net Services 11-3 Oracle Net Listener 11-4 建立网络连 接 11-5 建立连接 11-6 用户会话 11-7 10-31 配置和管理 Oracle Network 的工具 监听程序控 制实用程 序 11-9 11-8 监听程序控 制实用程 序的语法 监听程序主 页 11-12 网络服务管 理页 11-13 创建监听程 序 11-14 添加监听程 序地址 11-15 数据库服务 注册 11-16 命名方法 11-17 简便连接 11-18 本地命名 11-19 目录命名 11-20 外部命名方 法 11-21 配置服务别 名 11-22 高级连接选 项 11-23 测试 Oracle Net 连接性 11-25 用户会话: 专用服务 器 11-26 用户会话: 共享服务 器 11-27 SGA 和 PGA 11-28 共享服务器 :连接共 享 11-29 11-10 不能使用共 享服务器 的情况 小结 11-31 11-30 练习概览: 使用 Oracle Network 组件 11-32 ix 12 主 动维护 课程目标 主动维护 术语简介 12-2 12-3 12-4 优化程序统 计信息 12-5 使用管理优 化程序统 计信息页 统计信息级 别 12-9 12-7 自动工作量 资料档案 库 (AWR) 12-10 AWR 基础结构 12-11 AWR 快照集 12-12 Enterprise Manager 和 AWR 12-13 管理 AWR 12-14 数据库自动 诊断监视 程序 (ADDM) 12-15 ADDM 查找结果 12-16 ADDM 建议案 12-17 指导框架 12-18 Enterprise Manager 和指导 12-20 DBMS_ADVISOR 程序包 12-21 服务器生成 的预警 12-22 服务器生成 的默认预 警 12-23 设置阈值 12-24 创建和测试 预警 12-25 预警通知 12-26 对预警作出 响应 12-28 预警类型和 清空预警 12-29 自动维护任 务 12-30 小结 12-31 练习概览: 主动维护 12-32 13 性 能管理 课程目标 13-2 性能监视 13-3 性能监视: 顶级会话 13-7 性能监视: 顶级服务 13-8 SQL 优化指 导:概览 13-9 SQL 优化指 导选项和 建议案 13-10 使用 SQL 优化指导 13-11 使用 SQL 优化指导: 示例 13-12 SQL 优化指 导:SQL 统计信息 13-14 SQL 优化指 导:确定 重复的 SQL 13-15 x 使用 SQL 访问指导 13-16 管理内存组 件 13-18 14 启用自动共 享内存管 理 (ASMM) 13-19 手动设置共 享内存管 理 13-21 使用内存指 导 13-22 动态性能统 计信息 13-24 故障诊断和 优化视图 13-26 无效和不可 用对象 13-27 小结 13-29 练习概览: 监视和改 进性能 13-30 备份和恢复的概念 课程目标 14-2 部分工作内 容 14-3 故障类别 14-4 语句错误 14-5 用户进程错 误 14-6 网络故障 14-7 用户错误 14-8 实例错误 14-10 后台进程和 恢复:检 查点 (CKPT) 14-11 后台进程和 恢复:重 做日志文件 和 LogWriter 14-12 后台进程和 恢复:归 档程序 (ARCn) 14-13 实例恢复 14-14 实例恢复的 阶段 14-15 优化实例恢 复 14-16 使用 MTTR 指导 14-17 介质故障 14-18 配置可恢复 性 14-19 控制文件 14-20 重做日志文 件 14-21 多路复用重 做日志 14-22 归档日志文 件 14-23 归档日志文 件:命名 和目的地 14-24 ARCHIVELOG 模式 14-26 小结 14-27 练习概览: 配置可恢 复性 14-28 xi 15 执 行数据 库备份 课程目标 15-2 备份解决方 案:概览 Oracle Secure Backup 用户管理的 备份 术语 15-6 15-3 15-4 15-5 Recovery Manager (RMAN) 15-8 配置备份设 置 15-9 计划备份: 策略 15-11 计划备份: 选项 15-12 计划备份: 设置 15-13 计划备份: 计划 15-14 计划备份: 复查 15-15 将控制文件 备份到跟 踪文件 15-16 管理备份 15-18 快速恢复区 15-19 小结 15-20 练习概览: 创建数据 库备份 15-21 16 执 行数据 库恢复 课程目标 16-2 打开数据库 16-3 更改实例状 态 16-5 使数据库保 持打开状 态 16-6 丢失了控制 文件 16-7 丢失了重做 日志文件 16-8 在 NOARCHIVELOG 模式下丢失了数据文件 16-9 在 ARCHIVELOG 模式下丢失了非关键数据文件 16-10 在 ARCHIVELOG 模式下丢失了系统关键数据文件 小结 16-12 练习概览: 执行数据 库恢复 16-13 17 执 行闪回 课程目标 17-2 闪回技术: 优点 17-3 何时使用闪 回技术 17-4 闪回任何错 误 17-5 闪回数据库 :概览 17-6 闪回数据库 :减少还 原时间 17-7 闪回数据库 :注意事 项 17-8 闪回数据库 :限制 17-9 启用闪回数 据库 17-10 xii 16-11 闪回表:概 览 闪回表 17-12 17-11 对表启用行 移动 17-13 执行闪回表 17-14 闪回表:注 意事项 17-16 闪回删除: 概览 17-17 通过 Enterprise Manager 闪回已删除的表 闪回删除: 注意事项 17-19 闪回时间浏 览 17-20 闪回查询: 概览 17-21 闪回查询: 示例 17-22 闪回版本查 询:概览 17-23 17-18 通过 Enterprise Manager 执行闪回版本查询 闪回版本查 询:注意 事项 17-25 闪回事务处 理查询: 概览 17-26 17-24 18 通过 Enterprise Manager 执行闪回事务处理查询 闪回事务处 理查询: 注意事项 17-28 小结 17-29 练习概览: 使用闪回 17-30 移动数据 课程目标 18-2 移动数据: 一般体系 结构 18-3 目录对象: 概览 18-4 创建目录对 象 18-5 SQL*Loader:概览 18-6 使用 SQL*Loader 加载数据 18-8 SQL*Loader 控制文件 18-9 加载方法 18-11 数据泵:概 览 18-13 数据泵:优 点 18-14 数据泵导出 和导入: 概览 18-15 数据泵实用 程序:接 口与模式 18-16 细粒度级对 象的选择 18-17 高级功能: 取样率 18-18 导出选项: 文件 18-19 数据泵文件 位置 18-20 计划和运行 作业 18-22 数据泵文件 的命名和 大小 18-23 17-27 xiii 数据泵导入 18-24 数据泵导入 :转换 18-25 数据泵:性 能注意事 项 性能初始化 参数 18-28 18-27 数据泵访问 路径:注 意事项 18-29 使用 Oracle Enterprise Manager 监视数据泵作业 外部表填充 18-31 使用外部表 18-32 使用 ORACLE_DATAPUMP 填充外部表 18-33 使用 ORACLE_LOADER 填充外部表 18-34 数据字典 18-35 小结 18-36 练习概览: 移动数据 18-37 附录 A:练习 附录 B:解答 附录 C:基本 Linux 和 vi 命令 附录 D:SQL 语句语法 附录 E:缩写和术语 附录 F:接下来的步骤继续学习 索引 18-30 xiv 前言 配置文件 学习本课程的条件 在学习本课程之前,应已具备以下条件: • 具备使用 SQL 的实践经 验 本课程是如何编排的 《Oracle Database 10g:数据库管理 - 课堂练习Ⅰ》是一门 由教师引导 、讲练结 合的培训课 程。联机 演示和书面练习课时将进一步帮助您加强概念的理解和技能的掌握。 建议的后续课程 Oracle Database 10g:数据库管理 - 课堂练习Ⅱ (D17092GC30) 前言 - 3 相关出版物 Oracle 出版物 标题 Oracle 数据库管理员 10g(两天教程),发行版 2 (10.2) Oracle 数据库管理员指南 10g,发行版 2 (10.2) Oracle Database Backup and Recovery Basics 10g Release 2 (10.2) Oracle Database Concepts 10g Release 2 (10.2) Oracle Database Licensing Information 10g Release 2 (10.2) Oracle Database Net Services Administrator's Guide 10g Release 2 (10.2) Oracle Database Net Services Reference 10g Release 2 (10.2) Oracle Database New Features Guide 10g Release 2 (10.2) Oracle Database Performance Tuning Guide 10g Release 2 (10.2) Oracle Database PL/SQL Packages and Types Reference 10g Release 2 (10.2) Oracle Database PL/SQL User's Guide and Reference 10g Release 2 (10.2) Oracle Database Recovery Manager Quick Start Guide 10g Release 2 (10.2) Oracle Database Recovery Manager Reference 10g Release 2 (10.2) Oracle Database Security Guide 10g Release 2 (10.2) Oracle Database SQL Quick Reference 10g Release 2 (10.2) Oracle Database SQL Reference 10g Release 2 (10.2) 部件号 B14196-01 B14231-01 B14192-01 B14220-01 B14199-01 B14212-01 B14213-01 B14214-01 B14211-01 B14258-01 B14261-01 B14193-01 B14194-01 B14266-01 B14195-01 B14200-01 其它出版物 • 系统版本说明 • 安装和用户指南 • 自述文件 • International Oracle Users Group (IOUG) 文章 • Oracle 杂志 前言 - 4 印刷约定 文本印刷约定 前言 - 5 惯例 要素 示例 粗体 仅限于 Web 内容中强 调的词和短语 要在该应用产品中进行浏览,请不要单击 “前进”或“后退”按钮。 粗斜体 词汇表术语(如果有词 汇表) 此算法将插入新的键值。 方括号 按键名 按 [Enter] 键。 大小写 按钮、 复选框、 触发器、 窗口 单击“Executable”按钮。 选中“Can’t Delete Card”复选框。 为 ORD 模块指定“When-Validate-Item”触 发器。 打开“Master Schedule”窗口。 尖括号 菜单路径 选择“文件 > 保存”。 逗号 按键顺序 同时按下然后松开以下键:[Alt], [F], [D] Courier New 字 体、区分大小 写(默认值为 小写) 代码输出、 目录名、 文件名、 口令、 路径名、 用户输入、 用户名 代码输出:debug.set (‘I', 300); 目录:bin (DOS)、$FMHOME (UNIX) 文件名找到 init.ora 文件。 口令:将用户 tiger 作为口令。 路径名:打开 c:\my_docs\projects 用户输入:输入 300 用户名:以 cbaker 用户身份登录 首字母大写 图形标签(除非术语是 专有名词) 客户地址(Oracle Payables 除外) 斜体 强调的词和短语、 书名和课程名、 变量 请不要将更改保存到数据库。 更多信息,请参见《Oracle Database SQL Reference 10g Release 1(10.1)》 输入 user_id@us.oracle.com,其中 user_id 为用户名称。 印刷约定(续) 文本印刷约定(续) 代码印刷约定 items.DELETE(3); 前言 - 6 惯例 要素 示例 引号 具有长名称且只有首 字母大写的界面元 素;交叉引用的课程 标题和章节标题 请选择“Include a reusable module component”, 然后单击“完成”。该主题在第 3 课“使用对象” 的第二单元中介绍。 大写 SQL 列名、命令、函 数、方案、表名、数 据库触发器名 使用 SELECT 命令来查看存储在 EMPLOYEES 表 的 LAST_NAME 列中的信息。 惯例 要素 示例 小写 列名、表名、数据 库触发器名 SELECT last_name FROM employees; CREATE OR REPLACE TRIGGER secure_employees 口令 CREATE USER scott IDENTIFIED BY tiger; PL/SQL 对象 小写斜体 语法变量 CREATE ROLE role 大写 SQL 命令和函数 SELECT first_name FROM employees; 印刷约定(续) 定位路径印刷约定 本课程使用如下所示的简化定位路径来引导您使用 Oracle 应用产品。 示例: 发票批汇总 (N) 发票 > 输入 > 发票批汇总 (M) 查询 > 查找 (B) 审批 该简化路径的含义如下: 1. (N) 从“浏览器”窗口,依次选择“发票”、“输入”、“发票批汇总”。 2. (M) 从菜单上,选择“查询”,然后选择“查找”。 3. (B) 单击“审批”按钮。 符号: (N) = 浏览器 (I) = 图标 (M) = 菜单 (H) = 超级链接 (T) = 标签 (B) = 按钮 前言 - 7 配置 Oracle 网络环境 版权所有 © 2006,Oracle。保留所有权利。 资源 • • 《Oracle 数据库网络服务管理员指南 10g 发行版 2 (10.2)》(书号:B14212-01) 《Oracle 数据库网络服务参考 10g 发行版 2 (10.2)》(书号:B14213-01) Oracle Database 10g:数据库管理 - 课堂练习 I 11-2 课程目标 学 完本课后,应能完成以 下工作: • 使用 Enterprise Manager 来: – 创建其它监听程序 – 创建 Oracle Net Service 别名 – 配置连接时故障转移 – 控制 Oracle Net Listener • 使用 tnsping 测试 Oracle Net 的连接性 • 确定何时使用共享服务器与专用服务器 版权所有 © 2006,Oracle。保留所有权利。 Oracle Net Services 应用程序 Oracle Net 客户机或中间层 TCP/IP 网络 监听程序 RDBMS Oracle Net 数据库服务器 Oracle Net 配置文件 Oracle Net 配置文件 版权所有 © 2006,Oracle。保留所有权利。 Oracle Net Services 使用 Oracle Net Services 可建立从客户机或中间层应用程序到 Oracle 服务器的网络连接。建 立网络会话之后,Oracle Net 充当客户机应用程序与数据库服务器的数据信使。它负责建立 并维护客户机应用程序和数据库服务器之间的连接,以及在二者之间交换消息。Oracle Net 或 Oracle Net 的模拟程序,如 Java 数据库连接 (JDBC),位于需要与数据库服务器建立会话 的每台计算机上。 在客户机计算机上,Oracle Net 是一个用于连接到数据库的后台组件。 在数据库服务器上,Oracle Net 包括一个称为监听程序的活动进程。Oracle Net Listener 负 责协调数据库与外部应用程序之间的连接。 Oracle Net Services 最常见的用法是传入数据库连接。通过配置其它的网络服务,可允许访 问外部代码库 (EXTPROC),可通过 Oracle Heterogeneous Services 将 Oracle 实例连接到非 Oracle 数据源,如 Sybase、Informix、DB2 和 SQL Server。 Oracle Database 10g:数据库管理 - 课堂练习 I 11-3 Oracle Net Listener Enterprise Manager Database Control 监听程序 Oracle 数据库 Oracle Net 配置文件 /network/admin/listener.ora sqlnet.ora 版权所有 © 2006,Oracle。保留所有权利。 Oracle Net Listener Oracle Net Listener 是所有非本地用户连接到 Oracle 实例的网关。单个监听程序可用于多个 数据库实例以及成千上万个客户机连接。 Enterprise Manager 是访问监听程序的一种方式。可以控制实际监听程序以及类似口令保护 和日志文件位置等一般参数的配置。 高级管理员还可以根据需要,通过使用标准操作系统 (OS) 文本编辑器(如 vi 或 gedit) 手动编辑配置文件来配置 Oracle Net Services。 Oracle Database 10g:数据库管理 - 课堂练习 I 11-4 建立网络连接 如果要让应用程序通过 Oracle Net Listener 连接到某服务,应用程序必须拥有关于该服务的 信息,包括监听程序所驻留的地址或主机、监听程序接受的协议,以及监听程序监视的端 口。确定监听程序的位置之后,应用程序所需的最后一项就是所要连接到的服务名。 确定此连接信息的进程被称为“名称解析”。 Oracle Database 10g:数据库管理 - 课堂练习 I 11-5 建立网络连接 要建立客户机或中间层连接,Oracle Net 要求客户 机了解 下 列事项: • 运行监听程序的主机 • 监听程序监视的端口 • 监听程序使用的协议 • 监听程序 处理的服务名 名称解析 版权所有 © 2006,Oracle。保留所有权利。 建立连接 传入连接请求 监听程序 版权所有 © 2006,Oracle。保留所有权利。 建立连接 Oracle Net Names Resolution 完成之后,连接请求会从用户或中间层应用程序(以下称为 用户进程)传递到 Oracle Net Listener。监听程序会接收一个连接数据包,之后会检查这 个连接数据包请求的 Oracle Net 服务名是否有效。 如果未请求服务名(例如,tnsping 请求),监听程序会通知连接请求,此 外不执行任 何其它操作。如果请求的服务名无效,监听程序会向用户进程传输一个错误代码。 Oracle Database 10g:数据库管理 - 课堂练习 I 11-6 用户会话 服务器进程 用户会话 PGA 用户进程 监听程序 版权所有 © 2006,Oracle。保留所有权利。 用户会话 如果连接数据包请求的服务名有效,监听程序会衍生一个新进程来处理连接。这个新进程 被称为“服务器进程”。监听程序会连接到服务器进程,并向服务器进程传递初始化信息, 其中包括用户进程的地址信息。此时,监听程序不再处理连接,所有工作都会传递到服务 器进程。 服务器进程会检查用户的验证身份证明(通常为口令),如果身份证明有效,就会创建用 户会话。 专用服务器进程:建立会话之后,服务器进程充当用户在服务器上的代理。服务器进程 负责: • 分析和运行通过应用程序发布的任何 SQL 语句 • 检查数据块执行 SQL 语句所需的数据库缓冲区高速缓存 • 从磁盘数据文件中读取必要的数据块,如果 SGA 中尚未存在数据块,就将其传入系 统全局区 (SGA) 的数据库缓冲区高速缓存部分 • 管理所有排序活动。所谓的程序全局区 (PGA) 是服务器进程中的一部分,其中包含 一个称为排序区域的内存区,这个内存区用于处理排序 • 将结果返回到用户进程,这样应用程序可以处理信息 • 读取审计选项并将用户进程报告到审计目标 Oracle Database 10g:数据库管理 - 课堂练习 I 11-7 配置和管理 Oracle Network 的工具 可以使用以下任一工具或应用程序管理 Oracle Network 配置: • Enterprise Manager:提供了配置和管理 Oracle Net Services 的集成环境。使用 Enterprise Manager 可在跨多个文件系统的任何 Oracle 主目录中配置 Oracle Net Services,还可配置 Oracle Net Services 来管理监听程序。 • Oracle Net Manager:提供一个图形用户界面 (GUI) ,通过这个界面可在本地客户机 或服务器主机的 Oracle 主目录中配置 Oracle Net Services。 • Oracle Net Configuration Assistant:安装 Oracle 软件时通过 Oracle Universal Installer 来启动。使用 Oracle Net Configuration Assistant 可配置 Oracle 数据库的监听协议地址 和服务信息。 • 命令行:用于启动、停止监听程序进程或查看监听程序进程的状态。由操作系统用户 (在本程中为 Oracle)启动或停止监听程序。如果未启动监听程序,则不能使用 Enterprise Manager。 Oracle Database 10g:数据库管理 - 课堂练习 I 11-8 配置和管理 Oracle Network 的工具 • Enterprise Manager 的“Net Services Administration (网络 服务管理)”页 • Oracle Net Manager • 由 Oracle Universal Installer 启动的 Oracle Net Configuration Assistant • 命令行 版权所有 © 2006,Oracle。保留所有权利。 监听程序控制实用程序 可以使用命令行 ls nrctl 实用程序(或 通过 EM) 控制 Oracle Net 监听程序 $lsnrctl LSNRCTL for Linux: Version 10.2.0.0.0 on 12-MAY-2005 13:27:51 Copyright (c) 1991, 2004, Oracle.All rights reserved. Welcome to LSNRCTL, type "help" for information. LSNRCTL> help The following operations are available An asterisk (*) denotes a modifier or extended command: start stop status services version reload save_config trace spawn change_password quit exit set* show* 版权所有 © 2006,Oracle。保留所有权利。 监听程序控制实用程序 启动实例时,监听程序进程会建立一个指向 Oracle 数据库的通信路径。随后,监听程序 可接受数据库连接请求。 使用监听程序控制实用程序可控制监听程序。使用 lsnrctl 时,可以 : • 启动监听程序 • 停止监听程序 • 检查监听程序的状态 • 根据配置文件参数重新初始化监听程序 • 动态配置多个监听程序 • 更改监听程序口令 这个实用程序的基本命令语法为: LSNRCTL> command [listener_name] 发布 lsnrctl 命令时,如果没有指定其它的监听程序 名称或执行 SET CURRENT_LISTENER 命令,这个命令就充当默认的监听程序(名为“LISTENER”)。 如果监听程序名为 LISTENER,则可省略 listener_name 参数。 幻灯片中显示了 lsnrctl 的有效命令 。 Oracle Database 10g:数据库管理 - 课堂练习 I 11-9 监听程序控制实用程序的语法 可 以从命令行或 序 中的命令 LSNRC TL 提示符发布监听 程序控制实用程 • • UNIX 或 Linux 命令行语法: $ lsnrctl •$ lsnrctl • start status • 提示符语 法: LSNRCTL> LSNRCTL> start LSNRCTL> status 版权所有 © 2006,Oracle。保留所有权利。 监听程序控制实用程序的语法 可以从实用程序内部(提示符语法)或命令行发布 相同 - 第一个使用命令行语法: $ lsnrctl start 第二个使用提示符语法: $ lsnrctl lsnrctl 命令。下面两个命令 的效果 LSNRCTL for Linux: Version 10.2.0.0.0 on 12-MAY-2005 Copyright (c) 1991, 2004, Oracle.All rights reserved. Welcome to LSNRCTL, type "help" for information. LSNRCTL> start 通常,命令行语法用于执行单个命令或脚本命令。如果计划执行若干个连续的 lsnrctl 命令,提示符语法最为有效。注意:listener_name 参数已省略,因此 stop 命令会影 响名为 LISTENER 的监听程序。如果监听程序受到口令的保护,则必须使用提示符语法。 Oracle Database 10g:数据库管理 - 课堂练习 I 11-10 $ lsnrctl 监听程序控制实用程序的语法(续) 请记住,如果监听程序名称不是 LISTENER,在语法中必须包含监听程序名称与命令,或 者使用 SET CURRENT_LISTENER 命令。假定监听程序名为 BACKUP。以下是使用提示 符语法停止名为 BACKUP 的监听程序的两个示例。 LSNRCTL> stop backup Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rhel)(PORT=5521))) The command completed successfully 这个语法和下一个语法产生的结果相同: LSNRCTL> set cur backup Current Listener is backup LSNRCTL> stop Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rhel)(PORT=5521))) The command completed successfully 注:在上面的语法中,current_listener 已缩写为 cur。 使用命令行语法也可获得相同的结果: /home/oracle> lsnrctl stop backup LSNRCTL for Linux:Version 10.2.0.0.0 on 12-MAY-2005 15:19:33 Copyright (c) 1991, 2004, Oracle.All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rhel)(PORT=5521))) The command completed successfully Oracle Database 10g:数据库管理 - 课堂练习 I 11-11 监听程序主页 版权所有 © 2006,Oracle。保留所有权利。 监听程序主页 单击 Enterprise Manager 中的“Database(数据库)”主页上的“Listener(监听程序)” 链接可访问“Listener(监听程序)”主页。 在此页上,可看到: • 最近 24 小时内监听程序的状态和可用性 • 监听程序版本和 Oracle 主页 • 监听程序的第一个监听地址 • 用于启动监听程序的配置文件的位置 • 监听程序的启动时间和主机信息 要启动监听程序,请转到“Datab ase(数据库)”主页,单击监听程序名称可打开 “Listener(监听程序)”主页。单击“Stop(停止)”可停止运行的监听程序;如果监听 程序未运行,单击“Start(启动)”可启动监听程序。请以可启动和停止监听程序的操作 系统用户身份登录到主机。 Oracle Database 10g:数据库管理 - 课堂练习 I 11-12 网络服务管理页 版权所有 © 2006,Oracle。保留所有权利。 网络服务管理页 使用“Net Services Administration(网络服务管理)”页可在跨多个文件系统的任何 Oracle 主目录中配置 Oracle Net Services。此页还提供管理监听程序的公用管理功能。可以使用 “Net Services Administration(网络服务管理)”页配置和管理以下各项: • 监听程序:可以添加、删除、启动和停止监听程序,还可更改其跟踪特性和事件记录 特性。此外,还可查看监听程序的控制状态报表。 • 目录命名:可以定义简单的名称和连接标识符,并将定义的内容映射至连接描述符以 确定网络位置和服务标识。将数据库服务、网络服务和网络服务别名保存到集中式目 录服务中。 • 本地命名:将网络服务名称保存在 tnsnames.ora 文件中。 • 概要文件:配置 sqlnet.ora 参数。 • 文件位置:更改 Net Services 配置文件的位置。 Oracle Database 10g:数据库管理 - 课堂练习 I 11-13 创建监听程序 1 2 3 4 版权所有 © 2006,Oracle。保留所有权利。 创建监听程序 要创建 Oracle Net Listener,请单击“Listener(监听程序)”属性页“Related Links(相关 链接)”区域中的“Net Services Administration(网络服务管理)”。请执行下面的步骤: 1. 从“Administer(管理员)”下拉列表中选择“Listeners(监听程序)”,然后单击 “Go(执行)”。 2. 单击“Create(创建)”。 3. 输入一个监听程序名称。这个名称在此服务器上必须是唯一的。 4. 添加监听程序地址。每个监听程序必须至少有一个监听程序地址。 Oracle Database 10g:数据库管理 - 课堂练习 I 11-14 添加监听程序地址 5 6 7 版权所有 © 2006,Oracle。保留所有权利。 添加监听程序地址 下面继续介绍创建监听程序: 5. 选择网络协议。TCP/IP 是最常用的协议,也是默认协议 。可以选择其它协议,如 Internal Process Communication (IPC),这个协议一般用于连接到本地应用程序(驻留 于数据库服务器上),或者外部代码库 (EXTPROC)、命名管道 (NMP) 以及带有 SSL 的 TCP/IP。 注:使用“Other Services(其它服务)”标签可配置 NMP 和 EXTPROC 协议。 6. 输入监听程序要监视的端口。Oracle Net 的默认端口是 1521。如果选择使用 1521 之 外的端口,监听程序或实例还需要进行其它配置。 7. 输入监听程序将运行的服务器名称或 IP 地址。 8. 对监听程序而言,其它所有配置步骤都是可选项。单击“OK(确定)”保存地址。 唯一需要的配置是监听地址和名称。单击“OK(确定)”保存更改。 9. 要启动新监听程序,请从“Actions(操作)”下拉列表选择“Start/Stop(启动/停 止)”,然后单击“Go(执行)”。 Oracle Database 10g:数据库管理 - 课堂练习 I 11-15 数据库服务注册 版权所有 © 2006,Oracle。保留所有权利。 数据库服务注册 为了让监听程序将客户机连接转发到实例,监听程序必须了解实例名称以及实例的 ORACLE_HOME 的位置。监听程序可通过下列两种方式查找此信息: • 动态服务注册:Oracle8i、Oracle9i 和 Oracle Database 10g 实例会在启动数据库时使用 默认监听程序自动进行注册。默认监听程序不需要其它的监听程序配置。 • 静态服务注册:在 Oracle 数据库的早期版本中,不使用监听程序自动进行注册,因此, 要求监听程序配置文件包含一个监听程序为之提供服务的所有数据库服务的列表。在 较新版本中,如果存在以下情况,仍然可以选择使用静态服务注册: - 监听程序所在的端口不是默认的 1521,您又不想配置实例使用非默认端口进行 注册 - 应用程序要求进行静态服务注册 要添加静态数据库服务,请单击“Edit Listener(编辑监听程序)”页上的“Static Database Registration(静态数据库注册)”,然后单击“Add(添加)”按钮。输入服务名称(与全 局数据库名 . 相同)、ORACLE_HOME 路径和 SID (与实例名 相同)。单击“OK(确定)”。必须重新启动监听程序,这些更改才能生效。 Oracle Database 10g:数据库管理 - 课堂练习 I 11-16 命名方法 Oracle Net 支持以下几种命名方法: • 简便连接命名:使用简便连接命名方法,客户机可使用如下所示的 TCP/IP 连接字符 串(由主机名、可选端口和服务名组成)连接到 Oracle 数据库服务器: CONNECT username/password@host[:port][/service_name] 简便连接命名方法不需要进行配置。 • 本地命名:本地命名方法将连接描述符(由其网络服务名标识)存储在客户机中名 为 tnsnames.ora 的本地配置文件中。 • 目录命名:为了访问数据库服务,目录命名方法将连接标识符存储在符合轻型目录 访问协议 (LDAP) 的集中式目录服务器中。 • 外部命名:外部命名方法将网络服务名存储在支持的非 Oracle 命名服务中。支持的 第三方服务包括: - 网络信息服务 (NIS) 外部命名 - 分布式计算环境 (DCE) 单元目录服务 (CDS) Oracle Database 10g:数据库管理 - 课堂练习 I 11-17 命名方法 Oracle Net 支持多种解析连接信息的方法: • 简便连接命名:使用 TCP/IP 连接字符串 • 本地命名:使用本地配置文件 • 目录命名:使用符合 LDAP 的集中 式目录服务器 • 外部命名 :使用支持的非 Oracle 命 名服务 客户机/应用程序服务器 Oracle Net Oracle Net 配置文件 版权所有 © 2006,Oracle。保留所有权利。 简便连接 • • • • 默认情况 下已启用 不需要进 行客户机配置 仅支持 TCP/IP(无 SSL) 不支持高 级连接选项,如: – 连接时故障转移 – 源路由 – 负载平衡 SQL> CONNECT hr/hr@db.us.oracle.com:1521/dba10g 无 Oracle Net 配置文件 版权所有 © 2006,Oracle。保留所有权利。 简便连接 使用简便连接时,可提供 Oracle Net 连接所需的所有信息作为连接字符串的一部分。简便 连接的连接字符串采用以下形式: /@:/ 监听程序端口和服务名为可选项。如果未提供监听程序端口,Oracle Net 假定使用的是默 认端口 1521。如果未提供服务名,Oracle Net 假定连接字符串中提供的数据库服务名与主 机名是相同的。 假定监听程序使用 TCP 监听端口 1521,另外使用 SERVICE_NAMES=db 和 DB_DOMAIN=us.oracle.com 实例参数,则幻灯片中显示的连接字符串可简化为: SQL> connect hr/hr@db.us.oracle.com 注:SERVICE_NAMES 初始化参数可接受多个逗号分隔值。若要此方案其作用,这些值 中只能有一个必须为 db。 Oracle Database 10g:数据库管理 - 课堂练习 I 11-18 本地命名 • • • 需要客户 机名称解析文件 支持所 有的 Oracle Net 协议 支持高级 连接选项,如: – 连接时故障转移 – 源路由 – 负载平衡 SQL> CONNECT hr/hr@orcl Oracle Net 配置文件 版权所有 © 2006,Oracle。保留所有权利。 本地命名 使用本地命名时,用户可提供 Oracle Net 服务的别名。Oracle Net 会根据本地已知服务的 列表来检查别名,如果发现匹配名称,会将别名转换为主机、协议、端口和服务名。 本地命名的一个优势是,数据库用户仅需要记住简便连接所需的短别名,而不必记住很长 的连接字符串。 本地已知服务列表存储在文本配置文件中: /network/admin/tnsnames.ora。这是 tnsnames.ora 文件的默 认位置,但是,这个文件也可以位于使用 TNS_ADMIN 环境变量的其它位置。 如果组织的 Oracle Net 服务配置不经常更改,则适合使用本地命名。 Oracle Database 10g:数据库管理 - 课堂练习 I 11-19 目录命名 • • • 需要加 载了 Oracle Net 名称解析 信息的 LDAP: – Oracle Internet Directory – Microsoft Active Directory Services 支持所 有的 Oracle Net 协议 支持高级 连接选项 LDAP 目录 SQL> CONNECT hr/hr@orcl Oracle Net 配置文件 版权所有 © 2006,Oracle。保留所有权利。 目录命名 使用目录命名时,用户可提供 Oracle Net 服务的别名。Oracle Net 会根据外部已知服务的 列表来检查别名,如果发现匹配名称,会将别名转换为主机、协议、端口和服务名。与本 地命名一样,数据库用户只需要记住短别名。 目录命名的一个优势是,新服务名一添加到 LDAP 目录,这个服务名即可供用户连接使用。 使用本地命名时,数据库管理员 (DBA) 必须首先分发更新的 tnsnames.ora 文件(这些 文件包含已更改的服务名信息),用户才能够连接到新服务或修改过的服务。 如果组织的 Oracle Net 服务配置经常更改,则适合使用目录命名。 Oracle Database 10g:数据库管理 - 课堂练习 I 11-20 外部命名方法 外部命名方法将网络服务名存储在支持的非 Oracle 命名服务中。支持的第三方服务包括: • 网络信息服务 (NIS) 外部命名 • 分布式计算环境 (DCE) 单元目录服务 (CDS) 在概念上讲,外部命名类似于目录命名。 Oracle Database 10g:数据库管理 - 课堂练习 I 11-21 外部命名方法 • 使用支持 的非 Oracle 命名服务 • 包括: – 网络信息服务 (NIS) 外部命名 – 分布式计算环境 (DCE) 单元目录服务 (CDS) 非 Oracle 命名服务 Oracle Net 版权所有 © 2006,Oracle。保留所有权利。 配置服务别名 创建或编辑 版权所有 © 2006,Oracle。保留所有权利。 配置服务别名 要创建本地 Oracle Net 服务别名,请从“Administer(管理)”下拉列表选择“Local Naming(本地命名)”,然 后单击“Go(执行)”,再单击“Create(创建)”。 通过选择“Directory Naming(目录命名)”而不是“Local Naming(本地命名)”,可配 置目录命名的服务别名。 注:如果尚未配置目录命名,则不能选择“Directory Naming(目录命名)”选项。在 《Oracle 企业身份管理》课程以及《Oracle 高级安全管理》手册中对目录命名进行了论述。 在“Create Net Service Name(创建网络服务名) ”页的“Net Service Name(网络服务名)” 字段,输入一个唯一名称(这是用户使用此别名时要输入的名称)。输入要连接到的数据 库的服务名或系统标识符 (SID),然后单击“Add(添加)”按钮,输入服务名的地址。 对于地址,输入监听程序用于要连接到的服务的协议、端口和主机。 Oracle Database 10g:数据库管理 - 课堂练习 I 11-22 高级连接选项 Oracle Net 支持下列具有本 地和目录命名的高级连 接选项: • 连接时故 障转移 • 负载平衡 • 源路由 版权所有 © 2006,Oracle。保留所有权利。 高级连接选项 使用高级连接选项时,Oracle Net 可以充分利用监听程序的故障转移和负载平衡功能,以 及 Oracle Connection Manager 源路由功能。 如果启用了连接时故障转移,则别名中会列出两个或多个监听程序地址。如果第一个地址 不可用,则尝试使用第二个地址。Oracle Net 会始终按列出的顺序试用地址,直至遇到起 作用的监听程序,或者试用所有的地址失败后为止。 如果启用了负载平衡,Oracle Net 会随机从地址列表中选择一个地址。 源路由与 Oracle Connection Manager 一起使用。Oracle Connection Manager 可以充当进 行 Oracle Net 通信的代理服务器,从而使得 Oracle Net 通信可以安全地通过防火墙进行路由。 Oracle Net 将地址视为中继列表,首先连接到第一个地址,然后请求从第一个地址传递到 第二个地址,直至到达目标位置。它与故障转移或负载平衡的不同之处在于,每次进行连 接时都会用到所有的地址。 Oracle Database 10g:数据库管理 - 课堂练习 I 11-23 高级连接选项(续) 请注意,连接时故障转移和负载平衡有五个选项。这五个选项可以转换为: 选项 按顺序尝试每个地址,直至成功。 随机尝试每个地址,直至成功。 随机尝试所选的一个地址。 按顺序使用每一个地址,直至到达目标位置。 只使用第一个地址。 高级功能 故障转移 故障转移 负载平衡 负载平衡 源路由 无 Oracle Database 10g:数据库管理 - 课堂练习 I 11-24 测试 Oracle Net 连接性 t nsping 实用程序用于 测试 Oracle Net 服务别 名: • • • 确保客户 机与 Oracle Net 监听 程序之间的连接性 不验证所请求的服务是否可用 支持简便 连接名称解析: tnsping db.us.oracle.com:1521/dba10g • 支持本地 和目录命名: tnsping orcl 版权所有 © 2006,Oracle。保留所有权利。 测试 Oracle Net 连接性 tnsping 相当于 Oracle Net 中的 TCP/IP ping 实用程序。它提供了快速测试,可验证到目 标位置的网络路径是否正常。例如,在命令行窗口输入 tnsping orcl。 实用程序可验证主机名、端口以及协议是否可到达监听程序。并不实际检查监听程序是否 处理服务名。tnsping 的另一个用途是指明配置文件的位置。 当系统中具有多个 ORACLE_HOME 位置时,这可以提供帮助。 Oracle Database 10g:数据库管理 - 课堂练习 I 11-25 用户会话:专用服务器 用户会话 服务器进程 服务器进程 服务器进程 监听程序 版权所有 © 2006,Oracle。保留所有权利。 用户会话:专用服务器 使用专用服务器进程时,服务器进程和用户进程之间是一对一比例关系。每个服务器进程 都会使用系统资源,包括 CPU 周期和内存。 在负荷很高的系统中,专用服务器进程占用了内存和 CPU 资源时会阻止系统的扩展,因 而对系统扩展有负面影响。如果专用服务器体系结构的资源需求对系统产生了负面影响, 您可以有下列两种选择: • 通过增加更多的内存和附加 CPU 容量来扩充系统资源 • 使用 Oracle 共享服务器体系结构 Oracle Database 10g:数据库管理 - 课堂练习 I 11-26 用户会话:共享服务器 分派程序 服务器进程 服务器进程 服务器进程 用户会话 监听程序 版权所有 © 2006,Oracle。保留所有权利。 用户会话:共享服务器 参与共享服务器体系结构的每个服务至少有一个(通常为多个)分派程序进程。连接请求 到达时,监听程序不会衍生专用服务器进程。而是维护一个可用于每个服务名的分派程序 列表,以及每个分派程序的连接负载(并发连接数量)。 连接请求被路由到为指定服务名提供服务的负载量最低的分派程序。用户在会话期间保持 连接到同一分派程序。 与专用服务器进程不同,单个分派程序可以管理成百上千个用户会话。 分派程序并不实际处理用户请求。而是将用户请求传递到位于 SGA 共享池部分的公用队列。 共享服务器进程会接收专用服务器进程的大部分工作,收集来自队列的请求并进行处理, 直至完成为止。 由于单个用户会话的请求可能由多个共享服务器进程来处理,因此通常存储在 PGA 中的大 部分内存结构必须位于共享内存位置(默认情况下,在共享池中)。但是,如果配置了大 型池,或为 Automatic Memory Management 设置了 SGA_TARGET,这些内存结构会存储在 SGA 的大型池部分。 Oracle Database 10g:数据库管理 - 课堂练习 I 11-27 SGA 和 PGA Oracle 共享服务器:用户 会话数据存储在 SGA 中。 SGA 大型池和 PGA 会话 数据 光标状态 排序数据 其它内存结构 堆栈空间 请在 调整 SGA 大小时将共享服务器 内存要求的因素考虑在 内。 版权所有 © 2006,Oracle。保留所有权利。 SGA 和 PGA 使用专用服务器或共享服务器时,SGA 和 PGA 的内容会有所不同。 • 所有 SQL 语句的文本和分析形式存储在 SGA 中。 • 光标状态包含 SQL 语句的运行时内存值,如检索到的行。 • 用户会话数据包括安全信息和资源使用情况信息。 • 堆栈空间包含进程的本地变量。 技术注释 SGA 和 PGA 中的更改对用户而言是透明的,但是,如果支持多个用户,则需要提高 LARGE_POOL_SIZE 初始化参数值。每个共享服务器进程都必须访问所有会话的数据空间, 以便任何服务器都可以处理来自任意会话的请求。在 SGA 中已分配了空间,可用于每个会 话的数据空间。通过设置用户配置文件“General(常规)”页的“Database Services(数据 库服务)”区域的 PRIVATE_SGA 资源限制,可限制每个会话可分配的空间量。 Oracle Database 10g:数据库管理 - 课堂练习 I 11-28 用户 共享服务器:连接共享 空闲客户机 客户机应用程序的空闲期已超出指定 时间,并且有传入的客户机请求连接。 活动客户机 新客户机 数据库服务器 最大连接数量 配置为 255 此客户机连接是到该服务器的第 256 个连接。 已打开连接共享,因此可接受此连接。 版权所有 © 2006,Oracle。保留所有权利。 共享服务器:连接共享 使用连接共享功能,数据库服务器可以使空闲会话超时,因而可让连接为活动会话提供服 务。空闲会话逻辑上仍处于断开状态,当该会话下次发出请求时会自动重新建立物理连接。 因此,Web 应用程序可使用现有硬件来满足大量并发用户的需求。连接共享是通过共享服 务器配置的。 在本示例中,Oracle 数据库服务器配置了 255 个连接。某个客户机的空闲期已超出了指定 时间。通过连接共享,此连接可用于第 256 个传入的客户机连接。如果空闲客户机还有其 它任务要执行,通过另一个客户机的空闲连接可为该客户机重新建立连接。 Oracle Database 10g:数据库管理 - 课堂练习 I 11-29 不能使用共享服务器的情况 不 能使用共享服务器执 行下列特定类型的数据 库任务: • 数据库 管理 • 备份和恢 复操作 • 批处理和 批量加载操作 • 数据仓库 操作 分派程序 专用服务器进程 版权所有 © 2006,Oracle。保留所有权利。 不能使用共享服务器的情况 Oracle 共享服务器体系结构是一个有效的进程和内存使用模型,但是并不适用于所有的连 接。由于存在公共请求队列,以及存在大量用户会共享分派程序响应队列这样的事实,所 以共享服务器在处理大批数据的操作时性能并不是很好,如处理仓库查询或执行批处理时。 使用 Oracle Recovery Manager(将在以后的课程中论述)进行备份和恢复会话时,也会处 理大量的数据集,因此也必须使用专用连接。 一定不能(也不会)使用共享服务器连接执行大量的管理任务。其中包括启动和关闭实例、 创建表空间或数据文件、维护索引和表、分析统计操作,以及由 DBA 执行的多种其它任 务。所有 DBA 会话都必须选择专用服务器。 Oracle Database 10g:数据库管理 - 课堂练习 I 11-30 Oracle Database 10g:数据库管理 - 课堂练习 I 11-31 小结 在 本课中,应该已经学会 如何: • 使用 Enterprise Manager 来: – 创建其它监听程序 – 创建 Oracle Net Service 别名 – 配置连接时故障转移 – 控制 Oracle Net Listener • 使用 tnsping 测试 Oracle Net 的连接性 • 确定何时使用共享服务器与专用服务器 版权所有 © 2006,Oracle。保留所有权利。 Oracle Database 10g:数据库管理 - 课堂练习 I 11-32 练习概览:使用 Oracle Network 组件 本 练习包括以下内容: • 通过配置 本地名称解析来连接 到其它数据库 • 为连接时故障转移创建第二个监听程序 版权所有 © 2006,Oracle。保留所有权利。 主动维护 版权所有 © 2006,Oracle。保留所有权利。 课程目标 学完本课后, 应能完成以下工作: • 使 用统计信息 • 管 理自动工作量资料档案 库 (AWR) • 使用数据库自动诊断监视程序 (ADDM) • 说 明指导框架 • 设 置预警阈值 • 使 用服务器生成的预警 • 使 用自动任务 版权所有 © 2006,Oracle。保留所有权利。 Oracle Database 10g:数据库管理 - 课堂练习 I 12-2 主动维护 自动 自动任务 主动 服务器预警 指导框架 自动工作量 资料档案库 有效 数据库的 数据仓库 自动收集重 要统计信息 直接内存访问 版权所有 © 2006,Oracle。保留所有权利。 主动维护 通过技术高度成熟的 Oracle 数据库基础结构可以简化主动维护工作。主要原理包括: • 每个 Oracle 数据库中都有一个内置的资料档案库,即自动工作量资料档案库 (AWR)。 Oracle 数据库会按固定间隔生成包括所有重要统计信息及工作量信息的快照,并将 这些信息存储在 AWR 中。用户可以对捕获的数据进行分析,也可以由数据库本身 进行分析,或者两者兼可进行。 • 通过分析 AWR 中存储的信息,数据库可确定是否需要执行常规维护任务,如执行 常规备份以便最大程度地提高可用性或刷新统计信息,这些统计信息用于优化 SQL 语句的执行。 • 当出现无法自动解决且需要通知管理员的问题(如用完空间时)时,Oracle 数据库 会提供服务器生成的预警。Oracle 数据库可监视数据库本身,还可发送预警通知您 发生的任何问题。在预警中不仅通知您发生的问题,还会就如何解决报告的问题提 供建议案。 • 会根据一些指导生成建议案,其中每个指导负责一个子系统。例如,有内存指导和 SQL 指导。 Oracle Database 10g:数据库管理 - 课堂练习 I 12-3 术语简介 • 自 动工作量资料档案库 (AWR):是用于数据采集、 • • • • 分析和提供解决方案建议案的基础结构 基线:指为比较性能而采集的“正常运行数据 库”的 数据 度 量:指累积统计信息中 的更改率 统 计信息:指用于优化内 部操作的数据集合, 如优化 SQL 语 句的执行 阈值:指比较度量值时所根据的边界值 版权所有 © 2006,Oracle。保留所有权利。 术语简介 自动工作量资料档案库 (AWR) 通过为内部 Oracle 服务器组件提供服务,可为检测问题和 进行自优化而收集、处理、维护和利用性能统计信息。 活动会话的历史记录 (ASH) 指的是存储在 AWR 中的最近会话中活动的历史记录。 统计信息是一些数据的集合,提供关于数据库及数据库对象的详细信息。查询优化程序通 过使用优化程序统计信息可为每个 SQL 语句选择最佳执行计划。 基线数据应包括: • 应用程序统计信息(事务处理量、响应时间) • 数据库统计信息 • 操作系统统计信息 • 磁盘 I/O 统计信息 • 网络统计信息 Oracle Database 10g:数据库管理 - 课堂练习 I 12-4 优化程序统计信息 优化程序统计信息: • 不 是实时统计信息 • 每 次重新启动实例后会变 为永久信息 • 可 自动收集 SQL> SELECT COUNT(*) FROM hr.employees; COUNT(*) ---------- 214 SQL> SELECT num_rows FROM dba_tables > 统计信息 AWR ADDM 指导 预警 自动任务 2 WHERE owner='HR' AND table_name = 'EMPLOYEES'; NUM_ROWS ---------- 107 版权所有 © 2006,Oracle。保留所有权利。 优化程序统计信息 优化程序统计信息包括表、列、索引和系统的统计信息。表和索引的统计信息存储在数据 字典中。这些统计信息不提供实时数据。而是为优化程序提供包括数据存储和数据分发的 正确静态 快照,优化程序会使用这个快照来决定如何访问数据。 收集的统计信息包括: • 数据库块中表或索引的大小 • 行数 • 平均行大小和链计数(仅限表) • 删除叶行的高度和数量(仅限索引) 插入、删除和修改数据后,这些统计信息会发生变化。由于维护实时数据分发统计信息会 对性能带来负面影响,因此,通过定期采集表和索引的统计信息来更新这些统计信息。 优化程序统计信息由预配置的 GATHER_STATS_JOB 自动收集,这个作业在预定义维护 窗口中每日运行一次。 Oracle Database 10g:数据库管理 - 课堂练习 I 12-5 优化程序统计信息(续) 如果大型表在 24 小时内的增长率(或缩减率)达到 10%,这种大型表通常被视为易失性 太高,这种情况下一天收集一次统计信息就不够了。对这种变化程度的表,Oracle 建议收 集统计信息要频繁一些,最好能保证表在两个收集期之间的变化不要超过 10% 。这需要 手动收集统计信息。 使用 Enterprise Manager 可手动收集统计信息,或如下所示通过使用 DBMS_STATS 程序包: SQL> EXEC dbms_stats.gather_table_stats(‘HR’,’EMPLOYEES’); SQL> SELECT num_rows FROM dba_tables 2 WHERE owner='HR' AND table_name = 'EMPLOYEES'; NUM_ROWS ---------- 214 注意,现在的行数正确地反映了截止到采集统计信息时表中的行数。通过 DBMS_STATS 还可对整个方案甚至整个数据库启用手动收集统计信息。 Oracle Database 10g:数据库管理 - 课堂练习 I 12-6 使用管理优化程序统计信息页 版权所有 © 2006,Oracle。保留所有权利。 使用管理优化程序统计信息页 单击“Administration(管理) ”标签页上的“Manage Optimizer Statistics(管理优化程序 统计信息)”,可转到用于管理优化程序统计信息的 Enterprise Manager 页。注意(如本 页所示),此时 GATHER_STATS_JOB 已启用;已运行九次;最后一次成功地收集了 97 个对象的统计信息,花费了一分多钟的时间。为了使 GATHER_STATS_JOB 正常运行, 必须确保 STATISTICS_LEVEL 初始化参数至少已设置为 TYPICAL。 注:这个作业默认窗口在工作日的运行时间为 10:00 PM - 6:00 AM,周末运行时间为星期 六 12:00 AM - 星期一 12:00 AM。默认情况下,维护窗口关闭时,调度程序会终止 GATHER_STATS_JOB。之后会在下一个维护窗口中处理剩余对象。 Oracle Database 10g:数据库管理 - 课堂练习 I 12-7 使用管理优化程序统计信息页(续) 在此页上,可以对统计信息执行下列任务: • 手动采集优化程序统计信息。这种操作会提交 GATHER_STATS_JOB 自动提交的作 业。如果在两次自动采集作业之间表的内容发生了很大的变化,结果导致统计信息 已不能准确地表示表的内容,就应该执行这种操作。例如,如果某个表在一天当中 被截断,或者某个运行的批作业在表中添加了大量数据时。 • 将优化程序统计信息还原到以前的某个时间点。选定的时间点必须位于优化程序统 计信息保留期内,默认为 30 天。 • 锁定优化程序统计信息以确保永远不覆盖某些对象的统计信息。如果在存在很有代 表性的数据时计算了某个表的统计信息,而您又要永远拥有这些统计信息,执行这 个任务就很有帮助。如果锁定了统计信息,表的任何波动都不会影响这些统计信息。 • 取消锁定优化程序统计信息以撤消以前执行的锁定。 • 删除优化程序统计信息以删除统计信息。 Oracle Database 10g:数据库管理 - 课堂练习 I 12-8 统计信息级别 STATISTICS_LEVEL BASIC TYPICAL ALL 自优化功能已禁用 建议的默认值 用于手动 SQL 诊断的其它统计信息 版权所有 © 2006,Oracle。保留所有权利。 统计信息级别 使用 STATISTICS_LEVEL 初始化参数可控制要捕获的统计信息集,统计信息集采用以 下捕获级别: • BASIC:AWR 统计信息和度量的计算已关闭。 • TYPICAL:只收集某些统计信息。这些统计信息表示监视 Oracle 数据库行为通常需 要的信息。这种自动采集统计信息级别可减少由于统计信息过期或无效而导致不正 确执行 SQL 语句的可能性。 • ALL:捕获所有可能的统计信息。除非在需要额外 SQL 诊断信息的某些极少数情况 下,否则不应使用这种捕获级别。 Oracle Database 10g:数据库管理 - 课堂练习 I 12-9 • 自动工作量资料档案库 内 置的性能信息资料档案 库 (AWR) > 统计信息 AWR ADDM 指导 预警 自动任务 • • 每 60 分钟记录一次数据库度量快照,保留期为 7 天 所 有自行管理功能的基础 内存中 统计信息 SGA MMON 60 分钟 快照 AWR 版权所有 © 2006,Oracle。保留所有权利。 自动工作量资料档案库 (AWR) AWR 是为 Oracle Database 10g 组件提供服务的基础结构,通过这个基础结构可为检测问 题和进行自优化而收集、维护和利用统计信息。可将这个基础结构视为包括数据库统计信 息、度量等的数据仓库。 默认情况下,数据库每隔 60 分钟从 SGA 中自动捕获统计信息,然后将其以快照形式存储 在 AWR 中。这些快照通过一个名为易管理监视程序 (MMON) 的后台进程存储在磁盘上。 默认情况下,快照会保留七天。可以修改快照间隔和保留期。 AWR 中包含数百个表,所有这些表均属于 SYSMAN 方案且存储在 SYSAUX 表空间中。 Oracle 数据库不支持直接对资料档案库执行 SQL 访问。而是使用 Enterprise Manager 或 DBMS_WORKLOAD_REPOSITORY 程序包来处理 AWR。 Oracle Database 10g:数据库管理 - 课堂练习 I 12-10 AWR 基础结构 外部客户机 EM SQL*Plus … SGA 有效的内存中 统计信息收集 V$ DBA_* MMON AWR 快照 内部客户机 ADDM 自优化组件 … 自优化组件 版权所有 © 2006,Oracle。保留所有权利。 AWR 基础结构 AWR 基础结构由以下两个主要部分组成: • 一个内存中统计信息收集设备,Oracle Database 10g 组件使用它来收集统计信息。考 虑到性能原因,这些统计信息存储在内存中。通过动态性能 (V$) 视图可访问存储在 内存中的统计信息。 • 表示该设备永久部分的 AWR 快照。通过数据字典视图和 Enterprise Manager Database Control 可访问 AWR 快照。 考虑到以下几个原因,统计信息会存储在永久存储区中: • 实例崩溃后统计信息需要继续保留。 • 某些分析需要使用历史数据来与基线数据进行比较。 • 可能会发生内存溢出。当旧统计信息因内存不足而被新统计信息替换时,可存储被 替换数据供以后使用。 MMON 后台进程会定期将内存版本的统计信息转到磁盘上。使用 AWR 时,Oracle 数据库 可自动捕获历史统计信息,而不需要 DBA 进行干预。 Oracle Database 10g:数据库管理 - 课堂练习 I 12-11 AWR 快照集 以前的相关时段 DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE start_snap_id IN NUMBER , end_snap_id IN NUMBER , baseline_name IN VARCHAR2); ( - 版权所有 © 2006,Oracle。保留所有权利。 AWR 快照集 快照集是一种机制,使用这种机制可为重要时段的快照数据集作标记。快照集是定义的一 对快照,这些快照用快照序列号 (snap_id) 来标识。每个快照集对应于唯一一对快照。 快照集可用用户提供的名称标识,也可用系统生成的标识符标识。通过执行 DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE 过程并指定一个名称和一对快照 标识符,就可创建一个快照集。快照集标识符会分配给新建的快照集。在数据库生命周期 内,快照集标识符是唯一的。 快照集用于保留快照数据。因此,在删除某个快照集之前,属于该快照集的快照会一直 保留。 通常,对过去有代表性的某些时段设置快照集,用于与当前系统行为进行比较。另外,可 在 Database Control 中通过使用快照集来设置基 于阈值的预警。 可直接从 DBA_HIST_SNAPSHOT 或 Enterprise Manager Database Control 获 取 snap_id。 注:有关 DBMS_WORKLOAD_REPOSITORY 程序包的详细信息,请参阅《Oracle 数据库 PL/SQL 程序包和类型参考》指南。 Oracle Database 10g:数据库管理 - 课堂练习 I 12-12 Enterprise Manager 和 AWR 版权所有 © 2006,Oracle。保留所有权利。 Enterprise Manager 和 AWR 选择“Administration > Database Administration > Statistics Management > Automatic Workload Repositor y(管理 > 数据库管理 > 统计信息管理 > 自动工作量资料档案库)”, 然后单击“Edit(编辑)”可更改设置。 在“Automatic Workload Repository(自动工作量资料档案库)”页上,可执行下列操作: • 编辑工作量资料档案库设置 • 查看已创建快照的详细信息,或者手动创建新快照 • 创建基线数据,又称保留的快照集 • 生成 AWR 报表 Oracle Database 10g:数据库管理 - 课堂练习 I 12-13 管理 AWR • • • 保 留期 – 默认值为 7 天 – 考虑存储需要 收 集间隔 – 默认值为 60 分钟 – 考虑存储需要和性能影响 收 集级别 – Basic(禁用大多数 ADDM 功能) – Typical(建议级别) – All(将其它 SQL 优化信息添加到快照) 版权所有 © 2006,Oracle。保留所有权利。 管理 AWR AWR 设置中包括保留期、收集间隔和收集级别。请记住,如果降低其中任何设置都会影 响依赖于 AWR 的组件(包括指导)的功能。 如果增大设置可提供改进的指导建议案,但是会增加存储快照需要的空间,而且收集快照 信息时的性能会下降。 请考虑在优化新应用程序时将收集级别设置为 ALL。使用 ALL 设置来收集 SQL 执行计划 和定时统计信息从而改进 SQL 指导的建议案。优化完成后,此设置应重新设回到 TYPICAL 设置。 Oracle Database 10g:数据库管理 - 课堂练习 I 12-14 • • • 数据库自动诊断监视程序 在 记录每个 AWR 快照之后 运行 监视实例;检测瓶颈 在 AWR 中存储结果 (ADDM) > 统计信息 AWR ADDM 指导 预警 自动任务 快照 EM ADDM ADDM 结果 AWR 版权所有 © 2006,Oracle。保留所有权利。 数据库自动诊断监视程序 (ADDM) 与其它指导不同,ADDM 在记录每个 AWR 快照之后自动运行。每次记录快照后,ADDM 会 分析与最后两个快照对应的时段。ADDM 会主动监视实例,以便在大多数瓶颈问题成为严重 问题之前检测到这些问题。 多数情况下,ADDM 会为检测到的问题提供建议解决方案,甚至可以量化这些建议案的好处。 ADDM 检测到的某些常见问题包括: • CPU 瓶颈 • Oracle Net 连接管理不佳 • 锁争用 • 输入/输出 (I /O) 能力差 • Oracle 内存结构大小不足 • SQL 语句的负载过高 • PL/SQL 和 Java 时间过高 • 检查点负载过高及原因(例如,日志文件太小) 每次 ADDM 分析的结果都存储在 AWR 中,也可通过 Enterprise Manager 进行访问。 Oracle Database 10g:数据库管理 - 课堂练习 I 12-15 ADDM 查找结果 1 2 3 版权所有 © 2006,Oracle。保留所有权利。 ADDM 查找结果 在“Automatic Database Diagnostic Monitor(数据库自动诊断监视程序)(ADDM)”页上,可 查看 ADDM 最近运行后的详细查找结果。“Database Time(数据库时间)”表示数据库会 话在分析期间花费的非空闲时间之和。每个查找结果都提供了特定的“Impact(影响)”百 分比。“影响”表示相应问题花费的时间与分析期间数据库时间之比。在幻灯片中,可看见 下列内容: 1. 图中显示此时间点急剧增加的平均活动用户数。主要问题是 Wait(等待)问题 。 2. 图标显示页面底部出现的 ADDM 输出对应于此时间点。单击其它图标可转到过去的时 间(来查看以前的分析)。 3. 这些查找结果提供一个简短概要,按可调区域显示 ADDM 找到的问题。单击特定问题 后可转到“Performance Finding Details(性能查找结果详细信息)”页。 单击“View Report(查看报表)”按钮,可获取以文本报表形式表示的性能分析详细信息。 Oracle Database 10g:数据库管理 - 课堂练习 I 12-16 ADDM 建议案 版权所有 © 2006,Oracle。保留所有权利。 ADDM 建议案 在“Performance Finding Details(性能查找结果详细信息)”页上,提供了用于解决相应 问题的某些建议案。这些建议案分为方案、SQL 优化、数据库配置和其它许多类别。 Benefit (%)列提供实施建议时数据库用时的最大减少值。 ADDM 会考虑系统的各种更改,建议案中可能包括: • 硬件更改:添加 CPU 或更改 I/O 子系统配置 • 数据库配置:更改初始化参数设置 • 方案更改:对表或索引进行散列分区,或者使用自动段空间管理 (ASSM) 。 • 应用程序更改:使用序列的高速缓存选项或使用绑定变量 • 使用其它指导:针对高负载 SQL 运行 SQL 优化指导,或针对热门对象运行段指导 。 Oracle Database 10g:数据库管理 - 课堂练习 I 12-17 指导框架 > 统计信息 AWR ADDM 指导 预警 自动任务 ADDM SQL 优化导 内存 SQL 访问导 PGA SGA PGA 指导 缓冲区高速 缓存指导 库高速缓存指导 空间 备份 段指导 还原指导 MTTR 指导 版权所有 © 2006,Oracle。保留所有权利。 指导框架 指导是一些服务器组件,可提供关于资源使用率和各个组件性能的有用反馈。 由于 ADDM 依赖于 AWR 中捕获的数据,所以 Oracle 数据库通过 ADDM 可诊断自身的 性能并确定如何解决识别出的问题。ADDM 在每次捕获 AWR 统计信息后会自动运行。 它可能还会调用其它指导。 下面是指导基础结构提供的主要优点: • 对所有指导使用统一的接口。 • 通过使用工作量资料档案库,所有指导拥有共用的数据源和结果存储空间。 Oracle Database 10g:数据库管理 - 课堂练习 I 12-18 指导框架(续) 数据库自动诊断监视程序 (ADDM) ADDM 是一个基于服务器的专用软件,它每隔 60 分钟复查一次数据库的性能。ADDM 的目标是提前检测出可能存在的系统瓶颈,并在系统性能明显降低之前提供建议的修复 办法。 内存指导 内存指导实际上是多项指导功能的集合,通过它可确定共享池、数据库缓冲区高速缓存和 程序全局区 (PGA) 的最佳设置。除了指导功能外,本页还提供大型池和 Java 池的中央控 制点。 平均恢复时间 (MTTR) 指导 使用 MTTR 指导,可设置实例崩溃后数据库恢复所需的时间长短。 段指导 此指导用于查找占用空间多于所需空间的表和索引。此指导会在表空间级或方案级检查造 成低效率的空间消耗问题,如果可能,还会生成减少空间消耗的脚本。 SQL 访问指导 此指导用于分析在给定时段发出的所有 SQL 语句,还为创建其它索引或实体化视图(可 提高性能)提供建议。 SQL 优化指导 此指导用于分析单个 SQL 语句,还为改进该语句的性能而提供建议案。建议案中可包括 重写语句、更改实例配置或添加索引等操作。不会直接调用 SQL 优化指导。而是从其它 工具中调用它,如 Top SQL 或 Top Sessions 中,以帮助优化影响大的 SQL 语句。 还原管理指导 使用还原管理指导时,可确定支持指定的保留期所需要的还原表空间大小。“管理还原数 据”一课中介绍了还原管理及还原指导的用法。 Oracle Database 10g:数据库管理 - 课堂练习 I 12-19 Enterprise Manager 和指导 版权所有 © 2006,Oracle。保留所有权利。 Enterprise Manager 和指导 “Advisor Central(指导中心)”页是所有指导的主页。在 Database Control 主页的 “Related Links(相关链接)”列表中,单击“Advisor Central(指导中心)”链接可访问 此页。但是,Database Control 中并不是只有这一个可调用指导的地方 。还可以在某些上 下文中访问指导。 在“Advisor Central(指导中心)”页上,可列出工作量资料档案库中注册的所有指导任 务。还可以按指导类型针对预定义的时段过滤此列表。 在“管理还原数据”、“性能管理”和“备份和恢复的概念”课程中会更详细地介绍某些 指导。 注:使用“Change Default Parameters(更改默认参数)”页可更改将来所有任务的默认到 期时间(以天为单位)。还可以使用此页更改指导的某些重要参数。 Oracle Database 10g:数据库管理 - 课堂练习 I 12-20 DBMS_ADVISOR 程序包 过程 CREATE_TASK DELETE_TASK EXECUTE_TASK INTERRUPT_TASK GET_TASK_REPORT RESUME_TASK UPDATE_TASK_ATTRIBUTES SET_TASK_PARAMETER MARK_RECOMMENDATION GET_TASK_SCRIPT 说明 在资料档案库中创建新任务 在资料档案库中删除任务 开始执行任务 挂起当前正在执行的任务 创建指定任务的文本报表并返回文本报表 恢复挂起的任务 更新任务属性 修改任务参数 将一个或多个建议案标记为已接受、已拒 绝或已忽略 创建由已接受的所有建议案组成的脚本 版权所有 © 2006,Oracle。保留所有权利。 DBMS_ADVISOR 程序包 DBMS_ADVISOR 程序包包含所有指导模块的所有常数和过程声明。使用这个程序包可通 过命令行执行任务。 要执行指导过程,必须具有 ADVISOR 权限。使用 ADVISOR 权限可对指导过程和视图进 行全权访问。 注:有关 DBMS_ADVISOR 程序包中显示的所有过程的详细信息,请参阅《Oracle 数据库 PL/SQL 程序包和类型参考》指南。 Oracle Database 10g:数据库管理 - 课堂练习 I 12-21 服务器生成的预警 > 统计信息 AWR ADDM 指导 预警 自动任务 Enterprise Manager 服务器预警队列 Oracle 实例 度量超出阈值 AWR 版权所有 © 2006,Oracle。保留所有权利。 服务器生成的预警 预警是指在数据库处于不希望出现的状态且需要引起注意时发出通知。默认情况下,Oracle 数据库通过 Enterprise Manager Database Control 提供预警。还可以选择配置 Enterprise Manager 向管理员发送关于问题条件的电子邮件,以及在控制台上显示预警信息。 另外,还可为系统的多个相关度量设置阈值。如果数据库偏离正常读数太多而达到了这些 阈值,Oracle Datab ase 10g 会主动向您发送通知。潜在问题的早期通告使您可以快速地作出 响应,因而常常在用户完全发现问题之前就解决了问题。 可提供问题提前通知的几个主要度量如下: • 平均文件读取时间(厘秒) • 转储区占用率 (%) • 响应时间(每事务处理) • SQL 响应时间 (%) • 表空间占用率 (%) • 等待时间 (%) Oracle Database 10g:数据库管理 - 课堂练习 I 12-22 服务器生成的默认预警 Database Control: SYSTEM 度量 表空间 表空间 空间占用率 97% 时发出 严重警告 85% 时发出 警告 可恢复会话被挂起 恢复区空闲空间过少 快照太旧 版权所有 © 2006,Oracle。保留所有权利。 服务器生成的默认预警 默认情况下,已启用下面的服务器生成预警: • 表空间空间占用率(达到 85% 时发出警告,达到 97% 时发出严重警告) • 快照太旧 • 恢复区空闲空间过少 • 可恢复会话被挂起 注:Enterprise Manager Database Control 会自动为 SYSTEM 对象类型的服务器度量设置阈值。 Oracle Database 10g:数据库管理 - 课堂练习 I 12-23 设置阈值 版权所有 © 2006,Oracle。保留所有权利。 设置阈值 要设置或编辑整个数据库的阈值,请在数据库主页的“Related Links(相关链接)”区域 中选择“Manage Metrics(管理度量)”。单击“Edit Thresholds(编辑阈值)”。输入所 需的“Warning(警告)”值和“Critical Threshold(严重阈值)”值。数据库达到指定值 时会显示相应的预警。如果需要,则可指定其它响应操作。 Oracle Database 10g:数据库管理 - 课堂练习 I 12-24 创建和测试预警 1. 2. 3. 指 定阈值 创建 测试案例 检 查预警 2 1 3 版权所有 © 2006,Oracle。保留所有权利。 创建和测试预警 您还可以设置特定对象的阈值。 示例:您确定需要在 INVENTORY 表空间中占用的空间超过 75% 时收到严重预警。 (这个表空间不允许其数据文件自动扩展。)要创建和测试预警,请执行以下步骤: 1. 在 Enterprise Manager 中,导航到表空间管理,然后设置所需的阈值。 2. 使用“Create like(类似创建)”操作复制一个现有的表,然后使用 SQL*Plus 填充 该表。 3. 收到有关此表无法扩展的错误后,请检查“Database Instance(数据库实例)”主页 中的相关预警。 多数预警中都包含相关指导的名称,通过调用相关指导可获取详细的建议。对每一个相应 的预警消息,Database Control 提供了用于调用相应指导的 链接。 Oracle Database 10g:数据库管理 - 课堂练习 I 12-25 预警通知 版权所有 © 2006,Oracle。保留所有权利。 预警通知 通知机制使用用户界面,因为 Enterprise Manager 中已提供了这个界面。通知机制建立在 通知规则概念的基础上,通知规则又确定了一组即将发出预警的相应通知机制。 使用 Database Control 可编辑通知规则。在主页上,单击“Preferences(首选项)”链接。 随后会显示“General(一般信息)”页,可在其中指定接收通知的电子邮件地址。 在“General(一般信息)”页中,单击“Notification(通知)”区域中的“Rules(规 则)”链接。选择“Database Availability and Critical States(数据库可用性和严重状态)” 规则,然后单击“Edit(编辑)”按钮。随后会转到“Edit Notification Rule Database Availability and Critical States(编辑通知规则数据库可用性和严重状态)”向导页,可在 其中为要接收的通知选择度量(及其严重性)。 Oracle Database 10g:数据库管理 - 课堂练习 I 12-26 预警通知(续) 可以指定在出现特定预警时由 Enterprise Manager 直接向您发出通知。例如,如果您指定要 接收严重预警的电子邮件通知,并且为每个调用度量的系统响应时间设置了严重阈值,那 么,您可以发送一封电子邮件,其中包含类似于以下内容的消息: Host Name=mydb.us.mycompany.com Metric=Response Time per Call Timestamp=08-NOV-2005 10:10:01 (GMT -7:00) Severity=Critical Message=Response time per call has exceeded the threshold. See the latest ADDM analysis. Rule Name= Rule Owner=SYSMAN 该电子邮件包含指向主机名及最近的 ADDM 分析的链接。 默认情况下,处于诸如“DB Down(数据库已关闭)”、“Generic Alert Log Error Status (一般预警日志错误状态)”和“Tablespace Used(表空间占用率)”等严重状态的预警 已设置发送通知。但是,要收到这些通知,必须遵循以下步骤设置电子邮件信息: 1. 在任何 Database Control 页中,单击页眉和页脚区中显示的“Setup(设置)”链接。 2. 在“Setup(设置)”页中选择“Notification Methods(通知方法)”。 3. 在“Notifications Methods(通知方法)”页的“Mail Server(邮件服务器)”区域中 输入所需的信息。 还有其它的通知方法,这包括脚本和简化网络管理协议 (SNMP) 陷阱。后者可用于与第三 方应用程序通信。 要接收通知,请执行以下步骤: 1. 在任何 Database Control 页中,单击页眉和页脚区中显示的“Preferences(首选项)” 链接。 2. 在“Preferences(首选项)”页中选择“General(一般信息)”。在“E-mail Addresses(电子邮件地址)”区域中输入电子邮件地址。 3. 可以有选择地编辑通知规则,如,更改接收通知的严重状态。要执行此操作,请选择 “Notification Rules(通知规则)”。此时会出现“Notification Rules(通知规则)” 页。有关配置通知规则的详细信息,请参阅《Oracle Enterprise Manager 高级配置》 文档。 Oracle Database 10g:数据库管理 - 课堂练习 I 12-27 对预警作出响应 • • • 如 果需要,请采集更多的 输入信息,例如,通 过运行 ADDM 或其它指导。 采 取纠正措施 确 认不会自动清空的预警 版权所有 © 2006,Oracle。保留所有权利。 对预警作出响应 收到预警信息时,请按照预警提供的建议案进行操作,或考虑运行 ADDM 或其它适当的 指导,以便获取有关系统或对象行为的详细诊断信息。 问题的起因消失后,会自动清空大多数预警,如“Out of Space(空间不足)”预警。但 是,如果就类似“Generic Alert Log Error(一般预警日志错误)”等其它预警向您发送通 知,则需要您进行确认。采取必要的纠正措施后,可通过清空或清除预警进行确认。清空 某个预警后,会将这个预警发送到预警历史记录,可在“Related Links(相关链接)”下 的主页上浏览历史记录。清除一个预警会将从预警历史记录中删除它。 要清空类似“Generic Alert Log Error(一般预警日志错误)”的预警,请在“Diagnostic Summary(诊断概要)”下的主页上单击“Alert Log(预警日志)”链接。此时会出现 “Alert Log Errors(预警日志错误)”页。选择要清空的预警,然后单击“Clear(清 空)”。要清除一个预警,请选择这个预警,然后单击“Purge(清除)”。还可以使用 这些按钮执行“Clear Every Open Alert(清空每个打开的预警)”或“Purge Every Alert (清除每个预警)”。 Oracle Database 10g:数据库管理 - 课堂练习 I 12-28 预警类型和清空预警 基于度量 97% 时发出严重 已清空 阈值 警告 (有状态) 85% 时发出警告 已清空 预警 DBA_OUTSTANDING_ALERTS MMON DBA_ALERT_HISTORY 快照太旧 可恢复会 话被挂起 恢复区空 闲空间过少 非阈值 (无状态) 预警 预警 基于事件 版权所有 © 2006,Oracle。保留所有权利。 预警类型和清空预警 有两种类型的服务器生成预警:阈值预警和非阈值预警。 大多数服务器生成的预警是通过对数据库度量设置警告阈值和严重阈值来配置的。可对 120 多个度量定义阈值。例如: • 每秒的物理读取次数 • 每秒的用户提交次数 • SQL 服务响应时间 除了表空间的空间占用率度量与数据库相关外,其它度量都与实例相关。阈值预警又称为 有状态预警。当预警条件扫除后,这些预警会自动清空。有状态预警显示在 DBA_OUTSTANDING_ALERTS 中,清空后会转到 DBA_ALERT_HISTORY。 服务器生成的其它预警对应于特定的数据库事件,如“快照太旧”错误、“恢复区空闲空 间过少”和“可恢复的会话被挂起”。这些都不是基于阈值的预警,又称为无状态预警。 无状态预警会直接转到历史记录表。只在 Database Control 环境中,清空无状态预警才有 意义,因为 Database Control 会在自身的资料档案库中存储无状态预警。 Oracle Database 10g:数据库管理 - 课堂练习 I 12-29 • • • 自动维护任务 调 度程序启动作业 作业在默认的维护窗口中运行 使 用资源管理器限制维护 对正常操作的影响 > 统计信息 AWR ADDM 指导 预警 自动任务 维护示例: • 采 集优化程序统计信息 • 采 集段信息 • 备 份数据库 版权所有 © 2006,Oracle。保留所有权利。 自动维护任务 通过分析 AWR 中存储的信息,数据库可确定是否需要执行常规维护任务,如刷新优化程 序统计信息。在 Oracle 数据库使用自动维护任务基础结构可自动执行这些操作。这种基 础结构使用调度程序在预定义的“维护窗口”中运行这些任务。 默认情况下,维护窗口在每天晚上 10 点启动,然后持续到第二天早上 6 点;在周末一直 运行。维护窗口的所有属性可自定义,这些属性包括起始时间和结束时间、频率、每周几 天等等。另外,通过将数据库资源管理器资源计划与维护窗口关联,可限制自动维护任务 对正常数据库操作的影响。 维护示例如下: • 使用自动维护任务基础结构自动刷新优化程序统计信息。 • 段指导执行在维护窗口中运行的默认作业。 • 使用 DBCA 创建数据库时,可启动常规数据库备份。 Oracle Database 10g:数据库管理 - 课堂练习 I 12-30
还剩102页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 8 金币 [ 分享pdf获得金币 ] 0 人已下载

下载pdf

pdf贡献者

nqw2202

贡献于2013-03-20

下载需要 8 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf