用sqlplus进行copy数据的问题

本文介绍了解决ORA-01653错误的方法,通过在另一个具有足够空间的表空间创建新表并插入数据来规避原有表空间不足的问题。

今天用sqlplus进行copy数据,发现这个Error: ORA-01653: unable to extend table SX97.JNSX_JYZ by 128 in tablespace TB_93_03。

意思是说不能对表进行扩展,怀疑是表空间TB_93_03的空间不够。既然在不能对TB_93_03表空间进行扩展的情况下,是否可以将从CMPR库中的表SX_JYZ指定给SXBK库的特定一个表空间?

一、先在SXBK库中找出所有表空间的情况:

select TABLESPACE_NAME, sum(bytes)/1024/1024 from dba_free_space
group by TABLESPACE_NAME;

TB_93_03 32.1875
TB_97_01 239.125
TB_97_02 44.75
TB_97_04 2205
TB_97_05 80.625

现发现TB_97_01有足够的空间。

二、在SXBK库的TB_97_01下新建SX_JYZ表。

create table SX_JYZ
(
PRODID VARCHAR2(15 CHAR) not null,
SERV_ID VARCHAR2(30 CHAR),
PROD_ID VARCHAR2(15 CHAR),
PART_NUM VARCHAR2(50 CHAR),
NAME VARCHAR2(100 CHAR) not null,
STATUS_CD VARCHAR2(30 CHAR),
PRODVALUE VARCHAR2(250 CHAR)
)
tablespace TB_97_01
pctfree 10
pctused 40
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);

三、insert数据。

sqlplus sx/sx@sxbk;

set arraysize 5000;--设置数列大小为5000;

set autocommit 1000;--设置1000条提交一次;

copy from r5/r5@cmpr insert sx_jyz using select * from sx_jyz;

『注』这方法相对比较的笨,不知道直接copy from 命令中可不可以直接指定给某个表空间?

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9460545/viewspace-964556/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9460545/viewspace-964556/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值