创建存储过程show_space
create or replace procedure show_space ( p_segname_1 in varchar2, p_space in varchar2 default 'MANUAL', p_type_1 in varchar2 default 'TABLE' , p_analyzed in varchar2 default 'N', p_owner_1 in varchar2 default user) as p_segname varchar2(100); p_type varchar2(10); p_owner varchar2(30); l_unformatted_blocks number; l_unformatted_bytes number; l_fs1_blocks number; l_fs1_bytes number; l_fs2_blocks number; l_fs2_bytes number; l_fs3_blocks number; l_fs3_bytes number; l_fs4_blocks number; l_fs4_bytes number; l_full_blocks number; l_full_bytes number; l_free_blks number; 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 p_segname := upper(p_segname_1); -- rainy changed p_owner := upper(p_owner_1); p_type := p_type_1; if (p_type_1 = 'i' or p_type_1 = 'I') then --rainy changed p_type := 'INDEX'; end if; if (p_type_1 = 't' or p_type_1 = 'T') then --rainy changed p_type := 'TABLE'; end if; if (p_type_1 = 'c' or p_type_1 = 'C') then --rainy changed p_type := 'CLUSTER'; end if; dbms_space.unused_space ( segment_owner => p_owner, segment_name => p_segname, segment_type => p_type, 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 ); if p_space = 'MANUAL' or (p_space <> 'auto' and p_space <> 'AUTO') then dbms_space.free_blocks ( segment_owner => p_owner, segment_name => p_segname, segment_type => p_type, freelist_group_id => 0, free_blks => l_free_blks ); p( 'Free Blocks', l_free_blks ); end if; 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 ); /*IF the segment is analyzed */ if p_analyzed = 'Y' then dbms_space.space_usage(segment_owner => p_owner , segment_name => p_segname , segment_type => p_type , unformatted_blocks => l_unformatted_blocks , unformatted_bytes => l_unformatted_bytes, fs1_blocks => l_fs1_blocks, fs1_bytes => l_fs1_bytes , fs2_blocks => l_fs2_blocks, fs2_bytes => l_fs2_bytes, fs3_blocks => l_fs3_blocks , fs3_bytes => l_fs3_bytes, fs4_blocks => l_fs4_blocks, fs4_bytes => l_fs4_bytes, full_blocks => l_full_blocks, full_bytes => l_full_bytes); dbms_output.put_line(rpad(' ',50,'*')); dbms_output.put_line('The segment is analyzed'); p( '0% -- 25% free space blocks', l_fs1_blocks); p( '0% -- 25% free space bytes', l_fs1_bytes); p( '25% -- 50% free space blocks', l_fs2_blocks); p( '25% -- 50% free space bytes', l_fs2_bytes); p( '50% -- 75% free space blocks', l_fs3_blocks); p( '50% -- 75% free space bytes', l_fs3_bytes); p( '75% -- 100% free space blocks', l_fs4_blocks); p( '75% -- 100% free space bytes', l_fs4_bytes); p( 'Unused Blocks', l_unformatted_blocks ); p( 'Unused Bytes', l_unformatted_bytes ); p( 'Total Blocks', l_full_blocks); p( 'Total bytes', l_full_bytes); end if; end;
SQL> set serveroutput on; SQL> exec show_space('workinfo','auto'); Total Blocks............................8 Total Bytes.............................65536 Unused Blocks...........................0 Unused Bytes............................0 Last Used Ext FileId....................4 Last Used Ext BlockId...................15577 Last Used Block.........................8 PL/SQL procedure successfully completed SQL> exec show_space('workinfo','auto','T','Y'); Total Blocks............................8 Total Bytes.............................65536 Unused Blocks...........................0 Unused Bytes............................0 Last Used Ext FileId....................4 Last Used Ext BlockId...................15577 Last Used Block.........................8 ************************************************* The segment is analyzed 0% -- 25% free space blocks.............1 0% -- 25% free space bytes..............8192 25% -- 50% free space blocks............0 25% -- 50% free space bytes.............0 50% -- 75% free space blocks............0 50% -- 75% free space bytes.............0 75% -- 100% free space blocks...........0 75% -- 100% free space bytes............0 Unused Blocks...........................0 Unused Bytes............................0 Total Blocks............................4 Total bytes.............................32768 PL/SQL procedure successfully completed
分析ASSM 索引 SQL> exec show_space('WORKINFO_STATUS','auto','i'); Total Blocks............................8 Total Bytes.............................65536 Unused Blocks...........................4 Unused Bytes............................32768 Last Used Ext FileId....................4 Last Used Ext BlockId...................24073 Last Used Block.........................4
--查看表空间是否自动段管理 select tablespace_name, segment_space_management from dba_tablespaces
发表评论
文章已被作者锁定,不允许评论。
-
DB2 学习笔记
2012-03-19 12:28 0ORACLE CREATE TABLE COLUMN DEFA ... -
Oracle Session
2010-12-14 15:50 760select sid,user,status,machine, ... -
9i新特性之Flashback Query的应用-------------针对DML误操作的恢复【转】
2010-12-09 10:07 594用dbms_flashback包 dbms_flashb ... -
ORACLE【Undo Tablespace】
2010-12-08 15:28 986--查看unco tablespace使用情况的语句 SE ... -
oracle asm学习
2010-12-08 11:11 9001.什么是ASM ASM全称 ... -
Oracle学习之路【六】确定当前ORACLE的性能瓶颈
2010-12-03 13:57 802确定当前ORACLE的性能瓶颈 首先,利用V$SYSTEM_ ... -
Java排序【转】
2010-12-03 13:46 765=============================== ... -
Oracle学习之路【二】
2010-12-03 13:43 774=============================== ... -
Oracle学习之路【一】
2010-12-03 13:32 729============================= ... -
染指内存数据库【一】
2010-10-25 13:35 923IBM solidDB 可以部署为一个独立的内存数据库 ... -
ORACLE索引表学习
2010-08-18 16:45 1297索引表与标准表的差异 一、索引表中的ROW ... -
ORACLE零散乱记
2010-06-15 15:15 964PGA_AGGREGATE_TARGET = (物理内存大小 ... -
ORACLE10g 自动SGA管理(一)
2010-01-23 19:33 920SGA -- 数据库块缓冲高速缓存 (db_cache_ ... -
ORACLE10g 闪回表学习
2010-01-23 19:20 636当表被Drop掉后,表及其相关对象被放在一个称 ... -
ORACLE10g ASSM 学习(一)
2010-01-20 20:51 767创建存储过程show_space_assm CREAT ... -
ORACLE10g学习笔记(六)
2010-01-17 23:06 7651. 自动碎片整理 Coalesce ... -
ORACLE10g学习笔记(五)
2010-01-17 19:48 5761. 检查Oracle的进程 $ ... -
ORACLE10g学习笔记(四)
2010-01-17 19:41 7281. 实时查询最耗CPU资源的SQL语句 1. 先通过top ... -
ORACLE10g学习笔记(三)
2010-01-17 17:40 7461. 数据库字符集 通过AL ... -
ORACLE10g学习笔记(二)
2010-01-17 16:29 7321. 表内操作 表内操作 -- 1 -- 删除原主键 ...
相关推荐
这个培训文档集旨在帮助学习者深入理解Oracle 10g数据库的核心概念、功能以及最佳实践,以便成功通过OCP认证考试。 首先,D17092CN31_SG1教材.pdf可能涵盖了Oracle 10g的基础知识,包括但不限于以下几个方面: 1. ...
10. **自动操作**:Oracle11g的自动管理特性,如自动段空间管理(ASSM)、自动工作量管理(AWM)和自动统计信息收集,能够减轻DBA的工作负担。 通过深入学习和实践这些知识点,IT专业人员将能够有效地管理和维护...
通过《一头扎进Oracle 11g》第十五讲的源码及文档,学习者可以深入理解这些核心概念,并结合实际案例进行实践,提升在Oracle 11g数据库管理、开发和调优方面的技能。源码部分可能涵盖了数据库脚本、存储过程、触发器...
### Oracle10g DBA 监控和调整数据库知识点...通过上述知识点的学习,读者可以了解到Oracle10g DBA中关于监控和调整数据库的基本概念、工具使用方法以及实践操作流程。这对于有效管理和优化Oracle数据库性能至关重要。
5. **存储管理改进**:在存储层面,Oracle Database 11g引入了诸如自动段空间管理(ASSM)等新特性,简化了存储空间的管理,提高了存储效率。 #### 三、Oracle Database 11g新特性详解 除了架构上的改进之外,Oracle...
12. **Oracle10g存储结构新特性**:讨论Oracle10g引入的新存储特性,如Automatic Segment Space Management(ASSM)。 13. **Oracle的Schema对象及管理**:Schema的概念,以及如何创建、修改和删除Schema中的对象。...
- Oracle 11g提供了自动段空间管理(Automatic Segment Space Management, ASSM),简化了段空间的分配和回收。 - 临时表空间用于存储临时工作数据,如排序和联接操作。 2. **备份与恢复**: - RMAN(Recovery ...
通过对上述核心知识点的学习与实践,DBA们能够更好地理解和掌握Oracle 10g数据库的性能调优技巧与方法。这不仅有助于提高系统运行效率,还能够在面对复杂性能问题时具备更加敏锐的洞察力和解决问题的能力。希望每位...
### Oracle 11g 面向 DBA 的新功能详解——SecureFiles #### 一、背景介绍 在 Oracle 11g 中,为了更好地适应不断发展的业务需求和技术挑战,Oracle 对 LOB (Large Object) 功能进行了重大升级,引入了一种全新的...
他不仅在Lands’ End担任数据库设计师和Oracle数据库管理员,还为多个Oracle Press和Apress书籍担任技术编辑,并编写了多本Oracle 10g和11g的认证学习指南。书籍的技术编辑Gavin Powell也是一位经验丰富的IT专家,他...
- **Bob Bryla**:拥有超过20年的数据库设计、开发和Oracle数据库管理经验,是Oracle 9i、10g、11g及12c认证专家。目前担任Epic公司首席Oracle DBA及数据库系统工程师。此外,他还参与了多本Oracle Press书籍的技术...
Oracle 10g引入了ASSM,它自动处理段空间的分配和碎片整理,简化了存储管理。启用ASSM的表空间创建语句: ```sql CREATE TABLESPACE tablespace_name AUTOEXTEND ON NEXT size INCREMENT BY increment EXTENT ...
Oracle 9i作为早期版本,虽然在功能上可能不及后来的10g、11g和12c,但它奠定了许多现代Oracle数据库管理的基础,对于深入理解Oracle数据库原理和技术发展有着重要的参考价值。通过深入研读这前三章,DBA可以建立起...
根据提供的文档信息,我们可以总结出以下关于Oracle Database 10g性能管理的相关知识点: ### 性能管理概述 - **课程目标**:本课程旨在帮助学员掌握如何利用Oracle Enterprise Manager监控数据库性能、使用SQL ...