如何查看oracle进程消耗的内存

原文转自:http://www.eygle.com/archives/2004/12/howto_get_process_memory_consume.html

经常有人问到如何在Unix下确定进程消耗的内存资源,以及为何Top工具的显示非常高。
有人说Top的输出不精确,这种说法是不确切的。实际上是Top输出显示的Oracle进程内存使用,包含了SGA部分。这也是SGA的意义所在。
SGA可以被共享,可以被所有进程所访问,在进程的寻址空间里就包含了SGA的大小。

至于如何更为精确的确定进程的内存消耗,本文简要介绍如下(在QuickIO下,你可能无法看到本文描述情况):

1.系统平台及数据库版本

$ uname -a
SunOS billing 5.8 Generic_108528-23 sun4u sparc SUNW,Ultra-4

Sun Microsystems Inc.   SunOS 5.8       Generic Patch   October 2001
$ sqlplus "/ as sysdba"

SQL*Plus: Release 9.2.0.4.0 - Production on Sun Nov 28 10:48:00 2004

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.


Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production

SQL> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production
PL/SQL Release 9.2.0.4.0 - Production
CORE    9.2.0.3.0       Production
TNS for Solaris: Version 9.2.0.4.0 - Production
NLSRTL Version 9.2.0.4.0 - Production

SQL> show sga

Total System Global Area  253200688 bytes
Fixed Size                   731440 bytes
Variable Size             167772160 bytes
Database Buffers           83886080 bytes
Redo Buffers                 811008 bytes
SQL> exit
Disconnected from Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.4.0 - Production                      


 

2.Top输出

 

$ top

load averages:  0.12,  0.05,  0.04         billing                10:49:52
54 processes:  52 sleeping, 1 stopped, 1 on cpu
CPU states: 99.3% idle,  0.0% user,  0.3% kernel,  0.4% iowait,  0.0% swap
Memory: 2.0G real, 1.2G free, 404M swap in use, 5.1G swap free

   PID USERNAME THR PR NCE  SIZE   RES STATE   TIME FLTS    CPU COMMAND
 10027 oracle     1 58   0 2568K 1680K cpu03   0:00    0  0.09% top
 10052 oracle     1 58   0  322M  275M sleep  21:18    0  0.01% oracle
 11264 oracle     22 58  0  329M 275M sleep  59:01 0  0.00% oracle
 10056 oracle     1 58   0  322M  275M sleep   3:04    0  0.00% oracle
 11262 oracle    14 58   0  331M  270M sleep  73:55    0  0.00% oracle
 11260 oracle   258 59   0  333M  274M sleep  52:46    0  0.00% oracle
 11266 oracle     1 58   0  325M  276M sleep  26:50    0  0.00% oracle
 10054 oracle     1 59   0  322M  275M sleep  18:27    0  0.00% oracle
 23519 oracle     1 55   0  322M  278M sleep   0:50    0  0.00% oracle
 11258 oracle     1 59   0  323M  271M sleep   0:31    0  0.00% oracle
 11285 oracle     1 58   0 17.3M 3848K sleep   0:20    0  0.00% tnslsnr
 11270 oracle     1 58   0  322M  271M sleep   0:06    0  0.00% oracle
  2990 oracle     1 59   0  322M  276M sleep   0:04    0  0.00% oracle
  9872 oracle     1 48   0 1880K 1192K sleep   0:00    0  0.00% ksh
 23498 oracle     1 58   0  323M  278M sleep   0:00    0  0.00% oracle

       

 

3.Pmap输出及进程内存计算

 

$ ps -ef|grep ora_
  oracle  9881  9872  0 10:49:57 pts/2    0:00 grep ora_
  oracle 11258     1  0   Jul 19 ?        0:31 ora_pmon_hsbill
  oracle 11260     1  0   Jul 19 ?       52:47 ora_dbw0_hsbill
  oracle 11262     1  0   Jul 19 ?       73:55 ora_lgwr_hsbill
  oracle 11264     1  0   Jul 19 ?       59:01 ora_ckpt_hsbill
  oracle 11266     1  0   Jul 19 ?       26:50 ora_smon_hsbill
  oracle 11268     1  0   Jul 19 ?        0:00 ora_reco_hsbill
  oracle 11270     1  0   Jul 19 ?        0:06 ora_cjq0_hsbill
  oracle 10054     1  0   Nov 02 ?       18:27 ora_j001_hsbill
  oracle 10052     1  0   Nov 02 ?       21:19 ora_j000_hsbill
  oracle  2990     1  0   Nov 25 ?        0:05 ora_j003_hsbill
  oracle 10056     1  0   Nov 02 ?        3:04 ora_j002_hsbill
  oracle  8879     1  0 09:54:32 ?        0:00 ora_j004_hsbill


