declare
unf number;
unfb number;
fs number;
fs b number;
fs number;
fs b number;
fs number;
fs b number;
fs number;
fs b number;
full number;
fullb number;
begin
dbms_space space_usage( &
&
TABLE
unf
unfb
fs
fs b
fs
fs b
fs
fs b
fs
fs b
full
fullb);
dbms_output put_line( unformatted_blocks: || unf);
dbms_output put_line( full_blocks( % free): || full);
dbms_output put_line( fs _blocks( % free): || fs );
dbms_output put_line( fs _blocks( % free): || fs );
dbms_output put_line( fs _blocks( % free): || fs );
dbms_output put_line( fs _blocks( % free): || fs );
end;
/
表空间的使用历史记录(只输出了每天的第一次统计结果)
select b name
a rtime
a tablespace_usedsize
a tablespace_size
round( a tablespace_usedsize / a tablespace_size) used_percent
from dba_hist_tbspc_space_usage a
(select t name
min(rtime) rtime
min(tablespace_id) tablespace_id
from dba_hist_tbspc_space_usage t
inner join v$tablespace t on t tablespace_id = t TS#
where t NAME = upper( & )
group by name substr(rtime )
) b
where a tablespace_id = b tablespace_id
and a rtime = b rtime
order by a rtime;
表的剩余空间预测
lishixinzhi/Article/program/Oracle/201311/19053
很多人都有这样的了解 检测Oracle的可用性所需要的命令比简单的ping或者ps ef | grep 等Oracle的命令要多得多 有观点认为它需要一个使用SQLNet 来验证监听器已经开启并运行的测试访问Oracle——这是用户经常用到的访问 通过实际地登录到实际环境中 你可以确认这个实例环境可以接受登录的 如果你只是做了以上的检测的话 你如何才能知道是否登录没有被接受 只是因为需要等待文档日志
除了Oracle的激活和可用性之外 我们还需要进行检测以确保它可以用 这样我们还可以检测表空间的容量
检测的脚本:
假设所有的Oracle环境都已经搭建起来了
假设所有的扩展都已经达到了最大的限度
假设左右的表空间都缺乏运行的空闲空间
下面的脚本可以在你想要的任何时候通过crontab 来中断 另外 如果上面的例外情况出现了的话 您还可以就这个脚本写信或者电子邮件给支持人员获得帮助
如果您有什么其他的测试 这个脚本可以让您轻松地进行修改以加以利用 我使用这个Monitororcl 脚本作为模板并且在末尾添加了功能
按crontab来调用query_oracle_instances sh 脚本:
#!/bin/ksh /u /home/oracle/ profile /u /app/oracle/admin/monitororcl cat /u /app/oracle/admin/Get_Oracle_Instance_List exit
Get_Oracle_Instance_List 脚本如下:
instance_name tnsname sys_password_for_this_instance instance_name tnsname sys_password_for_this_instance instance_name tnsname sys_password_for_this_instance
下面是MONITORORCL脚本:
lishixinzhi/Article/program/Oracle/201311/17406
是谁 偷偷的 用了那么多空间呢(本来有几十个G的Free磁盘空间的)
检查数据库表空间占用空间情况:
SQL> select tablespace_name sum(bytes)/ / / GB
from dba_data_files group by tablespace_name
union all
select tablespace_name sum(bytes)/ / / GB
from dba_temp_files group by tablespace_name order by GB;
TABLESPACE_NAME GB
USERS
UNDOTBS
SYSTEM
SYSAUX
WAPCM_TS_VISIT_DETAIL
HY_DS_DEFAULT
MINT_TS_DEFAULT
MMS_TS_DATA
MMS_IDX_SJH
MMS_TS_DEFAULT
IVRCN_TS_DATA
TABLESPACE_NAME GB
MMS_TS_DATA
CM_TS_DEFAULT
TEMP
UNDOTBS
rows selected
不幸的发现 UNDO表空间已经扩展至 G 而TEMP表空间也扩展至 G 这 个表空间加起来占用了 G的磁盘空间 导致了空间不足
显然曾经有大事务占用了大量的UNDO表空间和Temp表空间 Oracle的AUM(Auto Undo Management)从出生以来就经常出现只扩展 不收缩(shrink)的情况(通常我们可以设置足够的UNDO表空间大小 然后取消其自动扩展属性)
现在我们可以采用如下步骤回收UNDO空间:
确认文件
SQL> select file_name bytes/ / from dba_data_files
where tablespace_name like UNDOTBS ;
FILE_NAME
BYTES/ /
+ORADG/d y/datafile/undotbs
检查UNDO Segment状态
SQL> select usn xacts rssize/ / / hwmsize/ / / shrinks
from v$rollstat order by rssize;
USN XACTS RSSIZE/ / / HWMSIZE/ / / SHRINKS
rows selected
创建新的UNDO表空间
SQL> create undo tablespace undotbs ;
Tablespace created
切换UNDO表空间为新的UNDO表空间
SQL> alter system set undo_tablespace=undotbs scope=both;
System altered
此处使用spfile需要注意 以前曾经记录过这样一个案例:Oracle诊断案例 Spfile案例一则
等待原UNDO表空间所有UNDO SEGMENT OFFLINE
SQL> select usn xacts status rssize/ / / hwmsize/ / / shrinks
from v$rollstat order by rssize;
USN XACTS STATUS RSSIZE/ / / HWMSIZE/ / / SHRINKS
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
USN XACTS STATUS RSSIZE/ / / HWMSIZE/ / / SHRINKS
PENDING OFFLINE
rows selected
再看:
: : SQL> /
USN XACTS STATUS RSSIZE/ / / HWMSIZE/ / / SHRINKS
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
ONLINE
rows selected
Elapsed: : :
删除原UNDO表空间
: : SQL> drop tablespace undotbs including contents;
Tablespace dropped
Elapsed: : :
检查空间情况
由于我使用的ASM管理 可以使用 gR 提供的信工具a cmd来察看空间占用情况
[oracle@d y ~]$ export ORACLE_SID=+ASM
[oracle@d y ~]$ a cmd
ASMCMD> du
Used_MB Mirror_used_MB
ASMCMD> exit
lishixinzhi/Article/program/Oracle/201311/18992
以上就是关于怎么监控oracle数据库表和表空间全部的内容,包括:怎么监控oracle数据库表和表空间、Oracle数据库可用性和表空间容量、Oracle回滚段空间回收步骤等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)