Oracle存储使用情况,我收藏的oracle中一些分析空间使用情况的存储过程!

tom写了个好工具show_space,这个工具对于oracle来讲其实就是个存储过程,这个存储过程可以用来分析空间使用情况,有了此工具,就不用再通过写sql语句来看每条记录或表占用表空间的大小了,使用起来很方便。

具体使用过程如下:

首先需要创建一个存储过程:

d:\>sqlplus /nolog

sql>connect / as sysdba

sql>create or replace procedure show_space

( p_segname in varchar2,

p_owner in varchar2 default user,

p_type in varchar2 default table,

p_partition in varchar2 default null )

as

l_total_blocks number;

l_total_bytes number;

l_unused_blocks number;

l_unused_bytes number;

l_lastusedextfileid number;

l_lastusedextblockid number;

l_last_used_block number;

procedure p( p_label in varchar2, p_num in number )

is

begin

dbms_output.put_line( rpad(p_label,40,.) ||

p_num );

end;

begin

dbms_space.unused_space

( segment_owner => p_owner,

segment_name => p_segname,

segment_type => p_type,

partition_name => p_partition,

total_blocks => l_total_blocks,

total_bytes => l_total_bytes,

unused_blocks => l_unused_blocks,

unused_bytes => l_unused_bytes,

last_used_extent_file_id => l_lastusedextfileid,

last_used_extent_block_id => l_lastusedextblockid,

last_used_block => l_last_used_block );

p( total blocks, l_total_blocks );

p( total bytes, l_total_bytes );

p( unused blocks, l_unused_blocks );

p( unused bytes, l_unused_bytes );

p( last used ext fileid, l_lastusedextfileid );

p( last used ext blockid, l_lastusedextblockid );

p( last used block, l_last_used_block );

end;

/

procedure created.

执行以上语句会在当前用户下生成一个procedure,当前用户为sys用户。

sql>create table t as select * from all_users; (创建表t)

sql> exec show_space(t); (查看表t占用空间大小)

free blocks.............................0

total blocks............................15

total bytes.............................61440

unused blocks...........................13

unused bytes............................53248

last used ext fileid....................13

last used ext blockid...................61782

last used block.........................2

结果马上就出来了,以前必须通过sql语句查询dba_tables才能得到结果,可见,此工具的方便性。

另外,此工具有好几个版本,目前上面这个版本只适合表空间为非assm的时候,assm的时候是不能用的,原因是dbms_space.free_blocks 不允许在assm上操作,解决方法如下:

对于assm,可以使用dbms_space.space_usage

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/563754.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux iso的引导文件,Linux_从硬盘启动Desktop ISO所需的引导文件,一、仅从硬盘启动Destdop ISO 并 - phpStudy...

从硬盘启动Desktop ISO所需的引导文件一、仅从硬盘启动Destdop ISO 并安装1、从后面的链接下载相关引导文件并解压;2、在任意盘的根目录中新建一个文件夹,并重命名(如feisty、edgy等,menu.lst中用fd_dir变量把要找的文件夹传给系统)把下载的桌…

linux命令为什么这么快,为什么这么多Linux用户更喜欢命令行而不是GUI?

为什么这么多 Linux 用户更喜欢 CLI 而非 GUI? 上次我在 Reddit 关注该问题时,遇到了一些有帮助的投稿:“处于相同的原因我更喜欢谈论指指点点和七嘴八舌。 可以很好的传达并给出很好的反馈。这不是一团糟,而是富有诗意的精确。 你…

Linux下golang的编译,golang Linux下编译环境搭建

1、下载golang1.4和1.10源码(1.4以后的版本都用1.4go编译安装,所以先安装1.4)2、解压后我的目录结构是:/opt/xxx/golang|-------gopath //开发工作目录|     |------src       //开发源码|     |------p…

linux数据库怎么import,mysqlimport

mysqlimport命令为mysql数据库服务器提供了一种命令行方式导入数据工具,它从特定格式的文本文件中读取数据插入MySQL数据库表中。常用参数:--columns第一列对应的数据表列名,第二列对应的数据表列名,…定义被导入文件中的每一列对应的数据库表列名--fields-terminat…

linux查看rsync的命令,Linux rsync 命令学习

Rsync命令和cp命令很像,但是功能似乎更加复杂点,主要用来备份数据。看了网上一堆介绍的文章,感觉不是很通俗易懂。下面按照我的理解,做一些笔记:同步方式之前接触过一些同步软件,例如坚果云、百度云盘等等&…

linux远程挽救模式,linux – 如何在远程重启Redhat后进入SSH并进入恢复模式?

我需要进入我的红帽框的恢复模式,该模式在虚拟机上远程运行.我使用RedHat 5 64位企业版.我使用SSH登录到该框.我可以使用restart命令重新启动,但我需要知道我是否能够通过SSH连接它,因为我远程使用它并且无法通过UI登录.真正的问题是,我在根目录上做了一个-R $USER /.我试图将此…

mac os linux 桌面快捷键,Mac之快捷键

接触Mac不久,很多东西都没了解过,对于快捷键完全不熟悉,查了些资料,顺便做下笔记~~~按键符号Shift:⇧Ctrl:⌃Alt(Option):⌥Command:⌘Mac按键符号…

