知识大全 Oracle数据库管理员的职责

Posted 数据库

篇首语:知识的价值不在于占有,而在于使用。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Oracle数据库管理员的职责相关的知识,希望对你有一定的参考价值。

Oracle数据库管理员的职责  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  主要介绍了Oracle数据库管理员在工作环境下的具体职责 详细内容请参考下文

  Oracle数据库管理员应按如下方式对Oracle数据库系统做定期监控

  ( ) 每天对Oracle数据库的运行状态 日志文件 备份情况 数据库的空间使用情况 系统资源的使用情况进行检查 发现并解决问题

  ( ) 每周对数据库对象的空间扩展情况 数据的增长情况进行监控 对数据库做健康检查 对数据库对象的状态做检查

  ( ) 每月对表和索引等进行 Analyze 检查表空间碎片 寻找数据库性能调整的机会 进行数据库性能调整 提出下一步空间管理计划 对Oracle数据库状态进行一次全面检查

  每天的工作

  ( ) 确认所有的 INSTANCE 状态正常

  登陆到所有数据库或例程 检测 ORACLE 后台进程 :

  $ps –ef|grep ora

  ( ) 检查文件系统的使用(剩余空间) 如果文件系统的剩余空间小于 % 需删除不用的文件以释放空间

  $df –k

  ( ) 检查日志文件和 trace 文件记录 alert 和 trace 文件中的错误

  连接到每个需管理的系统

  使用 telnet

  对每个数据库 cd 到 bdump 目录 通常是 $ORACLE_BASE//bdump

  使用 Unix tail 命令来查看 alert_ log 文件

  如果发现任何新的 ORA 错误 记录并解决

  ( ) 检查数据库当日备份的有效性

  对 RMAN 备份方式 :

  检查第三方备份工具的备份日志以确定备份是否成功

  对 EXPORT 备份方式 :

  检查 exp 日志文件以确定备份是否成功

  对其他备份方式 :

  检查相应的日志文件

  ( ) 检查数据文件的状态记录状态不是 online 的数据文件 并做恢复

  Select file_name from dba_data_files where status= OFFLINE

  ( ) 检查表空间的使用情况

  SELECT tablespace_name max_m count_blocks free_blk_cnt sum_free_m to_char( *sum_free_m/sum_m ) || % AS pct_free

  FROM ( SELECT tablespace_name sum(bytes)/ / AS sum_m FROM dba_data_files GROUP BY tablespace_name)

  ( SELECT tablespace_name AS fs_ts_name max(bytes)/ / AS max_m count(blocks) AS count_blocks sum(bytes/ / ) AS sum_free_m FROM dba_free_space GROUP BY tablespace_name )

  WHERE tablespace_name = fs_ts_name

  ( ) 检查剩余表空间

  SELECT tablespace_name sum ( blocks ) as free_blk

  trunc ( sum ( bytes ) /( * ) ) as free_m

  max ( bytes ) / ( ) as big_chunk_k count (*) as num_chunks

  FROM dba_free_space GROUP BY tablespace_name;

  ( ) 监控数据库性能

  运行 bstat/estat 生成系统报告

  或者使用 statspack 收集统计数据

  ( ) 检查数据库性能 记录数据库的 cpu 使用 IO buffer 命中率等等

  使用 vmstat iostat glance top 等命令

  ( ) 日常出现问题的处理

  每周的工作

  ( ) 控数据库对象的空间扩展情况

  根据本周每天的检查情况找到空间扩展很快的数据库对象 并采取相应的措施

   删除历史数据

   扩表空间

  alter tablespace add datafile size

   调整数据对象的存储参数

  next extent

  pct_increase

  ( ) 监控数据量的增长情况

  根据本周每天的检查情况找到记录数量增长很快的数据库对象 并采取相应的措施

   删除历史数据

   扩表空间

  alter tablespace add datafile size

  ( ) 系统健康检查

  检查以下内容 :

  init ora

  controlfile

  redo log file

  archiving

  sort area size

  tablespace(system temporary tablespace fragment)

  datafiles(autoextend location)

  object(number of extent next extent index)

  rollback segment

  logging &tracing(alert log max_dump_file_size sqlnet)

  ( ) 检查无效的数据库对象

  SELECT owner object_name object_type FROM dba_objects

  WHERE status= INVALID

    ( ) 检查不起作用的约束

  SELECT owner constraint_name table_name

  constraint_type status

  FROM dba_constraints

  WHERE status = DISABLED AND constraint_type = P

  ( ) 检查无效的 trigger

  SELECT owner trigger_name table_name status

  FROM dba_triggers

  WHERE status = DISABLED

  每月的工作

  ( ) Analyze Tables/Indexes/Cluster

  analyze table estimate statistics sample percent;

  ( ) 检查表空间碎片

  根据本月每周的检查分析数据库碎片情况 找到相应的解决方法

  ( ) 寻找数据库性能调整的机会

  比较每天对数据库性能的监控报告 确定是否有必要对数据库性能进 行调整

  ( ) 数据库性能调整

  如有必要 进行性能调整

  ( ) 提出下一步空间管理计划

  根据每周的监控 提出空间管理的改进方法

  Oracle DBA 日常管理

  目的 这篇文档有很详细的资料记录著对一个甚至更多的 ORACLE 数据库每天的 每月的 每年的运行的状态的结果及检查的结果 在文档的附录中你将会看到所有检查 修改的 SQL和 PL/SQL 代码

  目录

   日常维护程序

  A . 检查已起的所有实例

  B . 查找一些新的警告日志

  C . 检查 DBSNMP 是否在运行

  D . 检查数据库备份是否正确

  E . 检查备份到磁带中的文件是否正确

  F . 检查数据库的性能是否正常合理 是否有足够的空间和资源

  G . 将文档日志复制到备份的数据库中

  H . 要常看 DBA 用户手册

   晚间维护程序

  A .收集 VOLUMETRIC 的数据

   每周维护工作

  A . 查找那些破坏规则的 OBJECT

  B . 查找是否有违反安全策略的问题

  C . 查看错误地方的 SQL*NET 日志

  D . 将所有的警告日志存档

  E . 经常访问供应商的主页

   月维护程序

  A . 查看对数据库会产生危害的增长速度

  B . 回顾以前数据库优化性能的调整

  C . 查看 I/O 的屏颈问题

  D . 回顾 FRAGMENTATION

  E . 将来的执行计划

  F . 查看调整点和维护

  一.日维护过程

  A .查看所有的实例是否已起

  确定数据库是可用的 把每个实例写入日志并且运行日报告或是运行测试文件 当然有一些操作我们是希望它能自动运行的

  可选择执行 用 ORACLE 管理器中的 PROBE 事件来查看

  B .查找新的警告日志文件

   联接每一个操作管理系统

   使用 TELNET 或是可比较程序

   对每一个管理实例 经常的执行 $ORACLE_BASE//bdump 操作 并使其能回退到控制数据库的 SID

   在提示下 使用 UNIX 中的 TAIL 命令查看 alert_ log 或是用其他方式检查文件中最近时期的警告日志

   如果以前出现过的一些 ORA_ERRORS 又出现 将它记录到数据库恢复日志中并且仔细的研究它们 这个数据库恢复日志在〈 FILE 〉中

  C .查看 DBSNMP 的运行情况

  检查每个被管理机器的 DBSNMP 进程并将它们记录到日志中

  在 UNIX 中 在命令行中 键入 ps –ef | grep dbsnmp 将回看到 个DBSNMP 进程在运行 如果没有 重启 DBSNMP

  D .查数据库备份是否成功

  E .检查备份的磁带文档是否成功

  F .检查对合理的性能来说是否有足够的资源

   检查在表空间中有没有剩余空间

  对每一个实例来说 检查在表空间中是否存在有剩余空间来满足当天的预期的需要 当数据库中已有的数据是稳定的 数据日增长的平均数也是可以计算出来 最小的剩余空间至少要能满足每天数据的增 长

  A ) 运行 FREE SQL 来检查表空间的剩余空间

  B ) 运行 SPACE SQL 来检查表空间中的剩余空间百分率

   检查回滚段

  回滚段的状态一般是在线的 除了一些为复杂工作准备的专用 段 它一般状态是离线的

  a 每个数据库都有一个回滚段名字的列表

  b 你可以用 V$ROLLSTAT 来查询在线或是离线的回滚段的现在状 态

  c 对于所有回滚段的存储参数及名字 可用DBA_ROLLBACK_SEGS 来查询 但是它不如 V$ROLLSTAT 准确

   识别出一些过分的增长

  查看数据库中超出资源或是增长速度过大的段 这些段的存储参 数需要调整

  a 收集日数据大小的信息 可以用

   ANALYZE PCT SQL 如果你收集的是每晚的信息 则可跳过这一步

  b 检查当前的范围 可用 NR EXTENTS SQL

  c 查询当前表的大小信息

  d 查询当前索引大小的信息

  e 查询增长趋势

   确定空间的范围

  如果范围空间对象的 NEXT_EXTENT 比表空间所能提供的最大范围还要大 那么这将影响数据库的运行 如果我们找到了这个目标 可以用 ALTER TABLESPACE COALESCE 调查它的位置 或加另外 的数据文件

  A )运行 SPACEBOUND SQL 如果都是正常的 将不返回任何行

   回顾 CPU 内存 网络 硬件资源论点的过程

  A )检查 CPU 的利用情况 进到 x:\\web\\phase \\ =>system

  metrics=>CPU 利用页 CPU 的最大限度为 当 CPU 的占用保持在 以上有一段时间的话 我们就需要查看及研究出现的问题

  G .将存档日志复制到备用数据库中

  如果有一个备用数据库 将适当的存档日志复制到备用数据库的期望位置 备用数据库中保存最近期的数据

  H 经常查阅 DBA 用户手册

  如果有可能的话 要广泛的阅读 包括 DBA 手册 行业杂志 新闻 组或是邮件列表

  二.晚间维护过程

  大部分的数据库产品将受益于每晚确定的检查进程的运行

  A 收集 VOLUMETRIC 数据

   分析计划和收集数据

  更准确的分析计算并保存结果

  a ) 如果你现在没有作这些的话 用 MK VOLFACT SQL 来创建测定体积的 表

  b ) 收集晚间数据大小的信息 用 ANALYZE P SQL

  c ) 收集统计结果 用 POP VOL SQL

  d ) 在空闲的时候检查数据 可能的话 每周或每个月进行

  我是用 MS EXCEL 和 ODBC 的联接来检查数据和图表的增长

  

  三.每周维护过程

  A . 查找被破坏的目标

   对于每个给定表空间的对象来说 NEXT_EXTENT 的大小是相同的 如 / / 缺省的NEXT_EXTENT 的 DATAHI 为 G DATALO 为 MB INDEXES 为 MB

  A ) 检查 NEXT_EXTENT 的设置 可用 NEXTEXT SQL

  B ) 检查已有的 EXTENTS 可用 EXISTEXT SQL

   所有的表都应该有唯一的主键

  a 查看那些表没有主键 可用 NO_PK SQL

  b 查找那些主键是没有发挥作用的 可用 DIS_PK SQL

  c 所有作索引的主键都要是唯一的 可用 NONUPK SQL 来检 查

   所有的索引都要放到索引表空间中 运行 MKREBUILD_IDX SQL

   不同的环境之间的计划应该是同样的 特别是测试环境和成品环境之间的 计划应该相同

  a 检查不同的 个运行环境中的数据类型是否一致 可用 DATATYPE SQL

  b 在 个不同的实例中寻找对象的不同点 可用 OBJ_COORD SQL

  c 更好的做法是 使用一种工具 象寻求软件的计划管理器那样的 工具

  B.查看是否有危害到安全策略的问题

  C.查看报错的 SQL*NET 日志

   客户端的日志

   服务器端的日志

  D .将所有的警告日志存档

  E .供应商的主页

   ORACLE 供应商

  

  

  

  

   Quest Sofare

  

   Sun Microsystems

  

  四.月维护过程

  A .查看对数据库会产生危害的增长速度

   从以前的记录或报告中回顾段增长的变化以此来确定段增长带来危害

  B . 回顾以前数据库优化性能的调整

   回顾一般 ORACLE 数据库的调整点 比较以前的报告来确定有害的发展 趋势

  C . 查看 I/O 的屏颈问题

   查看前期数据库文件的活动性 比较以前的输出来判断有可能导致屏颈 问题的趋势

  D . 回顾 FRAGMENTATION

  E . 计划数据库将来的性能

   比较 ORACLE 和操作系统的 CPU 内存 网络 及硬盘的利用率以此来确定在近期将会有的一些资源争夺的趋势

   当系统将超出范围时要把性能趋势当作服务水平的协议来看

  F . 完成调整和维护工作

