关于oracle数据导入过程中遇到的
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了关于oracle数据导入过程中遇到的,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4209字,纯文字阅读大概需要7分钟。
内容图文
![关于oracle数据导入过程中遇到的](/upload/InfoBanner/zyjiaocheng/492/e9d6cf5479774c8da0946036da756826.jpg)
网上关于这个错误的介绍十分详细了,大概的意思就是所导入数据的表空间不足,给了几种解决的方法,我在下面罗列一下:
1,尝试删除表空间重新建立更大的。
2,修改表空间大小, ALTER DATABASE DATAFILE ‘表空间数据文件位置‘ size XXXm
3,将表空间设置为自动扩展即可,alter database datafile ‘D:\oracle\product\10.2.0\oradata\oracle\perfstat.dbf‘ autoextend on NEXT 200M MAXSIZE UNLIMITED
基本上网上的意见都是侧重在表空间大小上了,可是我在创建表空间的时候已经是自适应大小了啊。可以看到这些表空间最终大小均为32G,这也是块大小为8k是的最大表空间。
既然如此,那不应该会出现这个问题呀?
我又想到,既然这个问题是因为空间不足的原因,那会不会是oracle服务器上的空间不够了,毕竟是个50G的大文件。然后找老师要来了oracle的管理账号上服务器看了一眼。
可以发现,oracle安装在u01这个文件夹下面,通过查询我发现,这个目录属于/dev/mapper/vg_hadoopdn05-lv_root这个分区,而且这个分区明显装不下50g的文件表了。
到这里我才明白,老师装oracle的时候给我挖了坑,把oracle的数据存放位置直接默认在了安装目录下。
于是我考虑将其他分区空闲的空间分过来,并且看到了一个详细的教程:http://blog.csdn.net/wangmuming/article/details/46777285
写的十分详细,然而并没有什么卵用。因为上面那位小哥是在一个物理卷(PV)上进行的,而我们服务器上有好多硬盘,可能我技术不够,用上面的方法并没有成功的吧空闲空间切到oracle安装目录下。
再,,,,,后来,我又想到,既然是表空间数据文件在默认目录下放不下,那我能不能修改系统表空间的存放位置,即:将表空间文件剪贴到空闲空间大的分区,并告诉系统,表空间位置的变化。然后就这么做了,直接把文件复制到了1T的硬盘上,然后用这个SQL命令告诉系统表空间文件的位置变了:alter database rename file ‘原位置‘ to ‘新位置‘;
步骤:offline表空间文件->拷贝表空间数据文件到目的地->删除原文件->修改oracle表空间指向位置->online表空间文件。
然后我又开始导数据了
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
就这样过了一夜,最后数据导完了
哈哈,问题解决,周末可以休息会了。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
尾巴:
一下记录一下过程中学到的一些sql命令,备忘。
创建表空间create tablespace 表空间名
datafile ‘表空间数据文件名‘ size 1000M autoextend on next 50M maxsize unlimited;
统计表空间详情
SELECT UPPER(F.TABLESPACE_NAME) AS "表空间名称",
ROUND(D.AVAILB_BYTES ,2) AS "表空间大小(G)",
ROUND(D.MAX_BYTES,2) AS "最终表空间大小(G)",
ROUND((D.AVAILB_BYTES - F.USED_BYTES),2) AS "已使用空间(G)",
TO_CHAR(ROUND((D.AVAILB_BYTES - F.USED_BYTES) / D.AVAILB_BYTES * 100,
2), ‘999.99‘) AS "使用比",
ROUND(F.USED_BYTES, 6) AS "空闲空间(G)",
F.MAX_BYTES AS "最大块(M)"
FROM (
SELECT TABLESPACE_NAME,
ROUND(SUM(BYTES) / (1024 * 1024 * 1024), 6) USED_BYTES,
ROUND(MAX(BYTES) / (1024 * 1024 * 1024), 6) MAX_BYTES
FROM SYS.DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F,
(SELECT DD.TABLESPACE_NAME,
ROUND(SUM(DD.BYTES) / (1024 * 1024 * 1024), 6) AVAILB_BYTES,
ROUND(SUM(DECODE(DD.MAXBYTES, 0, DD.BYTES, DD.MAXBYTES))/(1024*1024*1024),6) MAX_BYTES
FROM SYS.DBA_DATA_FILES DD
GROUP BY DD.TABLESPACE_NAME) D
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
ORDER BY 4 DESC
删除表空间
DROP TABLESPACE 表空间名 INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;
表空间上下线
alter tablespace 表空间名 offline/online;
查询表空间数据文件位置
select file_name , tablespace_name from dba_data_files;
等等,还有一些linux服务器命令。就不一一罗列了。以后需要再查。
最后附上LVM结构图,很有用的一个东西。
关于oracle数据导入过程中遇到的
标签:开始 block mit 系统表 taf 默认 无法 关于 有用
本文系统来源:http://www.cnblogs.com/hikikomori/p/7583238.html
内容总结
以上是互联网集市为您收集整理的关于oracle数据导入过程中遇到的全部内容,希望文章能够帮你解决关于oracle数据导入过程中遇到的所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。