zoukankan      html  css  js  c++  java
  • dbms_space_admin.drop_empty_segments

    create or replace package dbms_space_admin is ------------ -- OVERVIEW -- -- This package provides tablespace/segment space administration -- not available through the standard sql. -- SECURITY -- -- run with SYS privileges. thus any user who has privilege to execute the -- the package gets to manipulate the bitmapes. -- CONSTANTS to be used as OPTIONS for various procedures -- refer comments with procedure(s) for more detail SEGMENT_VERIFY_EXTENTS constant positive := 1; -- used to verify that the space owned by segment is appropriately reflected -- in the bitmap as used SEGMENT_VERIFY_EXTENTS_GLOBAL constant positive := 2; -- used to verify that the space owned bu segment is appropriately reflected -- in the bitmap as used and that no other segment claims any of this space -- to be used by it SEGMENT_MARK_CORRUPT constant positive := 3; -- used to mark a temp segment as corrupt whereby facilitating its -- elimination from the dictionary (without space reclaim) SEGMENT_MARK_VALID constant positive := 4; -- used to mark a corrupt temp segment as valid. Useful when the corruption -- in the segment extent map or elsewhere has been resolved and the segment -- can be dropped normally SEGMENT_DUMP_EXTENT_MAP constant positive := 5; -- dump the extent map for a given segment TABLESPACE_VERIFY_BITMAP constant positive := 6; -- verifies the bitmap of the tablespace with extent maps of the segments -- in that tablespace to make sure everything is consistent TABLESPACE_EXTENT_MAKE_FREE constant positive := 7; -- makes this range (extent) of space free in the bitmaps TABLESPACE_EXTENT_MAKE_USED constant positive := 8; -- makes this range (extent) of space used in the bitmaps SEGMENT_VERIFY_BASIC constant positive := 9; SEGMENT_VERIFY_DEEP constant positive := 10; SEGMENT_VERIFY_SPECIFIC constant positive := 11; HWM_CHECK constant positive := 12; BMB_CHECK constant positive := 13; SEG_DICT_CHECK constant positive := 14; EXTENT_TS_BITMAP_CHECK constant positive := 15; DB_BACKPOINTER_CHECK constant positive := 16; EXTENT_SEGMENT_BITMAP_CHECK constant positive := 17; BITMAPS_CHECK constant positive := 18; TS_VERIFY_BITMAPS constant positive := 19; TS_VERIFY_DEEP constant positive := 20; TS_VERIFY_SEGMENTS constant positive := 21; SEGMENT_DUMP_BITMAP_SUMMARY constant positive := 27; NGLOB_HBB_CHECK constant positive := 12; NGLOB_FSB_CHECK constant positive := 13; NGLOB_PUA_CHECK constant positive := 14; NGLOB_CFS_CHECK constant positive := 15;   ---------------------------- -- PROCEDURES AND FUNCTIONS procedure segment_verify( tablespace_name in varchar2 , header_relative_file in positive , header_block in positive , verify_option in positive DEFAULT SEGMENT_VERIFY_EXTENTS ); -- -- Verifies the consistency of the extent map of the segment -- Input arguments: -- tablespace_name - name of tablespace in which segment resides -- header_relative_file - relative file number of segment segment header -- header_block - block number of segment segment header -- verify_option - SEGMENT_VERIFY_EXTENTS or -- SEGMENT_VERIFY_EXTENTS_GLOBAL -- procedure segment_corrupt( tablespace_name in varchar2 , header_relative_file in positive , header_block in positive , corrupt_option in positive DEFAULT SEGMENT_MARK_CORRUPT ); -- -- Marks the segment corrupt/valid so that appropriate error recovery -- can be done/skipped. Only for segments already temporary. -- Input arguments: -- tablespace_name - name of tablespace in which segment resides -- header_relative_file - relative file number of segment segment header -- header_block - block number of segment segment header -- corrupt_option - SEGMENT_MARK_CORRUPT or -- SEGMENT_MARK_VALID -- procedure segment_drop_corrupt( tablespace_name in varchar2 , header_relative_file in positive , header_block in positive ); -- -- Drops a segment currently marked corrupt (without reclaiming space) -- Input arguments: -- tablespace_name - name of tablespace in which segment resides -- header_relative_file - relative file number of segment segment header -- header_block - block number of segment segment header -- procedure segment_dump( tablespace_name in varchar2 , header_relative_file in positive , header_block in positive , dump_option in positive DEFAULT SEGMENT_DUMP_EXTENT_MAP ); -- -- Dumps the extent map of a given segment -- Input arguments: -- tablespace_name - name of tablespace in which segment resides -- header_relative_file - relative file number of segment segment header -- header_block - block number of segment segment header -- dump_option - SEGMENT_DUMP_EXTENT_MAP -- procedure tablespace_verify( tablespace_name in varchar2 , verify_option in positive DEFAULT TABLESPACE_VERIFY_BITMAP ); -- -- Verifies that the extent maps and the bitmaps are in sync. -- Input arguments: -- tablespace_name - name of tablespace -- verify_option - TABLESPACE_VERIFY_BITMAP -- procedure tablespace_fix_bitmaps( tablespace_name in varchar2 , dbarange_relative_file in positive , dbarange_begin_block in positive , dbarange_end_block in positive , fix_option in positive ); -- -- Marks the appropriate dba range (extent) as free/used in bitmap -- Input arguments: -- tablespace_name - name of tablespace -- dbarange_relative_file - relative fileno of dba range (extent) -- dbarange_begin_block - block number of beginning of extent -- dbarange_end_block - block number (inclusive) of end of extent -- fix_option - TABLESPACE_EXTENT_MAKE_FREE or -- TABLESPACE_EXTENT_MAKE_USED -- procedure tablespace_rebuild_bitmaps( tablespace_name in varchar2 , bitmap_relative_file in positive DEFAULT NULL, bitmap_block in positive DEFAULT NULL ); -- -- Rebuilds the appropriate bitmap(s). If no bitmap block dba specified then -- rebuilds all bitmaps for the given tablespace -- Input arguments: -- tablespace_name - name of tablespace -- bitmap_relative_file - relative file number of bitmap block to rebuild -- bitmap_block - block number of bitmap block to rebuild -- -- procedure tablespace_rebuild_quotas( tablespace_name in varchar2 ); -- -- Rebuilds quotas for given tablespace -- Input arguments: -- tablespace_name - name of tablespace -- -- procedure tablespace_migrate_from_local( tablespace_name in varchar2 ); -- -- Migrates a locally-managed tablespace to dictionary managed -- Input arguments: -- tablespace_name - name of tablespace -- procedure tablespace_migrate_to_local( tablespace_name in varchar2, unit_size in positive DEFAULT NULL, rfno in positive DEFAULT NULL ); -- -- Migrates a dictionary-managed tablespace to locally managed -- Input arguments: -- tablespace_name - name of tablespace -- unit_size - bitmap unit size for the tablespace -- -- procedure tablespace_relocate_bitmaps( tablespace_name in varchar2, filno in positive, blkno in positive); -- -- Tablespace relocate bitmaps to a different location -- Input arguments: -- tablespace_name - name of tablespace -- -- procedure tablespace_fix_segment_states( tablespace_name in varchar2); -- -- Tablespace fix segment states. During migration of tablespaces -- the segments are put in a transition state. If migration fails, -- the state of the segments can be corrected by calling this -- procedure. This procedure should be called if migration failed -- and the user tries to run in an incompatible mode. -- procedure tablespace_fix_segment_extblks( tablespace_name in varchar2); -- -- Tablespace fix segment extents and blocks based on segment -- header entries -- procedure tablespace_dump_bitmaps( tablespace_name in varchar2); -- -- Tablespace space header of files function segment_number_extents( header_tablespace_id in natural , header_relative_file in positive , header_block in positive , segment_type in positive , buffer_pool_id in natural , dictionary_flags in natural , data_object_id in number, dictionary_extents in number ) return pls_integer; pragma RESTRICT_REFERENCES(segment_number_extents,WNDS,WNPS,RNPS); -- -- Returns the number of extents which belong to the segment. Will return -- NULL if segment has disappeared. IS NOT to be used for any other -- purposes but by the views which need it and are sure that there info -- is correct. Else internal errors will abound -- function segment_number_blocks( header_tablespace_id in natural , header_relative_file in positive , header_block in positive , segment_type in positive , buffer_pool_id in natural , dictionary_flags in natural , data_object_id in number, dictionary_blocks in number ) return pls_integer; pragma RESTRICT_REFERENCES(segment_number_blocks,WNDS,WNPS,RNPS); -- -- Returns the number of blocks which belong to the segment. Will return -- NULL if segment has disappeared. IS NOT to be used for any other -- purposes but by the views which need it and are sure that there info -- is correct. Else internal errors will abound -- procedure segment_moveblocks( segment_owner in varchar2, segment_name in varchar2, partition_name in varchar2, segment_type in varchar2, group_id in natural, minimum_size in positive, move_count in positive, pause_time in natural, iterations in positive ); -- -- Moves blocks from the segment header to the process freelist -- It only moves blocks if the list is shorter than the minimum -- size for the move_count blocks -- segment_owner - name of the object's owner -- segment_name - name of the object -- partition_name - name of the partition (NULL if not partitioned) -- segment_type - object type (TABLE, INDEX, etc - see DBMS_SPACE) -- group_id - freelist group (0 for the segment header) -- minimum_size - do not move if process free list is longer -- move_count - move up to this number of blocks -- pause_time - pause between loop iterations -- iterations - number of iterations (infinite if NULL) --   procedure assm_segment_verify( segment_owner in varchar2, segment_name in varchar2, segment_type in varchar2, partition_name in varchar2, verify_option in positive default SEGMENT_VERIFY_BASIC , attrib in positive default NULL); -- -- Verifies the consistency of the segment -- Input arguments: -- segment_owner - owner -- segment_name - name of the segment -- segment_type - type of segment -- partition_name - name of partition default NULL -- verify_option - one of SEGMENT_VERIFY_BASIC, DEEP , SPECIFIC -- attrib - used when option SEGMENT_VERIFY_SPECIFIC procedure nglob_segment_verify( segment_owner in varchar2, segment_name in varchar2, segment_type in varchar2, partition_name in varchar2, verify_option in positive default SEGMENT_VERIFY_BASIC , attrib in positive default NULL); -- -- Verifies the consistency of the segment -- Input arguments: -- segment_owner - owner -- segment_name - name of the segment -- segment_type - type of segment -- partition_name - name of partition default NULL -- verify_option - one of SEGMENT_VERIFY_BASIC, DEEP , SPECIFIC -- attrib - used when option SEGMENT_VERIFY_SPECIFIC procedure assm_tablespace_verify( tablespace_name in varchar2, ts_option in positive, segment_option in positive default NULL); -- -- Verifies that the tablespace consistency. -- Input arguments: -- tablespace_name - name of tablespace -- ts_option - TS_VERIFY_BITMAPS, TS_VERIFY_DEEP, TS_VERIFY_SEGMENTS -- segment option - used when TS_VERIFY_SEGMENTS, one of SEGMENT_VERIFY_DEEP, SPECIFIC -- function assm_segment_synchwm( segment_owner in varchar2, segment_name in varchar2, segment_type in varchar2, partition_name in varchar2 default NULL, check_only in number default 1 ) return pls_integer; -- -- Synchronize HWMs of the ASSM segment -- Input arguments: -- segment_owner - owner -- segment_name - name of the segment -- segment_type - type of segment -- partition_name - name of partition default NULL -- check_only - whether it is check only default YES -- Output: -- Return TRUE if the segment requires HWM synchronization -- Return FALSE otherwise procedure flush_lobsegment_stats; procedure purge_lobsegment_stats; ------------------------------------------------------------------------- -- PROCEDURE securefile_segment_repair ------------------------------------------------------------------------- -- segment repair option: repair metadata blocks SEGMENT_REPAIR_METADATA constant positive := 1; procedure segment_repair( segment_owner in varchar2, segment_name in varchar2, segment_type in varchar2, partition_name in varchar2 default NULL, repair_option in number default SEGMENT_REPAIR_METADATA ); -- -- Description: -- Repair SecureFile segment -- Input parameters: -- segment_owner - owner -- segment_name - name of the LOB segment -- segment_type - type of segment -- values: 'LOB', 'LOB PARTITION', 'LOB SUBPARTITION' -- partition_name - name of the LON partition segment -- default: NULL -- repair_option - segment repair option, -- values: see SEGMENT_REPAIR_*** definitions -- default: SEGMENT_REPAIR_METADATA -- Note: -- This function is only used internally and does not require -- documentation. ------------------------------------------------------------------------- -- PROCEDURE segment_extend ------------------------------------------------------------------------- procedure segment_extend( segment_owner in varchar2, segment_name in varchar2, segment_type in varchar2, partition_name in varchar2 default NULL, target_size in number default 1 ); -- -- Description: -- SecureFile segment extend in background -- Input parameters: -- segment_owner - owner -- segment_name - name of the LOB segment -- segment_type - type of segment -- values: 'LOB', 'LOB PARTITION', 'LOB SUBPARTITION' -- partition_name - name of the LOB partition segment -- default: NULL -- target_size - segment target size in GB -- Note: -- This function is only used internally and does not require -- documentation. ------------------------------------------------------------------------- -- PROCEDURE drop_empty_segments ------------------------------------------------------------------------- procedure drop_empty_segments( schema_name in varchar2 default NULL, table_name in varchar2 default NULL, partition_name in varchar2 default NULL ); -- -- Description: -- Drop segments from empty table(s)/table fragments and dependent -- objects. -- Input parameters: -- schema_name - schema name, default: NULL -- table_name - table name, default: NULL -- partition_name - partition name, default: NULL -- Note: -- Given a schema name, this procedure scans all tables in the schema -- For each table, if the table or any of its fragments are found to be -- empty, and the table satisfies certain criteria [restrictions being -- the same as those imposed by segment creation on demand], the empty -- fragments and associated index segments are dropped. A subsequent -- insert will create segments with the same properties. -- Optionally, -- a. no schema name may be specified in which case we would scan -- tables belonging to all schemas -- b. both schema_name and table_name may be specified to do this -- operation on one particular table -- c. all three arguments may be supplied, in which case we will -- restrict this operation to that partition and its dependent -- objects. ------------------------------------------------------------------------- -- PROCEDURE materialize_deferred_segments ------------------------------------------------------------------------- procedure materialize_deferred_segments( schema_name in varchar2 default NULL, table_name in varchar2 default NULL, partition_name in varchar2 default NULL ); -- -- Description: -- Materialize segments for tables/table fragments with deferred -- segment creation (and their dependent objects) -- Input parameters: -- schema_name - schema name, default: NULL -- table_name - table name, default: NULL -- partition_name - partition name, default: NULL -- Note: -- Given a schema name, this procedure scans all tables in the schema. -- For each table, if the deferred/delayed segment property is set for -- the table or any of its fragments, a new segment is created for -- those fragments and their dependent objects. -- Optionally, -- a. no schema name may be specified in which case we would scan tables -- belonging to all schemas -- b. both schema_name and table_name may be specified to do this -- operation on one particular table -- c. all three arguments may be supplied, in which case we will -- restrict this operation to that partition and its dependent -- objects ------------------------------------------------------------------------- -- PROCEDURE materialize_deferred_with_opt ------------------------------------------------------------------------- procedure materialize_deferred_with_opt( schema_name in varchar2 default NULL, table_name in varchar2 default NULL, partition_name in varchar2 default NULL, partitioned_only in boolean default FALSE ); -- -- Description: -- Materialize segments for tables/table fragments with deferred -- segment creation (and their dependent objects), with an additional -- option. -- Input parameters: -- schema_name - schema name, default: NULL -- table_name - table name, default: NULL -- partition_name - partition name, default: NULL -- partitioned_only - apply materialize procedure on partitioned -- tables only, default: FALSE -- Note: -- The materialize_deferred_segments procedure is a wrapper around -- this. This procedure is required for downgrading (from 11.2.0.2) -- to materialize segments for partitioned tables only. The -- partitioned_only argument supports this limited behavior. ------------------------------------------------------------------------- -- PROCEDURE tablespace_fix_affinity ------------------------------------------------------------------------- procedure tablespace_fix_affinity( tablespace_name in varchar2, block_num in binary_integer, instance_id in binary_integer DEFAULT NULL ); -- -- Description: -- This procedure sets instance affinity of a File Bitmap Block -- in bigfile tablespace. The block can be either a Level 1 bitmap -- block (FFB) or a Level 2 bitmap block (FSB). -- The report will be generated in the corresponding trace file of -- the session that runs this procedure. -- -- Input parameters: -- tablespace_name - name of tablespace -- block_num - block number -- instance_id - id of instance to be affined, by default -- it is the current instance -- -- Note: -- (1) If the block is Second-level File Bitmap block (FSB), and if -- there is another FSB that has already been affined to the instance -- specified, this FSB will be freed. -- (2) This function is only used internally and does not require -- documentation. end;
  • 相关阅读:
    前端登录,这一篇就够了
    JS 之跨域问题汇总
    一篇搞定(Js异步、事件循环与消息队列、微任务与宏任务)
    在vue-cli@3.X中配置代理解决开发环境的跨域问题的同时解决cookie问题--Cookies 解决方案
    多包管理工具lerna
    js中的事件监听(冒泡和捕获)
    js事件监听/鼠标滚轮/行为/冒泡/键盘的兼容性写法
    详解clientHeight、offsetHeight、scrollHeight
    Css背景渐变
    CSS生成内容
  • 原文地址:https://www.cnblogs.com/macleanoracle/p/2968278.html
Copyright © 2011-2022 走看看