oracle 指定表空间进行导入

昨天导数据,出现如下问题:
建立用户:create user dvboss_bak identified by passwd default tablespace dvbcetus temporary tablespace temp;
授权:grant resource,connect to dvboss_bak;
            grant dba to dvboss_bak;
导入表数据:imp dvboss_bak/passwd file=ow_iptv_bill20071106.dmp fromuser=dvbcetus touser=dvboss_bak;
在导入完成后,发现在指定的用户的表空间下没有增长任何数据。
查看该表导入的实际表空间:select t.table_name, t.tablespace_name from dba_tables t where t.table_name = 'OW_IPTV_BILL';
却发现在dvboss表空间中。突然想起来以前也发生或类似的情况,不过当时是drop原表空间的。但这次不可以了,原表空间还是有用的,而且目前空间已经不足以存放这个表的数据了。所以得从根本上想办法了。网上找了很多资料,发现有一种方法很多人介绍,但却缺乏实际的步骤,让我这个菜鸟不懂怎么做。于是只好自己边找资料边摸索。以下是我具体执行的步骤:
bash[oracle@cetus1:/oracle/dvbossbak/sqlfile]=>sqlplus '/ as sysdba'

SQL*Plus: Release 8.1.7.0.0 - Production on 星期三 11月 14 08:41:15 2007

(c) Copyright 2000 Oracle Corporation.  All rights reserved.


连接到:
Oracle8i Enterprise Edition Release 8.1.7.0.0 - 64bit Production
With the Partitioning option
JServer Release 8.1.7.0.0 - 64bit Production

SQL> drop user dvboss_bak cascade;
drop user dvboss_bak cascade
*
ERROR 位于第 1 行:
ORA-01940: 无法删除当前已连接的用户


SQL> drop user dvboss_bak cascade;

用户已丢弃

SQL> create user dvboss_bak identified by passwd default tablespace dvbcetus temporary tablespace temp;

用户已创建

SQL> grant connect,resource to dvboss_bak;

授权成功。

SQL> grant dba to dvboss_bak;

授权成功。

SQL> revoke unlimited tablespace from dvboss_bak;

撤销成功。

SQL> alter user dvboss_bak quota 0 dvboss;
alter user dvboss_bak quota 0 dvboss
                              *
ERROR 位于第 1 行:
ORA-00969: 缺少 ON 关键字


SQL> alter user dvboss_bak quota 0 on dvboss;

用户已更改。

SQL> alter user dvboss_bak quota unlimited on dvbcetus;

用户已更改。

SQL> exit
从Oracle8i Enterprise Edition Release 8.1.7.0.0 - 64bit Production
With the Partitioning option
JServer Release 8.1.7.0.0 - 64bit Production中断开
bash[oracle@cetus1:/oracle/dvbossbak/sqlfile]=>ls
20071113.out     createindex.sql  createtbs.sql    createuser.sql
bash[oracle@cetus1:/oracle/dvbossbak/sqlfile]=>cd ../dmpfile/
bash[oracle@cetus1:/oracle/dvbossbak/dmpfile]=>ls
20071113.out              imp.sh                    ow_iptv24_20071106.dmp.Z
20071113_2.out            iptvbill0610.dmp.Z        ow_iptv_bill20071106.dmp
bash[oracle@cetus1:/oracle/dvbossbak/dmpfile]=>
bash[oracle@cetus1:/oracle/dvbossbak/dmpfile]=>ls
20071113.out              imp.sh                    ow_iptv24_20071106.dmp.Z
20071113_2.out            iptvbill0610.dmp.Z        ow_iptv_bill20071106.dmp
bash[oracle@cetus1:/oracle/dvbossbak/dmpfile]=>imp dvboss_bak/passwd file=ow_iptv_bill20071106.dmp fromuser=dvbcetus touser=dvboss_bak grants=n > 20071114.out 2>&1 &
[1] 24728
bash[oracle@cetus1:/oracle/dvbossbak/dmpfile]=>ps -fe|grep imp
  oracle 24731 24681  0 08:47:18 pts/2    0:00 grep imp
  oracle 24728 24681  4 08:47:04 pts/2    0:04 imp dvboss_bak/passwd file=ow_iptv_bill20071106.dmp fromuser=dvbcetus touser=dv