$ pmap 11264
11264:  ora_ckpt_hsbill
0000000100000000  53824K read/exec         /opt/oracle/product/9.2.0/bin/oracle
000000010358E000    872K read/write/exec   /opt/oracle/product/9.2.0/bin/oracle
0000000103668000   7968K read/write/exec     [ heap ]
0000000380000000 266240K read/write/exec/shared  [ ism shmid=0x64 ]
FFFFFFFF7C802000      8K read/write/exec     [ anon ]
FFFFFFFF7C814000      8K read/write/exec     [ anon ]
FFFFFFFF7C826000      8K read/write/exec     [ anon ]
FFFFFFFF7C838000      8K read/write/exec     [ anon ]
FFFFFFFF7C84A000      8K read/write/exec     [ anon ]
FFFFFFFF7C85C000      8K read/write/exec     [ anon ]
FFFFFFFF7C86E000      8K read/write/exec     [ anon ]
FFFFFFFF7C880000      8K read/write/exec     [ anon ]
FFFFFFFF7C892000      8K read/write/exec     [ anon ]
FFFFFFFF7C8A4000      8K read/write/exec     [ anon ]
FFFFFFFF7C8B6000      8K read/write/exec     [ anon ]
FFFFFFFF7C8C8000      8K read/write/exec     [ anon ]
FFFFFFFF7C8D6000      8K read/write/exec     [ anon ]
FFFFFFFF7C8DA000      8K read/write/exec     [ anon ]
FFFFFFFF7C8E8000      8K read/write/exec     [ anon ]
FFFFFFFF7C8EC000      8K read/write/exec     [ anon ]
FFFFFFFF7C8FA000      8K read/write/exec     [ anon ]
FFFFFFFF7C8FE000      8K read/write/exec     [ anon ]
FFFFFFFF7C90C000      8K read/write/exec     [ anon ]
FFFFFFFF7C910000      8K read/write/exec     [ anon ]
FFFFFFFF7C91E000      8K read/write/exec     [ anon ]
FFFFFFFF7CA02000      8K read/write/exec     [ anon ]
FFFFFFFF7CA10000      8K read/write/exec     [ anon ]
FFFFFFFF7CA14000      8K read/write/exec     [ anon ]
FFFFFFFF7CA22000      8K read/write/exec     [ anon ]
FFFFFFFF7CA26000      8K read/write/exec     [ anon ]
FFFFFFFF7CA34000      8K read/write/exec     [ anon ]
FFFFFFFF7CA38000      8K read/write/exec     [ anon ]
FFFFFFFF7CA46000      8K read/write/exec     [ anon ]
FFFFFFFF7CA4A000      8K read/write/exec     [ anon ]
FFFFFFFF7CA58000      8K read/write/exec     [ anon ]
FFFFFFFF7CA5C000      8K read/write/exec     [ anon ]
FFFFFFFF7CA6A000      8K read/write/exec     [ anon ]
FFFFFFFF7CA6E000      8K read/write/exec     [ anon ]
FFFFFFFF7CA7C000      8K read/write/exec     [ anon ]
FFFFFFFF7CA80000      8K read/write/exec     [ anon ]
FFFFFFFF7CA8E000      8K read/write/exec     [ anon ]
FFFFFFFF7CA92000      8K read/write/exec     [ anon ]
FFFFFFFF7CAA0000      8K read/write/exec     [ anon ]
FFFFFFFF7CAA4000      8K read/write/exec     [ anon ]
FFFFFFFF7CAB2000      8K read/write/exec     [ anon ]
FFFFFFFF7CAB6000      8K read/write/exec     [ anon ]
FFFFFFFF7CAC4000      8K read/write/exec     [ anon ]
FFFFFFFF7CAC8000      8K read/write/exec     [ anon ]
FFFFFFFF7CAD6000      8K read/write/exec     [ anon ]
FFFFFFFF7CADA000      8K read/write/exec     [ anon ]
FFFFFFFF7CAE8000      8K read/write/exec     [ anon ]
FFFFFFFF7CAEC000      8K read/write/exec     [ anon ]
FFFFFFFF7CAFA000      8K read/write/exec     [ anon ]
FFFFFFFF7CAFE000      8K read/write/exec     [ anon ]
FFFFFFFF7CB0C000      8K read/write/exec     [ anon ]
FFFFFFFF7CB10000      8K read/write/exec     [ anon ]
FFFFFFFF7CB1E000      8K read/write/exec     [ anon ]
FFFFFFFF7CC00000      8K read/write/exec     [ anon ]
FFFFFFFF7CD00000     24K read/exec         /usr/lib/sparcv9/nss_files.so.1
FFFFFFFF7CE06000      8K read/write/exec   /usr/lib/sparcv9/nss_files.so.1
FFFFFFFF7CF00000      8K read/write          [ anon ]
FFFFFFFF7CF10000      8K read/write          [ anon ]
FFFFFFFF7CF50000      8K read/write          [ anon ]
FFFFFFFF7CF60000     16K read/write          [ anon ]
FFFFFFFF7CF68000     32K read/write          [ anon ]
FFFFFFFF7D000000     16K read/exec         /usr/platform/sun4u/lib/sparcv9/libc_psr.so.1
FFFFFFFF7D100000     16K read/exec         /usr/lib/sparcv9/libmp.so.2
FFFFFFFF7D204000      8K read/write/exec   /usr/lib/sparcv9/libmp.so.2
FFFFFFFF7D300000      8K read/write/exec     [ anon ]
FFFFFFFF7D400000     88K read/exec         /usr/lib/sparcv9/libm.so.1
FFFFFFFF7D516000      8K read/write/exec   /usr/lib/sparcv9/libm.so.1
FFFFFFFF7D600000      8K read/exec         /usr/lib/sparcv9/libkstat.so.1
FFFFFFFF7D702000      8K read/write/exec   /usr/lib/sparcv9/libkstat.so.1
FFFFFFFF7D800000     32K read/exec         /usr/lib/sparcv9/librt.so.1
FFFFFFFF7D908000      8K read/write/exec   /usr/lib/sparcv9/librt.so.1
FFFFFFFF7DA00000     32K read/exec         /usr/lib/sparcv9/libaio.so.1
FFFFFFFF7DB08000      8K read/write/exec   /usr/lib/sparcv9/libaio.so.1
FFFFFFFF7DC00000    720K read/exec         /usr/lib/sparcv9/libc.so.1
FFFFFFFF7DDB4000     56K read/write/exec   /usr/lib/sparcv9/libc.so.1
FFFFFFFF7DDC2000      8K read/write/exec   /usr/lib/sparcv9/libc.so.1
FFFFFFFF7DF00000      8K read/write/exec     [ anon ]
FFFFFFFF7E000000     32K read/exec         /usr/lib/sparcv9/libgen.so.1
FFFFFFFF7E108000      8K read/write/exec   /usr/lib/sparcv9/libgen.so.1
FFFFFFFF7E200000    672K read/exec         /usr/lib/sparcv9/libnsl.so.1
FFFFFFFF7E3A8000     56K read/write/exec   /usr/lib/sparcv9/libnsl.so.1
FFFFFFFF7E3B6000     40K read/write/exec   /usr/lib/sparcv9/libnsl.so.1
FFFFFFFF7E400000   5328K read/exec         /opt/oracle/product/9.2.0/lib/libjox9.so
FFFFFFFF7EA32000    384K read/write/exec   /opt/oracle/product/9.2.0/lib/libjox9.so
FFFFFFFF7EA92000      8K read/write/exec   /opt/oracle/product/9.2.0/lib/libjox9.so
FFFFFFFF7EB00000     56K read/exec         /usr/lib/sparcv9/libsocket.so.1
FFFFFFFF7EC0E000     16K read/write/exec   /usr/lib/sparcv9/libsocket.so.1
FFFFFFFF7ED00000      8K read/write/exec     [ anon ]
FFFFFFFF7EE00000     32K read/exec         /opt/oracle/product/9.2.0/lib/libskgxn9.so
FFFFFFFF7EF06000      8K read/write/exec   /opt/oracle/product/9.2.0/lib/libskgxn9.so
FFFFFFFF7F000000      8K read/exec         /opt/oracle/product/9.2.0/lib/libskgxp9.so
FFFFFFFF7F100000      8K read/write/exec   /opt/oracle/product/9.2.0/lib/libskgxp9.so
FFFFFFFF7F200000      8K read/exec         /opt/oracle/product/9.2.0/lib/libodmd9.so
FFFFFFFF7F300000      8K read/write/exec   /opt/oracle/product/9.2.0/lib/libodmd9.so
FFFFFFFF7F400000      8K read/exec         /usr/lib/sparcv9/libdl.so.1
FFFFFFFF7F500000      8K read/write/exec     [ anon ]
FFFFFFFF7F600000    152K read/exec         /usr/lib/sparcv9/ld.so.1
FFFFFFFF7F724000     16K read/write/exec   /usr/lib/sparcv9/ld.so.1
FFFFFFFF7FFFA000     24K read/write          [ stack ]
         total   337360K
