大文件导入oracle

昨晚用imp把一个8g的dbf试着导入oracle,早上起来发现报错了。

oracle11g–ORA-01653: 表 无法通过 8192进行扩展什么的。。。

查了下发现应该是表空间不够了。于是今天试图解决这个问题。

早上先是 查看了所有表空间物理文件的名称及大小

SELECT tablespace_name, 
file_id, 
file_name, 
round(bytes / (1024 * 1024), 0) total_space 
FROM dba_data_files 
ORDER BY tablespace_name; 

发现了表空间的存储位置- -。。D:\app\lenovo\oradata\orcl

然后发现一个奇怪的事情undotbs.dbf特别大,本来想查下原因,后来想到昨天某人的解决方法,对,就是重启。。。重启好竟然发现undotbs变小了噗。

发现最大的那个是system01.dbf应该就是我导进去的半个文件所在的表空间咩


下午回来继续

开监听,有个叫oracleServiceOrcl的服务一定要起来。。不然报错oracle-12560协议适配器错误。

用的cmd窗口,连sqlplus。system用户登录。

本来查看表空间system里残留的表?文件?数据库实例?好吧我也不知道叫什么...总之就是那个特别大的。。但是没找到方法怎么看。


不管了反正就是要先把之前导残的半张表删掉嘛。。首先要判定下system正常是多大。。

系统表空间正常情况下只存放了数据字典之类的东西,所以占用的空间一般在500M以下。

啊那么我那个8g的file竟然膨胀成30g啦?。。


对这说明了system可能是有个默认的上限35g.等下重新导的时候要开unlimited

然后我在网上看到!

system表空间不能删掉,删掉的话只能重装。
用Oracle的管理器打开system用户实例,把你在里面建的表一个一个删除,系统表千万不要删除。系统表的名称有一定规律的,容易识别。
泪奔。。。对这个过程中 有个歪楼的问题我一直在考虑就是到底oracle自带有没有图形界面啊。。后来看网上说有:

OEM(网页形式管理ORACLE)但是我的oracle里没有这个啊。。。
iSQLPlus(网页形式进行查询,增删改等操作)我也没见到
SQLPlus (图形界面登录进行各种操作) 啊我的打开来是cmd窗口。。

啊然后发现虽然直接点oracle里的sqldeveloper不能运行,但是去运行sqldeveloper然后连接oracle可以。

也算是个惊喜- -

打开以后在system里面找到了我之前导了一半的表,于是知道了表名xxx。然后就 drop table xxx..drop了300+s才好..中间我一度认为又要down机了...

然而删完以后确实表不在了。。可是表空间!那个目录下的system01.dbf还是一毛一样的33546248kb啊啊啊是怎么个gui。。好吧我又自行回放了一遍上面红色的部分。好幽怨。


查下表空间吧

SELECT a.tablespace_name                        "表空间名",
       total                                    "表空间大小",
       free                                     "表空间剩余大小",
       ( total - free )                         "表空间使用大小",
       Round(( total - free ) / total, 4) * 100 "使用率   %"
FROM   (SELECT tablespace_name,
               Sum(bytes) free
        FROM   DBA_FREE_SPACE
        GROUP  BY tablespace_name) a,
       (SELECT tablespace_name,
               Sum(bytes) total
        FROM   DBA_DATA_FILES
        GROUP  BY tablespace_name) b
WHERE  a.tablespace_name = b.tablespace_name

这次可以在sql里运行了

结果如下



anyway不管了,下面开始重新导入。

这次我学聪明了- -先新建一个大文件表空间,不能再用system了。


那用bigfile吧。然后可以了,灰常慢。。搜了一下,创建表空间1G大概15到20秒,2G大概30到40秒左右。哭哭。。BE PATIENCE...


啊下面可以重复昨晚的过程了。。imp...

总算在睡觉前把数据导上了,明早醒来一定是导入成功界面一定是哈哈哈


啊送一句之前big data课上的特别有意思的定义。

You asked me what is big data...

A simple concept is that the file EXCEL couldn't deal with....


晚安呀地球人。

你可能感兴趣的:(大文件导入oracle)