ITPub博客

首页 > 数据库 > 数据库开发技术 > 用sqlplus进行copy数据的问题

用sqlplus进行copy数据的问题

原创 数据库开发技术 作者:yuchengzhong 时间:2007-08-20 18:25:59 0 删除 编辑

今天用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博客 ” ,链接:https://blog.itpub.net/9460545/viewspace-964556/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    56
  • 访问量
    1675586