bash[oracle@cetus1:/oracle/dvbossbak/dmpfile]=>sqlplus dvboss_bak/passwd

SQL*Plus: Release 8.1.7.0.0 - Production on 星期三 11月 14 08:49:31 2007

(c) Copyright 2000 Oracle Corporation.  All rights reserved.


连接到:
Oracle8i Enterprise Edition Release 8.1.7.0.0 - 64bit Production
With the Partitioning option
JServer Release 8.1.7.0.0 - 64bit Production

SQL> set linesize 800
SQL> select * from dba_tables dt where dt.table_name = 'OW_IPTV_BILL';

OWNER                          TABLE_NAME                     TABLESPACE_NAME                CLUSTER_NAME                   IOT_NAME                         PCT_FREE   PCT_USED  INI_TRANS  MAX_TRANS INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE  FREELISTS FREELIST_GROUPS LOG B   NUM_ROWS     BLOCKS EMPTY_BLOCKS  AVG_SPACE  CHAIN_CNT AVG_ROW_LEN AVG_SPACE_FREELIST_BLOCKS NUM_FREELIST_BLOCKS DEGREE                INSTANCES             CACHE       TABLE_LO SAMPLE_SIZE LAST_ANALY PAR IOT_TYPE     T S NES BUFFER_ ROW_MOVE GLO USE DURATION        SKIP_COR MON CLUSTER_OWNER
------------------------------ ------------------------------ ------------------------------ ------------------------------ ------------------------------ ---------- ---------- ---------- ---------- -------------- ----------- ----------- ----------- ------------ ---------- --------------- --- - ---------- ---------- ------------ ---------- ---------- ----------- ------------------------- ------------------- --------------------- --------------------- ----------- -------- ----------- ---------- --- ------------ - - --- ------- -------- --- --- --------------- -------- --- ------------------------------

DVBOSS_BAK                     OW_IPTV_BILL                   DVBCETUS                                                                                             10         40          1        255          65536   251682816           1         249           50          1               1 YES N                                                                                                                             1                     1                N       ENABLED                         NO               N N NO  DEFAULT DISABLED NO  NO                  DISABLED NO 

可以发现,表已经存在于dvbcetus表空间中。
这样就从根本上解决了对已经存在的表空间的问题了。

但是问题还没有就此停止,由于表实在大(15G),想要不出个问题真的是很难。
导入是正常导入到指定的表空间了,但是由于参数设置上的问题。导了几次都是到
8G或4G的时候imp就断了。提示的错误是:

Import: Release 8.1.7.0.0 - Production on 星期三 11月 14 23:25:51 2007
 
(c) Copyright 2000 Oracle Corporation.  All rights reserved.
 

连接到: Oracle8i Enterprise Edition Release 8.1.7.0.0 - 64bit Production
With the Partitioning option
JServer Release 8.1.7.0.0 - 64bit Production
 
经由常规路径导出由EXPORT:V08.01.07创建的文件
 
警告: 此对象由 DVBCETUS 导出, 而不是当前用户
 
已经完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导入
. . 正在导入表                  "OW_IPTV_BILL"
IMP-00058: ORACLE 错误1653出现
ORA-01653: 表DVBOSS_BAK.OW_IPTV_BILL无法通过1574802(在表空间DVBCETUS中)扩展

IMP-00028: 上一个表的部分导入已回退: 回退 56087788 行

我晕啊,尝试修改表空间的参数:
initextents 100M;    --alter tablespace dvbcetus default storage(initextents 100)
nextextents 100M;  --alter tablespace dvbcetus default storage(nextextents 100)
maxextents 250;    --alter tablespace dvbcetus default storage(maxextents 250)
pctincrease 0         --alter tablespace dvbcetus default storage(pctincrease 0)
再次导入,数据增长很快,到晚上12点的时候搞定了。哎,好了。
select 一下也正常。

该建索引和约束了!问题再次出现。速度很慢。=:(

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值