oracle怎么看占内存 查看oracle占用内存

如何查看oracle使用内存使用情况

oracle内存使用情况主要分两个方面,一个是PGA,一个是SGA

成都创新互联主营雨城网站建设的网络公司,主营网站建设方案,重庆APP软件开发,雨城h5小程序开发搭建,雨城网站营销推广欢迎雨城等地区企业咨询

简单查询的话,通过SQL语句在PLSQL里面运行一下就可以了

代码如下:

select 'SGA' as name

,round(sum(value) / 1024 / 1024, 2) || 'M' as "SIZE(M)"

from   v$sga

union

select 'PGA' as name, round(value / 1024 / 1024, 2) || 'M' as "SIZE(M)"

from   v$pgastat

where  name = 'total PGA allocated'

复制粘贴后,进入PLSQL,登陆之后,新建页面运行查看结果即可。

如何检查Oracle的归档空间是不是占满?

大多数人会去先检查放归档的目录的磁盘空间是否满了,通过该归档目录空余情况来判断归档空间是否满了,但我觉得这个方法不一定代表实际情况,你看到的可能是一个表面现象。

默认情况下我们在dbca建库时,会把归档放在$ORACLE_HOME/flash_recovery_area下,并且oracle默认给FRA配置的大为2g

这里需要足以两个参数:

db_recovery_file_deststring/oracle/flash_recovery_area

db_recovery_file_dest_sizebiginteger2G

这里总结一句,如果db_recovery_file_dest下的存放的归档大小达到db_recovery_file_dest_size即使该目录下仍然有磁盘空间剩余,oracle也不会去写。

这里我建议按照如下步骤去确定:归档空间是否满了?

1.首先从系统层面确定归档目录存放的磁盘空间情况:

[oracle@localhostbdump]$df-h

FilesystemSizeUsedAvailUse%Mountedon

/dev/mapper/VolGroup00-LogVol0026G12G14G46%/

/dev/sda219G16G2.8G85%/oracle

/dev/sda199M24M71M25%/boot

tmpfs978M508M470M52%/dev/shm

2.确定归档存放目录,归档存放目录大小

SQLarchiveloglist;

DatabaselogmodeArchiveMode

AutomaticarchivalEnabled

ArchivedestinationUSE_DB_RECOVERY_FILE_DEST-------这里默认使用的是DB_RECOVERY_FILE_DEST

Oldestonlinelogsequence17

Nextlogsequencetoarchive20

Currentlogsequence20

----也可以按照以下方式查询归档放置的地方

SQLshowparameterdb_

NAMETYPEVALUE

-----------------------------------------------------------------------------

db_keep_cache_sizebiginteger0

db_namestringlixora

db_recovery_file_deststring/oracle/flash_recovery_area

db_recovery_file_dest_sizebiginteger2G

db_recycle_cache_sizebiginteger0

db_unique_namestringlixora

-----这里可以看到闪回恢复区里的空间使用情况:

SQLselect*Fromv$flash_recovery_area_usage;

FILE_TYPEPERCENT_SPACE_USEDPERCENT_SPACE_RECLAIMABLENUMBER_OF_FILES

----------------------------------------------------------------------

CONTROLFILE000

ONLINELOG4.8801

ARCHIVELOG76.05047

BACKUPPIECE3.103

IMAGECOPY000

FLASHBACKLOG000

6rowsselected.

------注意这一步才是真正查看归档空间的实际使用情况:

SQLselect*fromv$recovery_file_dest;

NAMESPACE_LIMITSPACE_USEDSPACE_RECLAIMABLENUMBER_OF_FILES

----------------------------------------------------------------------------

/oracle/flash_recovery_area21474836481804771840051

但是还是在系统层面去查看磁盘空间。

Oracle内存使用情况

SGA和PGA:

SGA详细:

查询share pool的空闲内存:

查询占用share pool内存大于10M的sql:

查询version count过高的语句:

原文链接:

如何查看ORACLE空间占用问题

1、查看ORACLE表空间及表数据大小

Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents group By Segment_Name order by Sum(bytes)/1024/1024 desc;

2、从返回的结果看,有一个segment名为"SYS_LOB0000053810C00004$$"的对象占用了大量的空间;即LOB(BLOB和CLOB)对象占用的大小对象

3、根据segment_name,就可以从 dba_lobs 表里查到是哪个表,哪个字段;

select * from dba_lobs where segment_name like 'your_segment_name';

里面显示的TABLE_NAME和COLUMN_NAME为表名和字段名。

如何查看ORACLE所占用共享内存的大小

可用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


当前标题:oracle怎么看占内存 查看oracle占用内存
地址分享:http://pwwzsj.com/article/hieeod.html