分享
 
 
 

一些常用的计划脚本(2)

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

print_table --纵向显示一行

create or replace

procedure print_table( p_query in varchar2 )

AUTHID CURRENT_USER

is

l_theCursor

integer default dbms_sql.open_cursor;

l_columnValue

varchar2(4000);

l_status

integer;

l_descTbl

dbms_sql.desc_tab;

l_colCnt

number;

begin

dbms_sql.parse(

l_theCursor,

p_query, dbms_sql.native );

dbms_sql.describe_columns( l_theCursor, l_colCnt, l_descTbl);

for i in 1 .. l_colCnt loop

dbms_sql.define_column(l_theCursor, i, l_columnValue, 4000);

end loop;

l_status := dbms_sql.execute(l_theCursor);

while ( dbms_sql.fetch_rows(l_theCursor) 0 ) loop

for i in 1 .. l_colCnt loop

dbms_sql.column_value( l_theCursor, i, l_columnValue );

dbms_output.put_line( rpad( l_descTbl(i).col_name, 30 )

|| ': ' ||

l_columnValue );

end loop;

dbms_output.put_line( '-----------------' ); --注意如果输出的行比较多的话,要加大dbms_output.enable(值)

end loop;

exception

when others then

dbms_sql.close_cursor( l_theCursor );

RAISE;

end;

/

grant execute on print_table to public;

--该脚本是实现横向改成纵向显示

例如:

一行记录显示如下:

ADMIN_MEMBER_ID

: dealexpress

VIEW_NAME

: Deal Express

BUSINESS_TYPE

: 5

FIRST_NAME

: Tim

LAST_NAME

: Horton

JOB_TITLE

:

PROVINCE

: Wisconsin

COUNTRY

: US

PHONE_COUNTRY

: 1920

PHONE_AREA

: 623

PHONE_NUMBER

: 9528

FAX_COUNTRY

: 1920

FAX_AREA

: 623

FAX_NUMBER

: 9528

MOBILE_NO

:

ZIP

: 53925

ADDRESS

: 215 Robbins Rd

CITY

: Columbus

#######################################################

show_space --用户模式下查看对象空间使用情况

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 )

authid current_user

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

for x in ( select tablespace_name

from user_tablespaces

where tablespace_name = ( select tablespace_name

from user_segments

where segment_type = p_type

and segment_name = p_segname

and SEGMENT_SPACE_MANAGEMENT < 'AUTO' )

)

loop

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

end loop;

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( 'Total MBytes', trunc(l_total_bytes/1024/1024) );

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;

#######################################################################

moveall.sql

--move表及rebuild 索引

set echo off

column order_col1 noprint

column order_col2 noprint

set heading off

set verify off

set feedback off

set echo off

spool move_build_tpcrm.sql

!date

select decode( segment_type, 'TABLE',

segment_name, table_name ) order_col1,

decode( segment_type, 'TABLE', 1, 2 ) order_col2,

'alter ' || segment_type || ' ' || segment_name ||

decode( segment_type, 'TABLE', ' move; ', ' rebuild; ' )

from user_segments,

(select table_name, index_name from user_indexes )

where segment_type in ( 'TABLE', 'INDEX' )

and segment_name = index_name (+)

and tablespace_name in

(自己选择的表空间)

order by 1, 2

/

!date

spool off

set heading on

set verify on

set feedback on

set echo on

REM UNCOMMENT TO AUTO RUN the generated commands

REM ELSE edit move_build.sql, modify as needed and run it

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有