这里说的大数据只是相对来讲,试验用的数据大小为4GB...
先描述下出现的状况,首先,用vmware workstation 9 新建一个虚拟机,安装CentOS 6,在Oracle官方下载了联机文档,安照官方的文档一步一步操作。(其实安装次数多了也就明白了,安装oracle无非是做好这些工作:1,必须有图 形界面。2,所需要的包要安装齐全。3,更改内核参数。4,建立用户,以及组群。5,安装目录授权)之前oracle一直没有RHEL6的安装文档,现在 有了,我下载了最新的oracle数据库安装文件(怕老版本检测那关通不过)。这是官方文档下载地址:http://www.oracle.com/technetwork/database/enterprise-edition/documentation/index.html
在这里我罗嗦一下,发现个奇怪问题,所依赖的包全部安装完毕之后,安装oracle软件时候,检测好多软件包没装,我挨个查,确定100%安装了,但是就 是检测没安装(安装的软件包比它要求安装的要新),不过,文档写的很清楚,or laster ,明明支持更新的版本...
当自己确认了,没问题了,直接ignore all 忽略所有,继续安装,一路顺畅,没有报错~~
上面只是说了一下安装时候有点有郁闷,在RHEL5上安装就很好,这方面应该是oracle的问题。下面,就是导入数据遇到的问题,当我安装好了数据库, 创建了表空间,开始导入数据的时候,之前一切顺利,后来卡在半路死活不动。我以为虚拟机假死,问候了vmware好几次。可是我发现在虚拟机下干嘛都很 快,但是就是倒入一半就死掉了。死活不动了。如果这时候你用ctrl+c,强制终止的话,你关掉虚拟机再开机就会报错露,很经典的错误。ORA-03113: 通信通道的文件结尾(错误解决)这个链接大家看看。
后来知道,会话没结束就强制终止了所以才会出现如此错误。如果真的强制结束了没关系,把会话也结束掉就可以了。
select sid,serial#,status,server from v$session where username='ABC'; ----ABC就是用户啦~
oracle会通过系统标识符(system Identifier,SID)和序列号(Serial Number,SERIAL#)唯一标识一个会话。看看处于活动状态的(active)的会话是哪个,把它结束掉。
alter system kill session '7,15';
这里举个例子,终止会话(SID=7,SERIAL#=15)。
把会话结束掉就不会有ORA-03113的错误问题了。
后来发现,造成以上现象的问题在于----归档!!
归档的日志空间满了,所以一直卡在那里不动了!有两个办法解决这个问题,1:增加归档日志空间(我默认安装好之后是4GB),2,删除一些归档日志。
一:增加归档日志空间大小
select * from v$recovery_file_dest;
show parameter db_recovery_file_dest
查看归档日志大小,以及空间使用情况。
alter system set db_recovery_file_dest_size=20G;
二:删除归档日志(以下复制于网络文章)
以ORACLE用户身份登录到数据库服务器
进入ORACLE数据备份工具
rman target/
或rman target/@orcl
2.在命令窗口里面执行
DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';
说明
SYSDATA-7,表明当前的系统时间7天前,before关键字表示在7天前的归档日志,如果使用了闪回功能,也会删除 闪回的数据。
同样道理,也可以删除从7天前到现在的全部日志,不过这个命令要考虑清楚,做完这个删除,最好马上进行全备份数据库。
DELETE ARCHIVELOG FROM TIME 'SYSDATE-7';