linux 等待进程,Linux 进程等待队列

Linux内核的等待队列是以双循环链表为基础数据结构,与进程调度机制紧密结合,能够用于实现核心的异步事件通知机制。在这个链表中,有两种数据结构:等待队列头(wait_queue_head_t)和等待队列项(wait_queue_t)。等待队列头和等待队列…

linux 终端 朗读,使Linux终端朗读文字的小技巧分享

对于那些不能文字朗读的设备,有个小工具可以实现文字说话的转换器。用各种语言写一些东西,espeak就可以朗读给你。系统应该默认安装了Espeak,如果你的系统没有安装,你可以使用下列命令来安装:代码如下:# apt-get insta…

linux 进程崩溃 wait,Linux信号机制有关问题

代码如下:#include#include#includevoid waiting(),stop();int wait_mark;main(){int p1,p2,stdout;while((p1fork())-1); /*创建子进程p1*/if (p1>0){wait_mark1;signal(SIGINT,stop); /*接收到^c信号,转stop*/waiting();kill(p1,16); /*向p1发软…

linux启动管理,Linux启动管理 详述

一 系统运行级别如果想查看运行级别,用runlevelinit 运行级别 就可以改变系统运行级别系统默认级别,也就是开机进入哪个级别,在/etc/inittab中二 启动过程首先是BIOS加载MBR,MBR里有个扇区,里面有启动引导程序&#xf…

weblogic 10.3.0.0 for linux下载地址,weblogic10.3下载地址

Oracle WebLogic Server 10.3.1 OEPE - Package Installer 单语言版带OEPEMicrosoft Windows x86: 756 MB http://download-llnw.oracle.com/otn/nt/middleware/11g/wls/oepe11_wls1031.exeLinux x86: 773 MB http://download.oracle.com/otn/linux/…

linux vfs 根节点名称,Linux:文件,目录项,索引节点,超级块,VFS,具体文件系统...

【笔记:http://m.blog.csdn.net/blog/zhouzhou135】在了解文件系统之前,先了解磁盘格式化的知识。所以要理解文件系统的数据结构,要从两个方向来理解:1:磁盘中的数据结构:因为在磁盘格式化的时候&#xff0…

简单的eda实验vga在linux系统中,EDA实验报告-VGA彩条显示.doc

VGA彩条信号显示控制一、实验目的:1. 熟练掌握 Verilog HDL语言和QuartusII 软件的使用;2. 理解状态机的工作原理和设计方法;3. 熟悉 VGA 接口协议规范。4.通过对VGA接口的显示控制设计,理解VGA接口的时序工作原理,掌握…

c语言中陶陶摘苹果while,洛谷 P1478 陶陶摘苹果(升级版) C语言实现

题目描述又是一年秋季时,陶陶家的苹果树结了n个果子。陶陶又跑去摘苹果,这次她有一个a公分的椅子。当他手够不着时,他会站到椅子上再试试。这次与NOIp2005普及组第一题不同的是:陶陶之前搬凳子,力气只剩下s了。当然&am…

c语言程序设计报告用于医院食品加工等部,南开(本部)《C语言程序设计》14春在线作业答案...

南开(本部)14春《C语言程序设计》在线作业 , W. v1 o) p. J2 n0 I试卷总分:100 测试时间:--4 v8 D, }8 e! w: D6 Y0 m一、单选题(共40道试题,共80分。)8 U: } j% ^2 T) F( q1.以下对一维整型数组 a 的正确说明是( ) C! f | }# n$ t7 g, z…

c语言中二分法100中找30,c语言中的二分法

\\\题外&#xff1a;对于printf引号中的内容一定要细心书写 ; 数组由a[0]开始计数&#xff0c;切记&#xff1b;尤其是与for循环中i1 搞混运用a[i1]等超前数据时 需先用for(i0;i<n-1;i){scanf("%d",&a[i]);}给数组全部赋值题目&#xff1a;对于方程 8*x^47*x^…

c语言 乘除法优先级,运算符运算符优先级 - C语言教程

运算符优先级运算符的优先级确定表达式中项的组合。这会影响到一个表达式如何计算。某些运算符比其他运算符有更高的优先级&#xff0c;例如&#xff0c;乘除运算符具有比加减运算符更高的优先级。例如 x 7 3 * 2&#xff0c;在这里&#xff0c;x 被赋值为 13&#xff0c;而不…

c语言long double位数,int long double 所占位数 和最大值

// // 32 // 位数 数值// int t1 pow(2, 31); // 4 2147483647// int32_t t2 pow(2, 31); // 4 2147483647// int64_t t3 pow(2, 62); // 8 4611686018427387904// NSInteger t4 pow(2, 32); // 4 2147483647// double t5 pow(2, 64); // 8 18446744073709551616.000000//…

存储器块清零c语言版,存储器块清零实验报告

有关单片机存储器块清零实验的试验报告存储器块清零实验报告班级&#xff1a; 11级计科班 姓名&#xff1a;苏靖 学号&#xff1a;1120070544 日期&#xff1a;2012-12-19一、实验目的&#xff1a;1、掌握存储器读写方法2、了解存储器的块操作方法.二、实验要求&#xff1a; 设…