一次大批量数据备份和导入工作
有一个数据表的插入和删除操作比较频繁,在空之间没有释放。只有一个导出、删除和导入操作。
当前数据量:接近6亿
估计有些数据太老了,所以用条件导出。
$ >出口NLS _朗=美国_美洲。zhs 16 gbk
$ > exp user/pass file = XXX . DMP buffer = 409600000 tables = my bigtable query = \ " where some date \ > = XXX \ "
导出数据约3.7亿,在空之间占用约57G。
导出后删除原始表。
drop table mybigtable级联约束
引入
imp用户/密码文件=XXX
导入本来是一个简单的操作,但是需要一个很大的临时表空间(最终占用了12G)。
需要一个大的空房间来存储temp01.dbf文件。
01.清除空并传输temp01.dbf文件
(Oracle9i或更高版本)
确保没有其他人或其他任务正在首先操作数据库。
因为原来的temp文件已经占用了大量的空空间,而磁盘中没有足够的空空间来存储该文件。所以在清空空原文件的基础上,将文件设置在另一个磁盘中。
alter database tempfile '/opt/Oracle/oradata/orcl/temp 01 . DBF ' drop包括数据文件;
alter tablespace temp add tempfile '/new place/temp 01 . DBF ' size 512m在下一个250M maxsize无限制时自动扩展;
位律师回复
0条评论