Oracle数据库管理员职责(三)

2016-02-19 18:47 5 1 收藏

只要你有一台电脑或者手机,都能关注图老师为大家精心推荐的Oracle数据库管理员职责(三),手机电脑控们准备好了吗?一起看过来吧!

【 tulaoshi.com - 编程语言 】

  三.每周维护过程

  A.查找被破坏的目标

  1.对于每个给定表空间的对象来说,NEXT_EXTENT的大小是相同的,如12/14/98,缺省的NEXT_EXTENT的 DATAHI为1G,DATALO为500MB,INDEXES为256MB。

  A)检查NEXT_EXTENT的设置,可用‘NEXTEXT.SQL’。

  B)检查已有的EXTENTS,可用‘EXISTEXT.SQL’。

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

  a)查看那些表没有主键,可用‘NO_PK.SQL’。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  b)查找那些主键是没有发挥作用的,可用‘DIS_PK.SQL’。

  c)所有作索引的主键都要是唯一的,可用‘NONUPK.SQL’来检查。

  3.所有的索引都要放到索引表空间中。运行‘MKREBUILD_IDX.SQL’

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

  a)检查不同的2个运行环境中的数据类型是否一致,可用‘DATATYPE.SQL’。

  b)在2个不同的实例中寻找对象的不同点,可用‘OBJ_COORD.SQL’。

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

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

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

  1.客户端的日志。

  2.服务器端的日志。

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

  E..供应商的主页

  1. ORACLE供应商

  http://www.oracle.com

  http://technet.oracle.com

  http://www.oracle.com/support

  http://www.oramag.com  

  2. Quest Software

  http://www.quests.com

  3. Sun Microsystems

  http://www.sun.com

  四.月维护过程

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

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

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

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

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

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

  D.回顾FRAGMENTATION

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

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

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

  F.完成调整和维护工作

  1.使修改满足避免系统资源的争夺的需要,这里面包括增加新资源或使预期的停工。

  五.附录(维护用程序)

  A.日常程序

  0. free.sql

  To verify free space in tablespaces

  Minimum amount of free space

  document your thresholds:

  = m  

   SELECTtablespace_name,sum(blocks)asfree_blk,trunc(sum(bytes)/
  (1024*1024))asfree_m,max(bytes)/(1024)asbig_chunk_k,count(*)asnum_chunks
  FROMdba_free_spaceGROUPBYtablespace_name;

  1. Space.sql

  -- space.sql

  -- To check free, pct_free, and allocated space within a tablespace

  -- 11/24/98

  SELECTtablespace_name,largest_free_chunk,nr_free_chunks,sum_alloc_blocks,sum_free_blocks
  ,to_char(100*sum_free_blocks/sum_alloc_blocks,'09.99')||'%'ASpct_free
  FROM(SELECTtablespace_name,sum(blocks)ASsum_alloc_blocks
  FROMdba_data_filesGROUPBYtablespace_name)
  ,(SELECTtablespace_nameASfs_ts_name
  ,max(blocks)ASlargest_free_chunk
  ,count(blocks)ASnr_free_chunks
  ,sum(blocks)ASsum_free_blocksFROMdba_free_space
  GROUPBYtablespace_name)WHEREtablespace_name=fs_ts_name;

   2. analyze5pct.sql

  -- analyze5pct.sql

  -- To analyze tables and indexes quickly, using a 5% sample size

  -- (do not use this script. if you are performing the overnight collection of volumetric data)

  -- 11/30/98  

   BEGIN
  DBMS_UTILITY.ANALYZE_SCHEMA('&OWNER','ESTIMATE',NULL,5);
  END;
  /

  3. nr_extents.sql

  -- nr_extents.sql

  -- To find out any object reaching

  -- extents, and manually upgrade it to allow unlimited

  -- max_extents (thus only objects we *expect* to be big

  -- are allowed to become big)

  -- 11/30/98

   SELECTe.owner,e.segment_type,e.segment_name,count(*)asnr_extents,s.max_extents
  ,to_char(sum(e.bytes)/(1024*1024),'999,999.90')asMB
  FROMdba_extentse,dba_segmentss
  WHEREe.segment_name=s.segment_name
  GROUPBYe.owner,e.segment_type,e.segment_name,s.max_extents
  HAVINGcount(*)&THRESHOLD
  OR((s.max_extents-count(*))&&THRESHOLD)
  ORDERBYcount(*)desc;

  4. spacebound.sql

  spacebound.sql

  To identify space-bound objects. If all is well, no rows are returned.

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  f any space-bound objects are found, look at value of NEXT extent

  size to figure out what happened.

  Then use coalesce (alter tablespace coalesce .


  Lastly, add another datafile to the tablespace if needed.

  11/30/98

   SELECTa.table_name,a.next_extent,a.tablespace_name
  FROMall_tablesa,
  (SELECTtablespace_name,max(bytes)asbig_chunk
  FROMdba_free_space
  GROUPBYtablespace_name)f
  WHEREf.tablespace_name=a.tablespace_name
  ANDa.next_extentf.big_chunk;

  B.每晚处理程序

  1. mk_volfact.sql

  mk_volfact.sql (only run this once to set it up; do not run it nightly!)

  Table UTL_VOL_FACTS

   CREATETABLEutl_vol_facts(
  table_nameVARCHAR2(30),
  num_rowsNUMBER,
  meas_dtDATE)
  TABLESPACEplatab
  STORAGE(
  INITIAL128k
  NEXT128k
  PCTINCREASE0
  MINEXTENTS1
  MAXEXTENTSunlimited
  )
  /
  --PublicSynonym
  CREATEPUBLICSYNONYMutl_vol_factsFOR&OWNER..utl_vol_facts
  /

  Grants for UTL_VOL_FACTS 

   GRANTSELECTONutl_vol_factsTOpublic

来源:http://www.tulaoshi.com/n/20160219/1618940.html

延伸阅读
一、了解DBCC DBCC(database consistenecy checker,简称dbcc) 是一个实用命令集,用来检查数据库的逻辑一致性及物理一致性。 数据库控制台命令语句可分为以下类别: 维护: 对数据库、索引或文件组进行维护的任务。 杂项: 杂项任务,如启用跟踪标志或从内存中删除 DLL。 信息: 收集并显示各种类型信息的任务。 验证: 对数据...
在Oracle数据库中,DBA可以通过观测一定的表或视图来了解当前空间的使用状况,进而作出可能的调整决定。 一.表空间的自由空间 通过对表空间的自由空间的观察,可用来判断分配给某个表空间的空间是太多还是不够。请看下列的语句 SQL select a.file_id "FileNo",a.tablespace_name"Tablespace_name",2 ...
技巧一:把基础表与视图脱离开来。 一般来说,视图都是在基础表的上面建立起来的。也就是说,要先有基础表,而后有视图。但是,在大型数据库的设计过程中,出于项目时间的考虑,往往基础表与视图的设计是同时进行的。如一些人负责基础表的建立,另一些人则负责视图的设计与建立等等。在这个过程中,往往基础表不存在的时候,就需要建...
这带来了很多好处,但是也要求学习一些新的概念、命令、使用和管理任务。所以在投入你的生产系统之前,看看它解决什么、管理什么,以及对它的正反面评价。 为什么创建它? 回答这个问题的最好方式是直接追溯源头,Bill Bridge——自动存储管理的最初架构师。在Oracle Press标题中的Oracle ASM,Bill提供了一个链接,他在那里讨论了使用...
Oracle数据库数据对象中最基本的是表和视图,其他还有约束、序列、函数、存储过程、包、触发器等。对数据库的操作可以基本归结为对数据对象的操作,理解和掌握Oracle数据库对象是学习Oracle的捷径。 表和视图 Oracle中表是数据存储的基本结构。ORACLE8引入了分区表和对象表,ORACLE...

经验教程

150

收藏

66
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部