• TOM大师脚本-show space 多个版本,谢谢大牛们


     

     

     

     

    示例一

    该脚本需区分 对象的管理方式是 自动还是 手动, 对手动管理方式 的表显示很全面

    SQL> exec show_space_old('MAN_TAB','DEV','TABLE');

    Free Blocks.............................4

    Total Blocks............................2560

    Total bytes.............................20971520

    Unused Blocks...........................98

    Unused bytes............................802816

    Last Used Ext Fileid....................5

    Last Used Ext Blocked...................7296

    Last Used Block.........................30

     

     

    SQL>  exec show_space_old('AUTO_TAB','DEV','TABLE');

    BEGIN show_space_old('AUTO_TAB','DEV','TABLE'); END;

     

    *

    ERROR at line 1:

    ORA-10618: Operation not allowed on this segment

    ORA-06512: at "SYS.DBMS_SPACE", line 191

    ORA-06512: at "DEV.SHOW_SPACE_OLD", line 21

    ORA-06512: at line 1

     

    Show_space_old,脚本如下:

    create or replace procedure show_space_old (

    p_segname in varchar2,

    p_owner in varchar2 default 'dev',

    p_type in varchar2 default 'TABLE',

    p_partition in varchar2 default null)

    as

    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

    dbms_space.free_blocks(

    segment_owner=> p_owner,

    segment_name=> p_segname,

    segment_type=> p_type,

    partition_name=> p_partition,

    freelist_group_id=> 0,

    free_blks=> l_free_blks);

     

    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('Free Blocks',l_free_blks);

    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 Blocked',l_lastusedextblockid);

    p('Last Used Block',l_last_used_block);

    end show_space_old;

     

    示例二

    该脚本需区分 对象的管理方式是 自动还是 手动,对 自动管理方式 的表显示很全面

    SQL> exec show_space_1810('MAN_TAB','DEV','TABLE');

    Total Blocks............................2560

    Total Bytes.............................20971520

    Unused Blocks...........................98

    Unused Bytes............................802816

    Last Used Ext FileId....................5

    Last Used Ext BlockId...................7296

    Last Used Block.........................30

    BEGIN show_space_1810('MAN_TAB','DEV','TABLE'); END;

     

    *

    ERROR at line 1:

    ORA-10614: Operation not allowed on this segment

    ORA-06512: at "SYS.DBMS_SPACE", line 214

    ORA-06512: at "DEV.SHOW_SPACE_1810", line 93

    ORA-06512: at line 1

     

    SQL> exec show_space_1810('AUTO_TAB','DEV','TABLE');

    Total Blocks............................3840

    Total Bytes.............................31457280

    Unused Blocks...........................0

    Unused Bytes............................0

    Last Used Ext FileId....................4

    Last Used Ext BlockId...................4224

    Last Used Block.........................128

    *************************************************

    The segment is analyzed

    0% -- 25% free space blocks.............3

    0% -- 25% free space bytes..............24576

    25% -- 50% free space blocks............1

    25% -- 50% free space bytes.............8192

    50% -- 75% free space blocks............0

    50% -- 75% free space bytes.............0

    75% -- 100% free space blocks...........23

    75% -- 100% free space bytes............188416

    Unused Blocks...........................62

    Unused Bytes............................507904

    Total Blocks............................3683

    Total bytes.............................30171136

     

     

    Show_space_1810,脚本如下:

    create or replace procedure show_space_1810

    ( p_segname_1 in varchar2,

    p_owner_1 in varchar2 default user,

    p_type_1 in varchar2 default 'TABLE',

    p_space in varchar2 default 'AUTO',

    p_analyzed in varchar2 default 'Y'

    )

    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 show_space_1810;

     

    **************************** 3 **************************************

    示例三

    该脚本需 区分 对象的管理方式是 自动还是 手动,只对管理方式是 手动管理 的表有效

    SQL> exec show_space('MAN_TAB','DEV','TABLE');

    Free Blocks.............................4

    Total Blocks............................2560

    Total bytes.............................20971520

    Unused Blocks...........................98

    Unused bytes............................802816

    Last Used Ext Fileid....................5

    Last Used Ext Blocked...................7296

    Last Used Block.........................30

     

    PL/SQL procedure successfully completed.

     

    SQL> exec show_space('AUTO_TAB','DEV','TABLE');

    BEGIN show_space('AUTO_TAB','DEV','TABLE'); END;

     

    *

    ERROR at line 1:

    ORA-10618: Operation not allowed on this segment

    ORA-06512: at "SYS.DBMS_SPACE", line 191

    ORA-06512: at "DEV.SHOW_SPACE", line 21

    ORA-06512: at line 1

     

     

    Show_space脚本,如下:

    create or replace procedure show_space (

    p_segname in varchar2,

    p_owner in varchar2 default 'dev',

    p_type in varchar2 default 'TABLE',

    p_partition in varchar2 default null)

    as

    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

    dbms_space.free_blocks(

    segment_owner=> p_owner,

    segment_name=> p_segname,

    segment_type=> p_type,

    partition_name=> p_partition,

    freelist_group_id=> 0,

    free_blks=> l_free_blks);

     

    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('Free Blocks',l_free_blks);

    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 Blocked',l_lastusedextblockid);

    p('Last Used Block',l_last_used_block);

    end show_space;

     

     

    **************************** 4 **************************************

    示例四

    该脚本不需 区分 对象的管理方式是 自动还是 手动,确实很智能

    SQL> exec show_space_1052(P_SEGNAME_1=>'MAN_TAB',P_TYPE_1=>'TABLE',P_OWNER_1=>'DEV');

    Free Blocks.............................4

    Total Blocks............................2560

    Total Bytes.............................20971520

    Unused Blocks...........................98

    Unused Bytes............................802816

    Last Used Ext FileId....................5

    Last Used Ext BlockId...................7296

    Last Used Block.........................30

     

    SQL> exec show_space_1052(P_SEGNAME_1=>'AUTO_TAB',P_TYPE_1=>'TABLE',P_OWNER_1=>'DEV');

    Total Blocks............................3840

    Total Bytes.............................31457280

    Unused Blocks...........................0

    Unused Bytes............................0

    Last Used Ext FileId....................4

    Last Used Ext BlockId...................4224

    Last Used Block.........................128

     

    执行该脚本,需要事先 授予 对象的 select权限,如下

    SQL> grant select on dba_segments  to public;

     

    Grant succeeded.

     

    SQL> grant select on dba_tablespaces to public;

     

    Grant succeeded.

     

    SQL> grant select on dba_tablespaces to dev;

     

    Grant succeeded.

     

    SQL> grant select on dba_segments  to  dev;

     

    Grant succeeded.

     

     

    show_space_1052脚本如下:

    create or replace procedure show_space_1052

    ( p_segname_1 in varchar2,

    p_type_1 in varchar2 default 'TABLE' ,

    p_analyzed in varchar2 default 'N',

    p_owner_1 in varchar2 default user)

    authid current_user

    as

    p_segname varchar2(100);

    p_type varchar2(10);

    p_owner varchar2(30);

    p_space varchar2(10);

     

    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;

     

    select t.segment_space_management into p_space

    from dba_tablespaces t , dba_segments s

    where s.tablespace_name = t.tablespace_name

    and s.segment_name = p_segname

    and s.owner = p_owner

    and s.segment_type = p_type ; -- RollingPig change it.

    -- if you compile with error,you may login with sys and grant select on dba_tablespace,dba_segments to current_user

     

    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 show_space_1052;

    示例五

    该脚本不需 区分 对象的管理方式是 自动还是 手动,确实很智能,只是简单的 把 输入参数 upper处理下

    SQL> exec show_space_1052(P_SEGNAME=>'MAN_TAB',P_TYPE=>'TABLE',P_OWNER=>'DEV');

    Free Blocks.............................4

    Total Blocks............................2560

    Total Bytes.............................20971520

    Unused Blocks...........................98

    Unused Bytes............................802816

    Last Used Ext FileId....................5

    Last Used Ext BlockId...................7296

    Last Used Block.........................30

     

    SQL> exec show_space_1052(P_SEGNAME_1=>'AUTO_TAB',P_TYPE_1=>'TABLE',P_OWNER_1=>'DEV');

    Total Blocks............................3840

    Total Bytes.............................31457280

    Unused Blocks...........................0

    Unused Bytes............................0

    Last Used Ext FileId....................4

    Last Used Ext BlockId...................4224

    Last Used Block.........................128

     

    执行该脚本,需要事先 授予 对象的 select权限,如下

    SQL> grant select on dba_segments  to public;

     

    Grant succeeded.

     

    SQL> grant select on dba_tablespaces to public;

     

    Grant succeeded.

     

    SQL> grant select on dba_tablespaces to dev;

     

    Grant succeeded.

     

    SQL> grant select on dba_segments  to  dev;

     

    Grant succeeded.

     

     

    show_space_1052脚本如下:  只是稍微修改下,把输入参数 upper 处理

    create or replace procedure show_space_1052

    ( p_segname in varchar2,

    p_type in varchar2 default 'TABLE' ,

    p_analyzed in varchar2 default 'N',

    p_owner in varchar2 default user)

    authid current_user

    as

    p_segname varchar2(100);

    p_type varchar2(10);

    p_owner varchar2(30);

    p_space varchar2(10);

     

    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;

     

    select t.segment_space_management into p_space

    from dba_tablespaces t , dba_segments s

    where s.tablespace_name = t.tablespace_name

    and s.segment_name = p_segname

    and s.owner = p_owner

    and s.segment_type = p_type ; -- RollingPig change it.

    -- if you compile with error,you may login with sys and grant select on dba_tablespace,dba_segments to current_user

     

    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 show_space_1052;
  • 相关阅读:
    Hammer.js--转载自李林峰的园子
    nodejs--模块
    gruntjs
    玩转github----1
    模块化开发--sea.js
    事件委托
    css兼容问题
    轮播图
    Spring整合Hibernate 二
    Spring整合Hibernate 一
  • 原文地址:https://www.cnblogs.com/iyoume2008/p/5242328.html
Copyright © 2020-2023  润新知