$       

 

计算后台进程使用的内存资源:

337360K - 266240K = 71,120k

这就是一个进程所消耗的内存.

4.用户进程内存使用举例

 

$ ps -ef|grep LOCAL
  oracle 10080  9872  0 11:00:25 pts/2    0:00 grep LOCAL
  oracle 23498     1  0   Nov 25 ?        0:00 oraclehsbill (LOCAL=NO)
  oracle 23519     1  0   Nov 25 ?        0:50 oraclehsbill (LOCAL=NO)
$ pmap 23519
23519:  oraclehsbill (LOCAL=NO)
0000000100000000  53824K read/exec         /opt/oracle/product/9.2.0/bin/oracle
000000010358E000    872K read/write/exec   /opt/oracle/product/9.2.0/bin/oracle
0000000103668000    848K read/write/exec     [ heap ]
0000000380000000 266240K read/write/exec/shared  [ ism shmid=0x64 ]
FFFFFFFF7CC00000      8K read/write          [ anon ]
FFFFFFFF7CC10000      8K read/write          [ anon ]
FFFFFFFF7CC50000    136K read/write          [ anon ]
FFFFFFFF7CC76000     40K read/write          [ anon ]
FFFFFFFF7CD00000      8K read/write/exec     [ anon ]
FFFFFFFF7CE00000     24K read/exec         /usr/lib/sparcv9/nss_files.so.1
FFFFFFFF7CF06000      8K read/write/exec   /usr/lib/sparcv9/nss_files.so.1
FFFFFFFF7D000000     16K read/exec         /usr/platform/sun4u/lib/sparcv9/libc_psr.so.1
FFFFFFFF7D100000     16K read/exec         /usr/lib/sparcv9/libmp.so.2
FFFFFFFF7D204000      8K read/write/exec   /usr/lib/sparcv9/libmp.so.2
FFFFFFFF7D300000      8K read/write/exec     [ anon ]
FFFFFFFF7D400000     88K read/exec         /usr/lib/sparcv9/libm.so.1
FFFFFFFF7D516000      8K read/write/exec   /usr/lib/sparcv9/libm.so.1
FFFFFFFF7D600000      8K read/exec         /usr/lib/sparcv9/libkstat.so.1
FFFFFFFF7D702000      8K read/write/exec   /usr/lib/sparcv9/libkstat.so.1
FFFFFFFF7D800000     32K read/exec         /usr/lib/sparcv9/librt.so.1
FFFFFFFF7D908000      8K read/write/exec   /usr/lib/sparcv9/librt.so.1
FFFFFFFF7DA00000     32K read/exec         /usr/lib/sparcv9/libaio.so.1
FFFFFFFF7DB08000      8K read/write/exec   /usr/lib/sparcv9/libaio.so.1
FFFFFFFF7DC00000    720K read/exec         /usr/lib/sparcv9/libc.so.1
FFFFFFFF7DDB4000     56K read/write/exec   /usr/lib/sparcv9/libc.so.1
FFFFFFFF7DDC2000      8K read/write/exec   /usr/lib/sparcv9/libc.so.1
FFFFFFFF7DF00000      8K read/write/exec     [ anon ]
FFFFFFFF7E000000     32K read/exec         /usr/lib/sparcv9/libgen.so.1
FFFFFFFF7E108000      8K read/write/exec   /usr/lib/sparcv9/libgen.so.1
FFFFFFFF7E200000    672K read/exec         /usr/lib/sparcv9/libnsl.so.1
FFFFFFFF7E3A8000     56K read/write/exec   /usr/lib/sparcv9/libnsl.so.1
FFFFFFFF7E3B6000     40K read/write/exec   /usr/lib/sparcv9/libnsl.so.1
FFFFFFFF7E400000   5328K read/exec         /opt/oracle/product/9.2.0/lib/libjox9.so
FFFFFFFF7EA32000    384K read/write/exec   /opt/oracle/product/9.2.0/lib/libjox9.so
FFFFFFFF7EA92000      8K read/write/exec   /opt/oracle/product/9.2.0/lib/libjox9.so
FFFFFFFF7EB00000     56K read/exec         /usr/lib/sparcv9/libsocket.so.1
FFFFFFFF7EC0E000     16K read/write/exec   /usr/lib/sparcv9/libsocket.so.1
FFFFFFFF7ED00000      8K read/write/exec     [ anon ]
FFFFFFFF7EE00000     32K read/exec         /opt/oracle/product/9.2.0/lib/libskgxn9.so
FFFFFFFF7EF06000      8K read/write/exec   /opt/oracle/product/9.2.0/lib/libskgxn9.so
FFFFFFFF7F000000      8K read/exec         /opt/oracle/product/9.2.0/lib/libskgxp9.so
FFFFFFFF7F100000      8K read/write/exec   /opt/oracle/product/9.2.0/lib/libskgxp9.so
FFFFFFFF7F200000      8K read/exec         /opt/oracle/product/9.2.0/lib/libodmd9.so
FFFFFFFF7F300000      8K read/write/exec   /opt/oracle/product/9.2.0/lib/libodmd9.so
FFFFFFFF7F400000      8K read/exec         /usr/lib/sparcv9/libdl.so.1
FFFFFFFF7F500000      8K read/write/exec     [ anon ]
FFFFFFFF7F600000    152K read/exec         /usr/lib/sparcv9/ld.so.1
FFFFFFFF7F724000     16K read/write/exec   /usr/lib/sparcv9/ld.so.1
FFFFFFFF7FFF2000     56K read/write          [ stack ]
         total   329968K
