运行nmon,然后按键盘上的“T”,
在岗巴等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都做网站、成都网站制作 网站设计制作定制开发,公司网站建设,企业网站建设,成都品牌网站建设,全网整合营销推广,成都外贸网站建设,岗巴网站建设费用合理。
然后按 4 按内存占用大小排序,类推:[1=Basic 2=CPU 3=Perf 4=Size 5=I/O 6=Cmds] (* 界面上有提示 *)
命令行输入nmon:
root..[/] nmon
------------------------------ x
x N N M M OOOO N N For online help type: h x
x NN N MM MM O O NN N For command line option help: x
x N N N M MM M O O N N N quick-hint nmon -? x
x N N N M M O O N N N full-details nmon -h x
x N NN M M O O N NN To start nmon the same way every time? x
x N N M M OOOO N N set NMON ksh variable, for example: x
x ------------------------------ export NMON=cmt x
x TOPAS_NMON x
x 8 - CPUs currently x
x 8 - CPUs configured x
x 1498 - MHz CPU clock rate x
x PowerPC_POWER5 - Processor x
x 64 bit - Hardware x
x 64 bit - Kernel x
x 1,06-2298H - Logical Partition x
x 6.1.6.20 TL06 - AIX Kernel Version x
x bjrest01 - Hostname x
x bjrest01 - Node/WPAR Name x
x 062298H - Serial Number x
x IBM,9133-55A - Machine Type
按T键之后,再按数字键4
lqtopas_nmonqqC=many-CPUsqqqqqqqqHost=bjrest01qqqqqqqRefresh=2 secsqqq10:01.52qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
x Top-Processes-(176) qqqqqMode=4 [1=Basic 2=CPU 3=Perf 4=Size 5=I/O 6=Cmds]qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqx
x PID %CPU Size Res Res Res Char RAM Paging Command x
x Used KB Set Text Data I/O Use io other repage x
x13500544 1.3 211M80320 45048 35272 0 1% 0 0 0 Oracle x
x18677916 0.2 207M75684 45048 30636 0 1% 0 0 0 oracle x
x11468978 0.5 207M75596 45048 30548 0 1% 0 0 0 oracle x
x 6357214 0.5 207M75596 45048 30548 0 1% 0 0 0 oracle x
x26738798 0.1 200M68188 45048 23140 0 1% 0 0 0 oracle x
x24641536 0.0 198M66944 45048 21896 0 0% 0 0 0 oracle x
x 6291688 0.1 198M66864 45048 21816 0 0% 0 0 0 oracle x
x24117292 0.0 198M66680 45048 21632 0 0% 0 0 0 oracle x
x30933066 0.0 197M65876 45048 20828 3 0% 0 0 0 oracle x
x23724058 0.0 193M61892 45048 16844 0 0% 0 0 0 oracle x
x 6619378 0.0 193M61308 45048 16260 0 0% 0 0 0 oracle x
x11075676 0.0 193M61212 45048 16164 0 0% 0 0 0 oracle x
x 7208984 0.1 193M61012 45048 15964 0 0% 0 2 0 oracle x
x17891498 0.0 192M60792 45048 15744 0 0% 0 0 0 oracle x
x12189894 0.0 192M60784 45048 15736 0 0% 0 0 0 oracle x
x16449708 0.0 192M60688 45048 15640 0 0% 0 0 0 oracle x
x15269948 0.0 192M60680 45048 15632 0 0% 0 0 0 oracle x
x21561584 0.0 192M60680 45048 15632 0 0% 0 0 0 oracle x
x 7536748 0.0 192M60668 45048 15620 0 0% 0 0 0 oracle x
x26345508 0.0 192M60664 45048 15616 0 0% 0 0 0 oracle x
x23986378 0.1 192M60660 45048 15612 0 0% 0 0 0 oracle x
x30474330 0.0 192M60660 45048 15612 0 0% 0 0 0 oracle
1. 查看所有表空间大小 SQL select tablespace_name,sum(bytes)/1024/1024 || 'M' from dba_data_files group by tablespace_name; 2. 已经使用的表空间大小 SQL select tablespace_name,sum(bytes)/1024/1024 || 'M' from dba_free_space gro...
这种问题要回答好要求知识比较全面。
1 从操作系统层次上看
看CPU 内存 swqp(交换分区)等使用率
2 从磁盘上看
主要看磁盘读写。可以用dd测磁盘读写的速度 也可以在业务高峰期检测磁盘的速率。
3 从数据库本身来看。
先要看数据库各个参数的值 。 如sga的大小,process的大小,redo日志的个数与大小等这些关系到性能的参数是否设置合理。
长期观察的方式就是看各个时期的AWR报告。里面有各种性能指标,以及按执行时间或资源排列的sql ,以及各种等待时间的排名。从这里面可以掌握数据库的长期的性能变化。
即时观察的方式就是利用各种sql 查询 数据库在当前时间的各个性能指标(AWR报告里面的各种指标也都是通过sql查询出来的)
还有对数据库整体的一个检查:
如 表的大小,表是否需要分区而没有分区,索引是否创建,索引是否失效,开发人员写的sql是否正确使用到了索引,频繁使用的sql是否有绑定变量,有频繁大批量增删改的表是否存在高水位。。。
额 总之,这个话题涉及的知识非常多,尽可能多的学习一些东西,祝你好运。
可用UNIX命令“ipcs”查看共享内存的起始地址、信号量、消息队列。
在svrmgrl下,用“oradebug ipc”,可看出ORACLE占用共享内存的分段和大小。
example:
SVRMGR oradebug ipc
-------------- Shared memory --------------
Seg Id Address Size
1153 7fe000 784
1154 800000 419430400
1155 19800000 67108864
用如下语句查看:
select a.tablespace_name,a.bytes/1024/1024 "Sum MB",(a.bytes-b.bytes)/1024/1024 "used MB",b.bytes/1024/1024 "free MB",round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used"
from
(select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a,
(select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name) b
where a.tablespace_name=b.tablespace_name
order by ((a.bytes-b.bytes)/a.bytes) desc
查询结果:
其中红框部分即为空闲内存的显示结果。
每张表都是作为“段”来存储的,可以通过user_segments视图查看其相应信息。
段(segments)的定义:如果创建一个堆组织表,则该表就是一个段。
sql:SELECT segment_name AS TABLENAME,BYTES FROM user_segments WHERE segment_name='表名'。
解释:
segment_name 就是要查询的表名(大写),BYTES 为表存储所占用的字节数。本sql的意思就是查询出表名和表所占的存储空间大小。