awk 拼接字符

来源:互联网 发布:福汇软件下载 编辑:程序博客网 时间:2024/05/29 17:05
ORACLE 11g 新增了一个参数:deferred_segment_creation,从字面理解含义是段延迟创建,该参数取值范围是true和false,默认是true。具体是如果deferred_segment_creation为true,当新建表并且没有向其中插入数据的时候,这个表不会立即分配extent,即不占数据空间,只有insert数据后才分配空间,这样做可以节省少量的空间。如果deferred_segment_creation为false,那就和之前版本创建表一样,创建时即分配extent。 一、问题提出    如果deferred_segment_creation为默认值,当通过EXP命令来导出整个用户时,所有没有数据的表都导不出来。二、问题分析    1、新建表没有分配extent,在user_segments视图中必然查不到,但是在user_tables中是可以查到的。这样就可以找出哪些表是没有创建extent的:        select * from user_tables where table_name not in (select segment_name from user_segments where segment_type = 'TABLE');    2、通过alter table xxx allocate extent 语句立即为其分配extent:        alter table t1 allocate extent (size 64k);# cat a1 | awk  '{print "alter table "$1" allocate extent (size 64k);"}'^C# cat a1 | head -10ACCEPT_INFOACCT_FILEACCT_ITEMACCT_RECORD_INFO2ACCT_RECORD_INFO3ACCT_TRAN_ATTRACPT_DANG_VERIACPT_MATE_BILLACPT_PAY_MATUACPT_SIGN_MONEY[root@zjtlcb ~]# cat a1 | awk  '{print "alter table "$1" allocate extent (size 64k);"}'alter table ACCEPT_INFO allocate extent (size 64k);alter table ACCT_FILE allocate extent (size 64k);alter table ACCT_ITEM allocate extent (size 64k);alter table ACCT_RECORD_INFO2 allocate extent (size 64k);alter table ACCT_RECORD_INFO3 allocate extent (size 64k);alter table ACCT_TRAN_ATTR allocate extent (size 64k);alter table ACPT_DANG_VERI allocate extent (size 64k);alter table ACPT_MATE_BILL allocate extent (size 64k);

原创粉丝点击