$       

从PMAP的输出中我们可以看到进程所调用的库文件等,及其读写状态。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
oracle动态性能表 学习动态性能表 第一篇--v$sysstat 2007.5.23   按照OracleDocument中的描述,v$sysstat存储自数据库实例运行那刻起就开始累计全实例(instance-wide)的资源使用情况。 类似于v$sesstat,该视图存储下列的统计信息: 1>.事件发生次数的统计(如:user commits) 2>.数据产生,存取或者操作的total列(如:redo size) 3>.如果TIMED_STATISTICS值为true,则统计花费在执行操作上的总时间(如:CPU used by this session) v$sysstat视图常用列介绍:  STATISTIC#: 标识  NAME: 统计项名称  VALUE: 资源使用量 该视图还有一列class-统计类别但极少会被使用,各类信息如下: 1 代表事例活动 2 代表Redo buffer活动 4 代表锁 8 代表数据缓冲活动 16 代表OS活动 32 代表并行活动 64 代表表访问 128 代表调试信息 注意:Statistic#的值在不同版本中各不相同,使用时要用Name做为查询条件而不要以statistic#的值做为条件。 使用v$sysstat中的数据   该视图中数据常被用于监控系统性能。如buffer cache命中率、软解析率等都可从该视图数据计算得出。   该视图中的数据也被用于监控系统资源使用情况,以及系统资源利用率的变化。正因如此多的性能数据,检查某区间内系统资源使用情况可以这样做,在一个时间段开始时创建一个视图数据快照,结束时再创建一个,二者之间各统计项值的不同(end value - begin value)即是这一时间段内的资源消耗情况。这是oracle工具的常用方法,诸如Statspack以及BSTAT/ESTAT都是如此。   为了对比某个区间段的数据,源数据可以被格式化(每次事务,每次执行,每秒钟或每次登陆),格式化后数据更容易从两者中鉴别出差异。这类的对比在升级前,升级后或仅仅想看看一段时间内用户数量增长或数据增加如何影响资源使用方面更加实用。   你也可以使用v$sysstat数据通过查询v$system_event视图来检查资源消耗和资源回收。 V$SYSSTAT中的常用统计   V$SYSSTAT中包含多个统计项,这部分介绍了一些关键的v$sysstat统计项,在调优方面相当有用。下列按字母先后排序: 数据库使用状态的一些关键指标:  CPU used by this session:所有session的cpu占用量,不包括后台进程。这项统计的单位是百分之x秒.完全调用一次不超过10ms  db block changes:那部分造成SGA中数据块变化的insert,update或delete操作数 这项统计可以大概看出整体数据库状态。在各项事务级别,这项统计指出脏缓存比率。  execute count:执行的sql语句数量(包括递归sql)  logons current:当前连接到实例的Sessions。如果当前有两个快照则取平均值。  logons cumulative:自实例启动后的总登陆次数。  parse count (hard):在shared pool中解析调用的未命中次数。当sql语句执行并且该语句不在shared pool或虽然在shared pool但因为两者存在部分差异而不能被使用时产生硬解析。如果一条sql语句原文与当前存在的相同,但查询表不同则认为它们是两条不同语句,则硬解析即会发生。硬解析会带来cpu和资源使用的高昂开销,因为它需要oracle在shared pool中重新分配内存,然后再确定执行计划,最终语句才会被执行。  parse count (total):解析调用总数,包括软解析和硬解析。当session执行了一条sql语句,该语句已经存在于shared pool并且可以被使用则产生软解析。当语句被使用(即共享) 所有数据相关的现有sql语句(如最优化的执行计划)必须同样适用于当前的声明。这两项统计可被用于计算软解析命中率。  parse time cpu:总cpu解析时间(单位:10ms)。包括硬解析和软解析。  parse time elapsed:完成解析调用的总时间花费。  physical reads:OS blocks read数。包括插入到SGA缓存区的物理读以及PGA中的直读这项统计并非i/o请求数。  physical writes:从SGA缓存区被DBWR写到磁盘的数据块以及PGA进程直写的数据块数量。  redo log space requests:在redo logs
贺辞 序 前言 第1章 建立和配置数据库 1.1 数据库创建规划 1.1.1 规划以及提出正确的问题 1.1.2 怎样确定恰当的数据块尺寸 1.2 组织文件系统 1.2.1 怎样命名数据库文件 1.2.2 使用最佳灵活结构 1.2.3 怎样配置符合 OFA 的 Oracle 文件 系统 1.3 规划数据库文件布局 1.3.1 最大化可用性的规划 1.3.2 最小化磁盘争用的规划 1.4 建立参数文件 1.4.1 配置参数的一些注意事项 1.4.2 建立参数文件的连接 1.4.3 优化数据字典存储 1.5 理解 CREATE DATABASE 命令 1.6 创建数据库的技术 1.6.1 利用 Oracle 安装程序创建数据库 1.6.2 使用安装程序创建数据库的注意 事项 1.6.3 怎样建立自己的定制数据库创建 脚本 1.6.4 如何从已有数据库克隆数据库 1.6.5 怎样利用 Database Configuration Assistant 创建数据库 1.7 完成数据库配置 1.7.1 创建表空间 1.7.2 执行数据字典配置脚本 1.7.3 建立另外的回退段 1.7.4 修改 SYSTEM 用户的缺省和临时 表空间 1.7.5 更改 SYS 和 SYSTEM 的缺省 口令 1.7.6 建立其他用户和模式对象 1.7.7 启用归档日志方式 1.7.8 进行数据库完全备份 1.7.9 配置数据库自动启动和关闭 1.7.10 在数据库投入使用之后对其进行 监控 1.7.11 怎样列出和描述初始化参数 1.7.12 怎样列出无记载参数 1.8 回顾 第2章 管理数据存储、对象和容量 2.1 配置数据存储 2.1.1 管理可用空间碎片 2.1.2 聚集可用空间的技术 2.1.3 管理区的碎片 2.1.4 查找接近 MAXEXTENTS 值的 对象 2.1.5 避免数据字典的碎片 2.1.6 本地管理区 2.1.7 进行全数据库重组 2.1.8 定义区大小和防止碎片的11个 技巧 2.1.9 避免区出超错误 2.1.10 避免空间出超错误 2.1.11 使行链接和行迁移最小化 2.1.12 怎样检测行链接/行迁移 2.1.13 利用脚本检查模式中的链接行 2.1.14 消除行链接 2.1.15 消除行迁移 2.1.16 行链接/行迁移的技巧 2.1.17 怎样定义表的大小 2.1.18 怎样确定 PCTFREE 的最佳值 2.1.19 怎样决定 PCTUSED 的最佳值 2.1.20 怎样查找每个数据块的可用数据 区域 2.2 管理程序对象 2.2.1 怎样检查无效对象 2.2.2 怎样重新编译无效对象 2.2.3 在不同表空间之间移动索引 2.2.4 怎样查找最高点 2.2.5 怎样释放未用空间 2.3 DBMS_SPACE 程序包 2.3.1 使用 DBMS_SPACE.UNUSED _SPACE 2.3.2 使用 DBMS_SPACE.FREE _BLOCK 2.4 管理锁争用 2.4.1 怎样查找产生锁的 SQL 语句 2.4.2 怎样释放锁 2.4.3 怎样删除用户会话 2.4.4 怎样从数据字典中提取视图创建 命令 2.4.5 怎样从数据字典中提取索引定义 2.5 回顾 第3章 导出和导入技术 3.1 导出/导入特性概述 3.1.1 使用导出和导入 3.1.2 导出/导入的一般使用 3.1.3 导出方式 3.1.4 导入方式 3.1.5 创建必需的数据字典视图 3.1.6 指定导出/导入参数 3.1.7 在磁带上直接导出和导入数据 3.1.8 估计导出文件的大小 3.1.9 直接导出压缩文件 3.1.10 从压缩导出文件中直接导入 3.1.11 创建一致的导出文件 3.1.12 检查导出/导入错误 3.1.13 用导出和导入管理区 3.1.14 组织和命名导出/导入文件 3.1.15 显示导出文件的内容 3.1.16 不能对恢复同时使用导出和归档 重做日志 3.1.17 增量、累积和完全的导出和导入 3.2 怎样优化导出性能 3.2.1 使用 DIRECT 路径导出 3.2.2 对传统的路径导出使用大的 BUFFER 值 3.2.3 对直接路径导出使用 RECORDL- ENGHT 参数 3.3 怎样优化导入参数 3.3.1 使用大的回退段 3.3.2 创建几个大的联机重做日志文件 3.3.3 导入过程中关闭归档方式 3.3.4 分开导出转储文件、数据表空间、 回退段和联机重做日志文件 3.3.5 最小化检查点 3.3.6 单独创建索引 3.3.7 设置大的初始化参数 SORT_AREA _SIZE 3.3.8 使用大的导入缓冲区 3.3.9 最小化数据库提交次数 3.4 Oracle8i 的新特性 3.4.1 子分区的导出和导入 3.4.2 导出/导入多个转储文件 3.4.3 为卸载表的导出过程的选择语句 指定一个查询 3.4.4 导出/导入预计算优化程序统计 数据 3.4.5 可移动表空间 3.5 回顾 第4章 设计高可用性数据库 4.1 如何发现和保护“致命的弱点” 4.2 复用数据库控制文件 4.3 在硬件级上镜像控制文件 4.4 镜像和复用的区别 4.5 为高可用性选择磁盘类型 4.6 常规的 RAID 技巧 4.7 给控制文件增长的空间 4.8 如何配置日志组 4.9 保护 SYSTEM 表空间的三种简单 方法 4.10 为什么必须保护 ORACLE_HOME 4.11 保护操作系统 4.12 如何保护回退段 4.13 分类和划分数据 4.14 划分表空间的优先次序 4.15 如何配置高可用性的 TEMP 表空间 4.16 确保在归档日志目标位置有足够的 可用空间 4.17 如何调整联机重做日志 4.18 通过优化归档速度避免 LGWR 等待 4.19 将联机重做日志和归档重做日志文件 分开 4.20 如何加速实例的恢复 4.21 回顾 第5章 使用热备用数据库 5.1 什么是失败切换 5.2 热备用数据库 5.2.1 热备用数据库的优点 5.2.2 热备用数据库的缺点 5.2.3 建立和配置热备用数据库 5.2.4 创建备用数据库作为主数据库的 一个子集 5.2.5 选择备用站点 5.2.6 选择备用节点 5.2.7 进行热备用的失败切换 5.2.8 关于备用激活要记住的三个要点 5.2.9 备用激活后的四项工作 5.2.10 将归档重做日志自动传送到备用 数据库 5.2.11 启动管理恢复 5.2.12 只读打开备用数据库 5.2.13 热备用数据库的维护 5.3 回顾 第6章 高级的失败切换方法 6.1 将 Oracle 并行服务器用于失败切换 6.2 并行服务器失败切换的优点 6.3 并行服务器失败切换的缺点 6.4 性能考虑 6.5 降低并行服务器失败切换的时间 6.6 透明的应用程序失败切换 6.7 客户机失败切换的说明 6.8 将客户机失败切换用于负载平衡 6.9 为预定的节点停机使用客户机失败 切换 6.10 用 Oracle 复制实现失败切换 6.10.1 基本复制 6.10.2 基本复制失败切换的优点 6.10.3 基本复制失败切换的缺点 6.11 将高级复制用于失败切换 6.11.1 高级复制失败切换的优点 6.11.2 高级复制失败切换的缺点 6.12 利用 Oracle Fail Safe 6.12.1 选择节点配置 6.12.2 Oracle Fail Safe 的优点 6.12.3 Oracle Fail Safe 的缺点 6.13 其他高可用性的选项 6.13.1 鞋带状预算的高可用性:传送备份 磁带 6.13.2 采用远程镜像 6.13.3 应用程序镜像 6.14 利用混合配置技术 6.14.1 利用并行服务器与远程热备用 数据库 6.14.2 利用 Oracle Fail Safe 与远程热 备用数据库(仅 Windows NT 平台有效) 6.14.3 利用热备用数据库与远程镜像 6.15 回顾 第7章 备份和恢复技术 7.1 备份选项 7.2 操作系统备份 7.2.1 冷备份 7.2.2 OFA 和备份 7.2.3 热备份 7.2.4 使备份方式的持续时间最小化 7.2.5 为什么不应备份联机重做日志 7.2.6 ARCHIVELOG 和 NOARCHIV- ELOG方式 7.2.7 为什么应使用 ARCHIVELOG 方式 7.2.8 为什么应该复用归档重做日志 7.3 服务器管理备份 7.4 逻辑备份 7.4.1 文本文件备份 7.4.2 逻辑控制文件备份 7.4.3 使用导出和导入 7.4.4 导入方式 7.4.5 增量、累积和完全的导出和导入 7.4.6 创建一致的导出文件 7.4.7 不能同时使用导出和归档重做日志 进行恢复 7.5 开发备份和恢复计划 7.5.1 常规的备份技巧 7.5.2 快速备份的技巧 7.6 恢复策略和情况 7.6.1 数据库恢复和涉及的数据库结构 组织 7.7 各种需要恢复的情形 7.8 恢复丢失的数据文件 7.8.1 SYSTEM 数据文件的丢失 7.8.2 包含活动回退段的数据文件的丢失 7.8.3 其他数据文件的丢失 7.8.4 执行表空间恢复 7.8.5 执行数据文件恢复 7.8.6 在没有数据文件备份时怎样进行 恢复 7.8.7 恢复丢失的临时表空间 7.8.8 只读表空间丢失 7.8.9 索引表空间丢失 7.9 恢复联机重做日志 7.9.1 联机重做日志组某个成员丢失 7.9.2 非活动的重做日志组丢失 7.9.3 活动重做日志组丢失 7.10 恢复丢失的控制文件 7.10.1 被复用的控制文件成员丢失 7.10.2 控制文件完全丢失 7.11 回顾 第8章 性能优化 8.1 优化系统全局区域的技术 8.1.1 怎样优化数据缓冲区高速缓存 8.1.2 度量和优化库高速缓存的性能 8.1.3 度量和优化字典高速缓存的性能 8.1.4 怎样估计应用程序的效能 8.2 固定应用程序代码 8.2.1 怎样确定应该固定的对象 8.2.2 怎样确定当前固定的程序对象 8.2.3 怎样固定应用程序代码 8.2.4 使用 DBMS_SHARED_POOL.KEEP 的技巧 8.2.5 怎样生成进行固定操作的脚本 8.2.6 使用 DBMS_SHARED_POOL .UNKEEP 的技巧 8.3 优化数据排序的技术 8.3.1 在内存中进行全部或大部分排序 8.3.2 最小化排序时的空间管理开销 8.3.3 使用多个 TEMP 表空间分布排序 8.4 优化数据存储的技术 8.4.1 使行链接和行迁移最小化 8.4.2 检测行链接/迁移 8.4.3 确定模式中的链接行 8.4.4 防止和纠正行链接/迁移 8.4.5 行链接/迁移的技巧 8.4.6 使可用空间碎片最小化 8.4.7 使区增长最小化 8.4.8 怎样确定代价最高的查询 8.5 跟踪 SQL 8.5.1 设置用户会话内的跟踪 8.5.2 使用 DBMS_SYSTEM 设置用户 会话外的跟踪 8.5.3 生成系统跟踪 8.5.4 使用 tkprof 解释跟踪文件 8.5.5 使用 AUTOTRACE 获得 SQL 语句 执行计划和统计数据 8.6 优化回退段 8.6.1 最小化回退段争用 8.6.2 使动态扩充最小化 8.6.3 分布回退段的 I/O 8.7 优化索引 8.7.1 怎样确定和重建产生碎片的索引 8.7.2 怎样确定表的索引 8.8 优化磁盘 I/O 8.8.1 怎样查找和避免 I/O 热点 8.8.2 使用原始文件系统 8.9 生成优化程序统计数据 8.9.1 使用 DBMS_UTILITY.ANALYZE _SCHEMA收集统计数据 8.9.2 使用 DBMS_UTILITY.ANALYZE _DATABASE 收集统计数据 8.9.3 使用 DBMS_STATS 收集性能统计 数据 8.10 优化环境 8.10.1 怎样优化 Net8/SQL*Net 8.10.2 监控并优化系统资源 8.11 回顾 第9章 Oracle8i 的新特性 9.1 新的性能优化特性 9.1.1 设计的稳定性和存储概要 9.1.2 排序改进 9.1.3 实体化视图 9.1.4 利用 DBMS_STATS 收集性能统计 数据 9.2 新索引类型 9.2.1 基于函数的索引 9.2.2 反向键索引 9.2.3 降序索引 9.2.4 索引编排表 9.2.5 管理索引的新特性 9.3 新备份和恢复特性 9.3.1 多目标归档 9.3.2 多归档日志进程 9.3.3 使用 LogMiner 9.3.4 快速启动恢复 9.4 新导出/导入特性 9.4.1 使用多个导出/导入转储文件 9.4.2 选择性的查询导出 9.4.3 预先计算优化程序统计数据的导出 /导入 9.4.4 可移动表空间 9.4.5 混合导出/导入特性 9.5 新备用数据库特性 9.5.1 归档重做日志的自动传送 9.5.2 启用管理恢复 9.5.3 以只读方式打开备用数据库 9.6 管理作业队列的新特性 9.7 管理存储和对象的新功能 9.7.1 重新定位和组织表 9.7.2 删除表中的列 9.7.3 将表列标记为不可用 9.7.4 本地管理的表空间 9.8 回顾 第10章 Internet DBA 10.1 Oracle8i — Internet 数据库 10.2 Oracle 与 Java 10.3 Oracle8i Java 虚拟机 10.4 Java VM 与 Oracle8i 服务器怎样通讯 10.5 Java 与 Oracle 应用程序服务器 10.6 Oracle Jdeveloper 10.7 与 Java 有关的初始化参数 10.8 Oracle Internet 文件系统 10.9 Oracle 应用服务器概览 10.10 OAS 组件 10.11 调整 OAS 内存请求 10.12 检查建议的最小硬件 10.13 设计 Oracle 应用服务器配置 10.14 Oracle 应用服务器的安装 10.15 使用 OAS 管理程序 10.16 怎样启动和停止 OAS 组件 10.17 OAS 怎样利用负载平衡 10.18 监控 CPU 的消耗情况 10.19 监控内存消耗 10.20 回顾 第11章 使用 Oracle 提供的程序包 11.1.1 程序包:它们是什么? 11.1 DBMS_JOB 和 DBMS_IJOB 程序包 11.1.1 Oracle 作业队列的概念 11.1.2 配置 SNP 进程的技巧 11.1.3 利用 DBMS_JOB 和 DBMS_IJOB 11.1.4 调度作业 11.1.5 更改作业 11.1.6 停止作业 11.1.7 其他作业队列过程 11.1.8 监控作业队列 11.1.9 管理属于其他用户的作业 11.1.10 利用作业队列定期分析模式 对象 11.2 DBMS_SYSTEM 程序包 11.2.1 使用 DBMS_SYSTEM.SET_SQL _TRACE_IN_SESSION 11.2.2 使用 DBMS_SYSTEM.SET_EV 11.2.3 使用 DBMS_SYSTEM.READ_EV 11.2.4 确定当前会话中设置的事件级别 11.2.5 其他 DBMS_SYSTEM 程序 11.3 DBMS_SPACE 程序包 11.3.1 使用 DBMS_SPACE.UNUSED _SPACE 11.3.2 使用 DBMS_SPACE.FREE _BLOCKS 11.4 DBMS_SHARED_POOL 程序包 11.4.1 使用 DBMS_SHARED_POOL.SIZES 过程 11.4.2 使用 DBMS_SHARED_POOL.SIZES 的技巧 11.4.3 使用 DBMS_SHARED_POOL.KEEP 过程 11.4.4 使用 DBMS_SHARED_POOL.KEEP 的技巧 11.4.5 使用 DBMS_SHARED_POOL.UNKEEP 过程 11.4.6 使用 DBMS_SHARED_POOL.UNKEEP 的技巧 11.4.7 使用 DBMS_SHARED_POOL .ABORTED_REQUEST_THRESHOLD 过程 11.4.8 使用 DBMS_SHARED_POOL .ABORTED_REQUEST_THRESHOLD 的技巧 11.5 DBMS_UTILITY 11.5.1 使用 DBMS_UTILITY.COMPILE _SCHEMA过程 11.5.2 使用 DBMS_UTILITY.COMPILE _SCHEMA 的技巧 11.5.3 使用 DBMS_UTILITY.ANALYZE _SCHEMA 11.5.4 使用 DBMS_UTILITY.ANALYZE _DATABASE 11.5.5 使用 DBMS_UTILITY.GET _PARAMETER_VALUE 11.5.6 使用 DBMS_UTILITY.PORT _STRING 11.5.7 使用 DBMS_UTILITY.DB _VERSION 11.5.8 使用 DBMS_UTILITY.MAKE_DATA _BLOCK_ADDRESS 11.5.9 使用 DBMS_UTILITY.DATA_BLOCK _ADDRESS_FILE 11.5.10 使用 DBMS_UTILITY.DATA_BLOCK _ADDRESS_BLOCK 11.5.11 使用 DBMS_UTILITY.IS_PARALLEL _SERVER 11.5.12 使用 DBMS_UTILITY.CURRENT _INSTANCE 11.5.13 使用 DBMS_UTILITY.ACTIVE _INSTANCES 11.6 DBMS_ROWID 11.6.1 使用 DBMS_ROWID.ROWID _BLOCK_NUMBER 11.6.2 使用 DBMS_ROWID.ROWID _CREATE 11.6.3 使用 DBMS_ROWID.ROWID _OBJECT 11.6.4 使用 DBMS_ROWID.ROWID _RELATIVE_FNO 11.6.5 使用 DBMS_ROWID.ROWID_ROW _NUMBER 11.6.6 使用 DBMS_ROWID.ROWID_TO _ABSOLUTE_FNO 11.6.7 使用 DBMS_ROWID.ROWID _TO_EXTENDED 11.6.8 使用 DBMS_ROWID.ROWID_TO _RESTRICTED 11.6.9 使用 DBMS_ROWID.ROWID _TYPE 11.6.10 使用 DBMS_ROWID.ROWID _VERIFY 11.6.11 使用 DBMS_ROWID.ROWID _INFO 11.7 回顾 第12章 Oracle 安装和升级 12.1 Oracle 软件 12.2 Oracle 数据库 12.3 配置 Oracle 文件系统 12.3.1 最佳灵活结构 12.3.2 怎样配置一个符合 OFA 的 Oracle 文件系统 12.3.3 怎样命名数据库文件 12.3.4 为什么应对参数文件使用链接 12.4 安装 Oracle 服务器软件 12.5 安装前阶段 12.5.1 规则1:确保软件产品版本的兼 容性 12.5.2 规则2:为 Oracle 配置操作系统 12.5.3 规则3:分配足够的磁盘空间 12.5.4 规则4:配置安装环境 12.6 安装阶段 12.6.1 步骤1:配置安装环境 12.6.2 步骤2:启动 Oracle 安装 12.6.3 步骤3:选择和安装软件产品 12.7 安装后阶段:坚持五点 12.7.1 步骤1:检查错误 12.7.2 步骤2:运行 root.sh 脚本 12.7.3 步骤3:验证文件的许可权 12.7.4 步骤4:测试 Oracle 安装 12.7.5 步骤5:配置环境 12.7.6 其他安装后的任务 12.8 快速进行 Oracle 安装的五个技巧 12.8.1 从硬盘的准备区域进行安装 12.8.2 不安装文档 12.8.3 不安装产品的文档 12.8.4 不选择重新连接可执行文件 12.8.5 设置环境变量 DEF_INSTALL = TRUE 和 NO_README = TRUE 12.9 在 Windows NT 上安装 Oracle 12.9.1 安装前阶段 12.9.2 安装阶段 12.9.3 安装后阶段 12.10 修补、升级和移植 Oracle 12.10.1 始终将 Oracle 软件安装到新 的 ORACLE_HOME 目录中 12.10.2 数据库升级前进行数据库冷备份 12.10.3 移植 Oracle 12.10.4 使用 Migration Utility 移植到 Oracle 8.0.x 12.10.5 用导出和导入移植 12.11 安装 UNIX 上的 Oracle 8 12.11.1 安装前阶段 12.11.2 安装阶段 12.11.3 安装后阶段 12.12 回顾 附录 A Oracle 服务器介绍 附录 B 动态性能(V$)视图
检查数据库基本状况........................................................................................................ 4 1.1. 检查 ORACLE 实例状态.............................................................................................. 4 1.2. 检查 ORACLE 服务进程.............................................................................................. 4 1.3. 检查 ORACLE 监听状态.............................................................................................. 5 2. 检查系统和 ORACLE 日志文件..................................................................................... 6 2.1. 检查操作系统日志文件............................................................................................. 6 2.2. 检查 ORACLE 日志文件.............................................................................................. 6 2.3. 检查 ORACLE 核心转储目录...................................................................................... 7 2.4. 检查 ROOT 用户和 ORACLE 用户的 EMAIL............................................................... 7 3. 检查 ORACLE 对象状态................................................................................................. 7 3.1. 检查 ORACLE 控制文件状态...................................................................................... 7 3.2. 检查 ORACLE 在线日志状态...................................................................................... 8 3.3. 检查 ORACLE 表空间的状态...................................................................................... 8 3.4. 检查 ORACLE 所有数据文件状态.............................................................................. 8 3.5. 检查无效对象............................................................................................................. 9 3.6. 检查所有回滚段状态............................................................................................... 10 4. 检查 ORACLE 相关资源的使用情况........................................................................... 10 4.1. 检查 ORACLE 初始化文件中相关参数值................................................................ 10 4.2. 检查数据库连接情况............................................................................................... 11 4.3. 检查系统磁盘空间................................................................................................... 12 4.4. 检查表空间使用情况............................................................................................... 12 4.5. 检查一些扩展异常的对象....................................................................................... 13 4.6. 检查 SYSTEM 表空间内的内容................................................................................. 14 4.7. 检查对象的下一扩展与表空间的最大扩展值....................................................... 14 5. 检查 ORACLE 数据库备份结果................................................................................... 14 5.1. 检查数据库备份日志信息....................................................................................... 15 5.2. 检查 BACKUP 卷中文件产生的时间........................................................................ 15 5.3. 检查 ORACLE 用户的 EMAIL..................................................................................... 15 6. 检查 ORACLE 数据库性能........................................................................................... 15 6.1. 检查数据库的等待事件........................................................................................... 15 6.2. DISK READ 最高的 SQL 语句的获取...................................................................... 15 6.3. 查找前十条性能差的 SQL........................................................................................ 16 6.4. 等待时间最多的 5 个系统等待事件的获取........................................................... 16 6.5. 检查运行很久的 SQL.............................................................................................. 16 6.6. 检查消耗 CPU 最高的进程..................................................................................... 16 6.7. 检查碎片程度高的表............................................................................................... 17 6.8. 检查表空间的 I/O 比例......................................................................................... 17 6.9. 检查文件系统的 I/O 比例..................................................................................... 176.10. 检查死锁及处理................................................................................................... 17 6.11. 检查数据库 CPU、 I/O、内存性能...................................................................... 18 6.12. 查看是否有僵死进程........................................................................................... 19 6.13. 检查行链接/迁移.................................................................................................. 19 6.14. 定期做统计分析................................................................................................... 19 6.15. 检查缓冲区命中率............................................................................................... 20 6.16. 检查共享池命中率............................................................................................... 20 6.17. 检查排序区........................................................................................................... 20 6.18. 检查日志缓冲区................................................................................................... 21 7. 检查数据库安全性.......................................................................................................... 21 7.1. 检查系统安全日志信息........................................................................................... 21 7.2. 检查用户修改密码................................................................................................... 21 8. 其他检查.......................................................................................................................... 22 8.1. 检查当前 CRONTAB 任务是否正常.......................................................................... 22 8.2. ORACLE JOB 是否有失败.......................................................................................... 22 8.3. 监控数据量的增长情况........................................................................................... 22 8.4. 检查失效的索引....................................................................................................... 23 8.5. 检查不起作用的约束............................................................................................... 23 8.6. 检查无效的 TRIGGER............................

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值