cha138/Article/program/Oracle/201311/18809

相关参考

知识大全 Oracle数据库管理员职责(四)

Oracle数据库管理员职责(四)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  analyze

知识大全 细数开发DBA(数据库管理员)的工作职责

细数开发DBA(数据库管理员)的工作职责  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  开发DB

知识大全 Oracle数据库的空间管理

Oracle数据库的空间管理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!    在Oracle数

知识大全 Oracle数据库的管理

Oracle数据库的管理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  安全的实现    在多用

知识大全 ORACLE数据库对象与用户管理

ORACLE数据库对象与用户管理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一ORACLE数

知识大全 Oracle 9i 数据库管理实务讲座(一)-如何安装Oracle 9i Enterprise E

Oracle9i数据库管理实务讲座(一)-如何安装Oracle9iEnterpriseE  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发

知识大全 Oracle9i 数据库管理实务讲座(五)-手动建立 Oracle9i 数据库

Oracle9i数据库管理实务讲座(五)-手动建立Oracle9i数据库  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们

知识大全 Oracle9i 数据库管理实务讲座(四)-Oracle9i 数据库实体结构

Oracle9i数据库管理实务讲座(四)-Oracle9i数据库实体结构  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们

知识大全 Oracle数据库空间管理和规划

Oracle数据库空间管理和规划  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  本文希望通过系统

知识大全 Oracle数据库视图管理经验技巧

Oracle数据库视图管理经验技巧  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  视图对于数据库