示例一

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

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;

TOM大师脚本-show space 多个版本,谢谢大牛们的更多相关文章

  1. TOM大师脚本01-查找未建索引的外键

    [oracle@Oracle11g 2016]$ cat 022201.sql column columns format a30 word_wrappedcolumn tablename forma ...

  2. Fiddler录制jmeter脚本--V4.4..0.1版本

      圣诞节到了,圣诞老人送平安,我们送技术,我们知道以前jmeter的脚本来源有三个,手动书写.badboy录制.自带的录制功能(jmeter3.0该功能还比较好),目前我们又多了一个fiddler生 ...

  3. shell脚本自动化安装pgsql10.5版本

    看到有个大佬写了个很实用的脚本,于是这里做了转载 #!/bin/bash #进入软件的制定安装目录 echo "进入目录/usr/local,下载pgsql文件" cd /usr/ ...

  4. linux脚本判断当前的linux版本是6还是7

    #!/bin/sh version="release 7." release=$(cat /etc/redhat-release) echo $release result=$(e ...

  5. 在Python脚本中判断Python的版本

    引自:http://segmentfault.com/q/1010000000127878 如果是给人读,用 sys.version,如果是给机器比较,用 sys.version_info,如果是判断 ...

  6. shell 脚本判断linux 的发行版本

    原文vi ./Get_Dist_Name.sh #!/bin/bash Get_Dist_Name() { if grep -Eqii "CentOS" /etc/issue || ...

  7. shell脚本实现自动化安装linux版本的loadrunner agent(centos6.8)

    #!/bin/bash #Centos6下安装LoadRunner负载机 #@author Agoly #@date #@source 高级测试技术交流圈: yum -y install expect ...

  8. 用shell脚本安装MySQL-5.7.22-Percona版本

    #!/bin/bash MySQL_Package=Percona-Server-5.7.22-22-Linux.x86_64.ssl101.tar.gz Package_Source=Percona ...

  9. bat脚本修改dns(判断系统版本)

    @echo off systeminfo if "%OS 名称%"=="%7%" goto windows7:windows7echo 正在设置本机主DNS , ...

随机推荐

  1. 一个QT 3D转动控件

    其实说到底就是不停的截图,做出的幻觉.联想起360拖动图片,也是合并图片做出的效果,可见的对GUI来说图片是一切,是最根本的解决一切问题的办法,编程仅是辅助实现手段而已,我要记住这一点. .h文件 # ...

  2. 【HDOJ】1501 Zipper

    DFS.注意剪枝,0ms. #include <stdio.h> #include <string.h> #define False 0 #define True 1 #def ...

  3. Coach(并查集)

    Description A programming coach has n students to teach. We know that n is divisible by 3. Let's ass ...

  4. luoguP2266 爱的距离

    题目:http://www.luogu.org/problem/show?pid=2266 题解:感觉题意不清,就去瞅题解了T_T 然后发现好水... 类似于MST,我们把边从小到大加进去就可以了. ...

  5. Linux Shell编程(18)—— 循环控制

    影响循环行为的命令break, continuebreak和continue这两个循环控制命令[1]与其它语言的类似命令的行为是相同的. break命令将会跳出循环,continue命令将会跳过本次循 ...

  6. JAVA中IO技术:BIO、NIO、AIO

    1.同步异步.阻塞非阻塞概念        同步和异步是针对应用程序和内核的交互而言的. 阻塞和非阻塞是针对于进程在访问数据的时候,根据IO操作的就绪状态来采取的不同方式,说白了是一种读取或者写入操作 ...

  7. (转载)prepare函数的学习,我要学习php第二天

    (转载)http://www.boyuan78.com/htm/company/2012_1030_60.html prepare函数的学习,我要学习php第二天 $mysqli = new mysq ...

  8. JAVA中ProcessBuilder执行cmd命令找不到路径的解决方法

    今天遇到了一个很奇葩的问题,终于解决了,记一下,以做备忘. 前提条件:工程路径在D盘下 cmd要执行的可执行文件路径不在D盘下 然后...出事了............................ ...

  9. Linux学习笔记4——函数调用栈空间的分配与释放

    一.函数执行时使用栈空间作为自己的临时栈,3种方式决定编译器清空栈的方式:__stdcall. __fastcall.__cdecl 1.__stdcall表示每个调用者负责清空自己调用的函数的临时栈 ...

  10. bzoj 3611 [Heoi2014]大工程(虚树+DP)

    3611: [Heoi2014]大工程 Time Limit: 60 Sec  Memory Limit: 512 MBSubmit: 408  Solved: 190[Submit][Status] ...