把Oracle的数据导到另一个数据库中,用SQL 2008做ssis,发生错误ORA-01653

[SSIS.Pipeline] Information: The buffer manager detected that the system was low on virtual memory, but was unable

to swap out any buffers. 0 buffers were considered and 0 were locked. Either not enough memory is available to the

pipeline because not enough is installed, other processes are using it, or too many buffers are l[OLE DB Destination

[34]] Error: SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR.  The "input "OLE DB Destination Input" (47)"

failed because error code 0xC020907B occurred, and the error row disposition on "input "OLE DB Destination Input"

(47)" specifies failure on error. An error occurred on the specified object of the specified component.  There may

be error messages posted before this with more information about the failure.
ocked.

[OLE DB Destination [34]] Error: SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code:

0x80004005.
An OLE DB record is available.  Source: "Microsoft OLE DB Provider for Oracle"  Hresult: 0x80004005  Description:

"ORA-01653: 表STAT.S[OLE DB Destination [34]] Error: SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has

occurred. Error code: 0x80004005.
An OLE DB record is available.  Source: "Microsoft OLE DB Provider for Oracle"  Hresult: 0x80004005  Description:

"ORA-01653: 表STAT.STAT_CLIENT_USERRECORD无法通过1024(在表空间STAT中)扩展
".
24(在表空间STAT中)扩展
".

 

解决方法:

     发现是由于Oracle的表空间用完了,导致导入数据失败。

 

 网上解决方法修改Oracle表空间的方法:

 

 

     ----查询表空间使用情况---
使用DBA权限登陆
SELECT UPPER(F.TABLESPACE_NAME) "表空间名",
D.TOT_GROOTTE_MB "表空间大小(M)",
D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') "使用比",
F.TOTAL_BYTES "空闲空间(M)",
F.MAX_BYTES "最大块(M)"
FROM (SELECT TABLESPACE_NAME,
ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES
FROM SYS.DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F,
(SELECT DD.TABLESPACE_NAME,
ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
FROM SYS.DBA_DATA_FILES DD
GROUP BY DD.TABLESPACE_NAME) D
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
ORDER BY 4 DESC;
表空间名                       表空间大小(M) 已使用空间(M) 使用比 空闲空间(M) 最大块(M)
------------------------------ ------------- ------------- ------- ----------- ----------
...
CCEN                                      10           8.5   85.00         1.5        .94
...

发现表空间只有1.5M的空闲,猜测可能是表空间自动扩展失败的问题(表空间的增长量太高,ORACLE默认是50%),修改表空间文件扩展方式:


SQL>ALTER DATABASE
    DATAFILE '/u01/oracle/oradata/orcl/ccen01.dbf' AUTOEXTEND
    ON NEXT 50M MAXSIZE UNLIMITED
问题解决.


查看表空间是否具有自动扩展的能力
SELECT T.TABLESPACE_NAME,D.FILE_NAME,
D.AUTOEXTENSIBLE,D.BYTES,D.MAXBYTES,D.STATUS
FROM DBA_TABLESPACES T,DBA_DATA_FILES D
WHERE T.TABLESPACE_NAME =D.TABLESPACE_NAME
ORDER BY TABLESPACE_NAME,FILE_NAME;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值